ArduinoArchive: Arduino

Page 3 of 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

July 5, 2011

バージョン1.0目前のWiringがなかなかイイ感じ

WiringF.jpg

少し前に、WiringのことがTLで話題になっていました。WiringはArduinoの兄貴分とも言えるオープンソースプロジェクト。普及度では弟分のほうに勢いがありますけど、開発環境の着実な進歩という面では少し先を行っている感もあります。

そのWiringがバージョン1.0へのメジャーアップデートを目前にしています。TLで言及されていたのは、それが理由。現在、IDEのRC3版が公開されています。また、最新ボードWiringSの販売も始まっている模様。いくつもの新機軸がありますけど、1点だけあげるとしたら ATmega644Pの採用に着目したいですね。

WiringSは、Arduino Unoに使われているATmega328Pと、Arduino Megaで使われているATmega2560の中間に位置するマイコンATmega644Pを搭載することで、バランスの良いボードになっています。Arduino Unoに比べるとメモリもピン数も多くシリアルポートも2つあります。それでいてMegaより小さく低コスト。DIPタイプもあるので、ブレッドボード上での自作も可能です。

上の写真は、秋月電子で販売中のATmega644P (450円)を使って作った、WiringS互換回路。Wiring 1.0RC3 とそれに付属するWiringS用ブートローダとの組み合わせで動いてます。Unoじゃ弱いけど、Megaでは大きすぎだし高すぎ、と感じる状況があったわけですが、これからはこの選択肢も考慮にいれたいと思います。

Posted by Takumi Funada | Jul 5, 2011 01:00 AM
Arduino | Permalink | Comments (0)

July 1, 2011

Android ADK開発の旅: ハードウェア編

ボクのAndroid伝説も、Android SDKとEclipseもすべて順調に走ってAndroidエミュレータにHello Worldが表示できる段階に到達したところで、ここがとても重要なステップであることはわかってるけど、これでは飽き足らない。本物のハードで走らせたい! Nexus Oneで走らせるのだ。

ボクは携帯が対応するようにシステムをOS version 2.3.4(Gingerbread)に更新した。ADKとUSBホスト機能は2.3.4以上でないと使えないからだ。このガイドの手順に従って携帯を開発モードに切り替える。重要なのは、携帯のApplications > Developmentモードを「USB debugging」にして、EclipseのHelloWorldプログラム用の AndroidManifest.xmlファイルの中の「Debuggable」フラグを「true」にすることだ。

これで、HelloWorldを、エミュレータではなくEclipseから走らせると、アプリが携帯にアップロードされて実行される。ここまでは難なくできた。さあ、これでADKに進む準備ができた。

ADKを使うためにインストールする必要があるものについては、これまたAndroid Developerのウェブサイトに丁寧な解説がある。まずは、Arduino IDE 22がインストールされていることを確認する。次に、ADK packageをダウンロードして展開する。これには、必要なArduinoライブラリ(USBホスト機能、Open Acessory Protocolライブラリ、それに デモシールドの小さな金色のAndroidロボットに触って登録するときのためのCapSenseライブラリ)、DemoKit Androidアプリ、関連するDemoKit Arduinoスケッチが入っている。また、自作したい人のために、ADKボードとデモシールド用の製作ファイルも含まれている。ボクは、Arduinoソフトウェアを使ってDemoKit.pdeスケッチをADK Arduinoにアップロードした。

Android DemoKitアプリケーションをコンパイルして走らせるには、その前に、Google APIs Level 10アドオンライブラリをインストールしておく必要がある。ここにはちょっとつまづいた。Eclipseの「Android SDK and AVD Manager」で、 SDK Platform API 10(すでに持ってる) と、本当に必要なGoogle APIs Android API 10とを間違えてしまったからだ。さらに、Eclipseプロジェクトを、Androidターゲットプラットフォームではなく、Google APIターゲットで作るように設定してしまった。DemoKitアプリケーションは、インターネットが助けてくれるまで大量のエラーを吐き続けた(さんざん悪態をついたり物を投げつけたりしたが、ここでは言わないでおこう)。

それが解決すると、DemoKitアプリケーションを「debuggable」に設定できるようになり、携帯電話で走らせることに成功した! Androidアプリをアップロードしている間はArduinoを携帯につなぐことができなかった。なので、こんなグルーヴィーな画像が現れた。

(このとき偶然にも、Android Centralで携帯電話のスクリーンショットをコンピュータに取り込むといういい方法を発見できた)

興奮とともにマウントと完了し、携帯からのUSBケーブルをコンピュータから引き抜き、ADK Arduinoボードに付け替えた。こいつには12ボルトの電源がACアダプタから供給されている。携帯でDemoKitアプリを立ち上げる。すべて問題なく動いた! アプリは2つのモードがある。入力と出力だ。入力モードでは携帯のDemo Shieldの温度センサ、光センサ、2軸ジョイスティック、3つのボタン、静電容量ロボットパッドからのデータが表示される。

出力モードでは、スライダを使って3つのRGB LEDの明るさ(めちゃくちゃ明るい)や色の調整、3つのサーボの制御、2つの12ボルトリレーの開閉がタップでできる。

DemoKitアプリでさんざん遊んでみた。LEDの色のミキシングでは目が見えなくなるほどだった。リレーの開閉や、Nexus Oneの可愛い画面で入力データを見たり。ADKハードウェアを、びっくりするような使い方をする奇抜なアイデアのAndroidアプリが作られる可能性は無限にある。だけど今は、Arduinoでナイスなタッチスクリーンが使えるというだけでボクは感激だ。

下のビデオは、ボード上のサーボを連続回転するように設定したところと、LEDで遊んでいるところだ。

- John Park

Android ADK開発への旅:準備編

原文

Posted by Tetsuo Kanai | Jul 1, 2011 12:00 AM
Arduino, Cellphones, Computers | Permalink | Comments (0)

June 29, 2011

オープンソースのジェネラティブミュージック発生機

Teague labsは、楽しいArduinoベースのプロジェクト、generative music発生機を作った。極限まで単純化したインターフェース、Muzeを使って演奏する。楽器を直接弾くというのではなく、色分けされたノブを差し込んでスコアをいろいろな角度から変化させたり、影響を与えたりする。こいつと一緒に演奏したい人は、コードEagle 回路図を彼らのサイトからダウンロードしてほしい。

Muze: a musical instrument that plays with you(英語)

- Adam Flaherty

原文

Posted by Tetsuo Kanai | Jun 29, 2011 12:00 AM
3D printings, Arduino, Electronics, Music | Permalink | Comments (0)

June 28, 2011

7セグLEDサイズのArduino互換ボード

seg78.jpg

桑田喜隆さんが試作した7segduinoは、4桁7セグメントLEDと同じサイズのArduino互換ボード。秋月電子で取り扱っている高輝度な7セグLEDを簡単に使うことができます(写真にはLEDを削って1/6Wの抵抗を収めた様子が写ってますが、これは手持ち部品の都合で本来のデザインとは違います)。基板の設計やライブラリに関する情報が下記のURLで公開されています。

7segduino

Posted by Takumi Funada | Jun 28, 2011 01:00 AM
Arduino | Permalink | Comments (0)

June 27, 2011

Android ADK開発への旅:準備編

GoogleからもらったArduinoベースのアクセサリ開発キット(ADK)に興奮したボクは、初めてのAndroid開発に着手することにした。言っておくけど、ボクはプログラマじゃない。Maya(CGアニメーションソフト)のMELスクリプト開発とArduinoのコーディングの経験があるけど、Androidのアプリで使う本気のJava言語を使ったアプリケーション開発に比べたら、ぜんぜん簡単なもの。これはステップ・バイ・ステップの解説ではない。ボクが学んでいく過程での感想や体験を紹介していこうという趣旨だ。

まずは、自分のマシンにAndroid開発環境を整える。ボクはiMacでOS X 10.6.7を使っている。だけど、Windows、Mac、Linux のいずれでも開発は可能だ。

Learning Android(Marko Gargenta著:実はこの本の発行元であるO'Reilly MediaはMakeの親会社でもある)の Quick Startの章をざっと読んで、指示に従って作業を進めた。内容は、Android Software Developers Kit (SDK)、Javaデベロッパー用のEclipse Integrated Development Environment(IDE)、Eclipse用 Android Development Tools(ADT)プラグインのインストールだ。Googleが製作したこのガイドがセットアップの役に立った。

で、これはいったい何をするもんなんだ? Android SDKとは、Androidアプリを作るときに必要となるコードの基礎とツールセットだ。Eclipse IDEは、ADTプラグインと組み合わせることで、プログラムの書き込み、デバッグ、コンパイル、エミュレート、実行、そして最終的にはAndroidアプリを実際のハードウェアで使えるようにパッケージ化するためのもの。

これらのツールをすべてインストールして、設定を済ませたら、いよいよ初めてのプログラムを行う番だ。『Learning Android』のQuick Startの章では、簡単なアプリの作り方をウォークスルー形式で教えてくれる。約束と無限の可能性を表すあの言葉を画面に表示するためのプログラムだ。それは「Hello World」。

Android Virtual Deviceを作ると、自分で作ったアプリをデスクトップ上の仮想携帯電話の画面に表示できる(いちばん上の写真)。たいしたアプリじゃないのはわかってるけど、プログラムが予定通りに動くのってホントに気分がいい。ここから別のチュートリアルに飛び込める。あれこれいじくりまわして、自分だけのアプリが作れるようになるのだ。次は、 Android Developersのサイトにあるレイアウトとウィジェットとビューのチュートリアルをやってみようと思う。

次回は、エミュレータから卒業して実際の携帯電話でアプリを動かしてみたい。どうぞお楽しみに。ご意見や質問があったら、コメントに書いてね。

- John Park

原文

Posted by Tetsuo Kanai | Jun 27, 2011 12:00 AM
Arduino, Cellphones, Computers, Education | Permalink | Comments (0)

June 21, 2011

Android ADKロボット・タブレットインターフェイス

AndroidタブレットとArduinoベースのADKを使ってサーバをコントロールするというこのデモが最高。これをYouTubeにアップしたchrisjrelliotによれば、「作り方の解説は今製作中で、コードも間もなくオープンにします」とのこと。こいつはまさに、ボクの Android ADKの開発意欲に火を付けてくれるものだ。

- John Park

原文

Posted by Tetsuo Kanai | Jun 21, 2011 12:00 AM
Arduino, Robotics | Permalink | Comments (0)

June 8, 2011

AndroidとArduinoを使ってQSteerを動かす(非ADK)

Android Open Accessory Development Kit(ADK)は使いたいけど、自分のAndroid端末は3.1でも2.3.4でもないからムリ......という人は少なくないと思います。でも、ほかにもつなぐ方法はあるんですね。
MicroBridgeはAndroid Debug Bridge (ADB)のマイコン向け実装例。すいません、それ以上の説明はできないんですが、大事なのはこの仕組みを使えば、Android 1.5以上の端末とUSB Hostシールドを搭載したArduinoがつながってしまうという点です。
いわたんさんによる作例では、Android 1.6を搭載したIS01が使われているようです。問題なさそう。楽しそう。

いわたんlab 日記 - AndroidとArduinoを使ってチョロQを操縦する

Posted by Takumi Funada | Jun 8, 2011 01:00 AM
Arduino | Permalink | Comments (0)

June 7, 2011

Android Open Accessory Development Kitをいじってみる

昨日、GoogleはArduinoベースのオープンなアクセサリーキットを発表した。今すぐ発売というわけではないが、それ (か、ここでお見せしているようなもの) が間もなく発売されることだろう。ADKの一部となるデザインファイルは、ここからダウンロードできる。(編注:元記事は5/11に掲載されました。翻訳記事の掲載が遅くなってしまったことをお詫びします。)

注意: 私が理解したかぎりでは、これは Circuits@Home USB Host Shieldをベースにしている。このシールドを持っている人がいたら、ぜひサンプルのアプリケーションがそれで動くかどうか試してみてほしい。その結果を、ぜひ知らせてくれ。デモキットでは、センサーやアクチュエータは自分で配線することになっているが、ボタン、LED、リレーなどは非常に簡単に接続できる。警告:これを試すとき、電話機はUSBホストシールドから電源を取ろうとするので、Arduinoを外部電源で駆動している場合は電圧レギュレータが大変な高温になる恐れがある。そうなると、USBを使っているときは、コンピュータがUSBポートを閉じてしまう。対策としては、5ボルト電源を供給して電圧レギュレータをバイパスさせるか、大容量のUSB電源アダプター(iPadや一部の携帯電話に付属しているようなもの)を使うことだ。

Googleは、Google I/O 2011で数百セットを無料配布した。私も今それを持っている。箱の中にはマイクロサーボが2つとボタンとLEDとリレーなどを搭載したシールドが入っている。ボードは、Arduino Megaの設計を基本に、USBホストモジュールを追加したものだ(ということは、Androidと接続するためのものと、コンピュータと接続してプログラムの書き込みやシリアルモニタを行うためのものと、2つのUSBポートがある)。

詳しい説明はこれ (英語)を読んで欲しい。ここでは、いくつかのハイライトと、私がわかりづらいと感じたことをコメントしたい。

開始するためには、Arduino Software をダウンロードして、Googleが提供するアドオンライブラリをいくつか と、Arduino Playgroundのライブラリをひとつ(CapSense)インストールする必要がある。Googleの説明では、Arduino(開発環境)をインストールしたディレクトリにライブラリをインストールしろと書いてあるが、私は、Arduinoのスケッチのフォルダにあるlibrariesにインストールしたほうがいいと思う(ArduinoフォルダでSketchをクリックし、Show Sketch Folderをクリックして、ひとつ上のレベルに移動する)。ライブラリをインストールしたら、Arduino(開発環境)を、かならず終了して再起動する。

次は、Arduino互換ADKボードにデモスケッチをインストールする。
これは簡単だ。次に、Eclipse開発環境に入り、アプリをコンパイルして電話機にインストールできるようにする。Android開発環境がない場合は、ダウンロードとインストールと設定に1時間ほどかかるので覚悟しておこう。そのあと、この指示に従う。Android SDKがセットアップできたら、Google APIs level 10 add-on libraryをインストールして、サンプルアプリをインポートして電話機に送る。この解説に、詳しい方法が書かれている。私のようにGoogle APIs level 10 add-on libraryが見つけられないときは、Third party add-onsの中を見てほしい。

アプリがうまく起動すれば、あとはデモボードをいじって遊べるようになる。タブで入力 (ボタン、容量センサ、ジョイスティック、温度、光量)をコントロールできるものや、出力(サーボ、LEDなど)をコントロールできるものもある。さあ、遊んでみよう!

Flickr Photo Set: Android Open Accesory Development Kit at Google I/O 2011

- Brian Jepson

原文

Posted by Tetsuo Kanai | Jun 7, 2011 12:00 AM
Arduino, Cellphones | Permalink | Comments (0)

June 3, 2011

MTM Snap - はめ込み式CNC

MTM SnapはMITの Center for Bits and Atoms所長、Jonathan Wardが開発したもの。コストは約500ドル。Arduinoで駆動する。HDPE(高密度ポリエチレン)製で、加工範囲は5×3×1.75インチ(約12.7×7.6×4.4センチ)。自分で作りたい人のために、設計ファイル部品リストが公開されている。[Arduino blog より]

- John Baichtal

原文

Posted by Tetsuo Kanai | Jun 3, 2011 12:00 AM
Arduino, Toolbox | Permalink | Comments (0)

June 2, 2011

設定不要、ArduinoからiPhoneへUIを送る、Ciao

3256.jpg

CiaoはArduinoとiPhoneをつなげるためのライブラリ群です。専用のiOSアプリ"Ciao"を使って、LANに接続されているEthernetシールド搭載Arduinoにアクセスすることができます。このアプリは有料なので(4.99ドル/600円)、試すには勇気が必要ですが、気になったので購入しました。わずかなセットアップ作業ののち、作者のMichael Colagrossoさんが言うとおり、とてもイージーにArduinoとiPhoneが話を始めました。

おもな特徴は次の2つ。

・LAN上のArduinoを自動的に発見
CiaoはBonjourを使ってLANに接続されているArduinoを自動的に見つけ、コネクションを確立します。ネットワークインタフェイスの設定はまったく不要。接続後はTCP/IPベースの人間にとって可読性の高いプロトコルでやりとりします。Ethernetシールドの使用が前提ですが、PC上で動作するProcessingスケッチを経由して、USBで接続されたArduinoと通信することも可能なようです。

・iPhone上のUIをArduinoスケッチから生成
Arduinoに実装されている機能とそれをコントロールするiPhone側のユーザーインタフェイス(UI)をどうやって適合させるか。この課題にCiaoは解決策を用意しています。たとえば、ArduinoにLEDが3個ついていて、iPhoneでそれをオンオフしたいとしたら、iPhone上に3つボタンが並んでいるのが自然です。でも、Arduino側のハードウエアは変幻自在。LEDを10個付けることだってできるし、単純なオンオフ以外の操作が欲しいケースもあるはずです。そうした雑多なハードウエアに対応できる単一のUIを用意するのは不可能ですね。かといって、ユーザーが自分用のiPhoneアプリを目的ごとに作るのは大変。作れたとしてもハードウエアごとに個別のアプリがあったら混乱の元です。Ciaoの解決策はシンプルで、ArduinoのスケッチでUIを定義し、iPhoneアプリはArduinoからのリクエストに応じて必要なUIを生成し処理する、という方法です。LEDに対応するボタンが3つ必要なら、スケッチでそう定義します。LEDの制御とボタンの生成がひとつのコードに集約されているので、わかりやすいです。iPhone側のアプリは1種類でOK。うまいやりかたですね。

ドキュメントとサンプルが豊富に用意されており、コードの見通しも、やっていることが複雑なわりには良い印象です。スケッチの改造はすぐできました(iPhoneからLEDチカチカ)。もちろん、物足りない面はありますし(ボタン以外のUI部品も欲しいなあ)、他の方法と比べて決定的に有利とは言えない段階ですが(http/htmlの自由度と汎用性を取る方が正解?)、プロトコルからクライアント/サーバの仕組み全体を作ってわかりやすく提案している作者の発想を知ることは勉強になりました。さらに独自性のあるシステムに発展することを期待してます。

Posted by Takumi Funada | Jun 2, 2011 02:00 AM
Arduino, iPhone | Permalink | Comments (0)

May 27, 2011

Teagueduino登場

Arduinoでもまだフレンドリーじゃないという人たちのために、Teague LabsからTeagueduinoが登場した。ブレッドボードも難しいって? コードなんてチンプンカンプンだって? つなぐだけで使えるコンポーネントと、リアルタイムで編集できるコードで、どんな初心者も今すぐいろんなものが作れてしまう。何かをダメにしてしまうなんて心配は、まったくない。 [ありがとう、Adam!]

Teagueduinoは、私たちのデザインスタジオと、オープンソースのArduino/Freeduinoコミュニティ(とくにLittleBitsとGrove System)での、長年にわたるハッキングと実験から生まれました。私たちの周りの技術屋連中は、Arduinoが出たと同時にハマりました。しかし、だんだんわかってきたことは、クリエイティブな人たちの大多数にとって、まだArduinoは技術的ハードルが高すぎて手が出せないということでした。Teagueduinoは、組み込み型装置の開発をうんと簡単にしたいという、私たちの目標への大きな一歩です。簡単でありながら、コードの文法、電気信号値、物理的なハードウェアの統合といった重要な機能も見えるようになっています。より高度なシステムやツールの開発への足場を提供します。

- Adam Flaherty

訳者から:各ピンの信号がグラフで見えるのがいいなー。

原文

Posted by Tetsuo Kanai | May 27, 2011 12:00 AM
Arduino, Electronics | Permalink | Comments (0)

May 20, 2011

GoogleがArduinoを選択したことの何が問題なのか、そしてこれは「Made for iPod」終焉なのか?

Why Arduino Google
先日、年に一度のGoogle I/Oがサンフランシスコのモスコーンセンターで開かれた。大勢の人や企業が集まった、巨大なドットコムど派手パーティーだ。特に、対象となるのが「Googleのクラウドとオープンウェブ技術を使ってアプリケーションを開発している、ウェブ、モバイル、企業向けの開発者...... I/Oで紹介される製品と技術はApp Engine、Android、Google Web Toolkit、Google Chrome、HTML5、AJAXとData API、Google TVなどなど」ということだが、Google TVとGoogle Waveに関しては、今年は大したことがなかった :) しかし、オープンハードウェアとモバイル関係の人間には、歴史上もっとも重要なイベントになったはずだ。

今週のコラムでは、Googleがオープンソースハードウェアのプラットフォーム(Arduino)をAndroid Open Accessoryキットに選んだこと、そして、どうしてそうなったかについて語りたいと思う。また、Googleはなぜうまくできたのかについても、ちょっと考えてみたい。そして、私がいつもこのコラムで行っている「予測」(なぜArduinoが勝利して今も生き続けているのか)をやろうと思う。 1) GoogleはAndroidとArduinoを組み合わせることでキネクトのような創造性の結集を実現する。 2) Appleは排他的な「Made for iPod」(TM) プログラムを破棄してアクセサリ開発に何らかの形でArduinoを採り入れる。 3) Microsoft/Nokia/Skypeはこれらすべてを注視し、Windows Phone 7用のアクセサリ開発にNetduinoの採用を考えるようになる。

モバイル関連企業が、これまで思いもつかなかったアクセサリで創造性あふれる電話市場の活性化を夢見るならば、これがそのための道筋だ。

それでは始めよう。

Androidに関するデータ(Google調べ):


すごいね。大勢の人がAndroid携帯を持っていて、Appleも安心していられなくなったはずだ。Googleは今週、Android Open AccessoryというAndroidプラットフォーム用アクセサリの製作を簡単にするために、Arduinoを使っていると発表した。素晴らしい。それなら我々もすぐに参入できる。彼らの発表を引用しよう。キーノートスピーチも見られる。

開発当初より、Androidはモバイルフォンを越えるものを目指してきました。それを念頭に、あらゆるAndroid機器上で使える新しいハードウェアアクセサリの開発を支援するAndroid Open Accessoryを開発しました。

ハードウェアの話は36:00のあたりから始まる。

ではなぜGoogleはArduinoを選んだのか?

30万ユニット以上ものArduinoが「野放し」状態になっているわけだが、学生から、Processingや教育などを通して、よくわかっていないで使っている人までを含めると、50万人以上の人が、なんらかの形でArduinoを使って何かをしていると思われる。前にも書いたとおり、マイクロコントローラプラットフォームとしては、Arduinoは勝利して生き延びている。コミュニティ、オープンなIDE、オープンハードウェア、ちゃんと動くドライバ、クロスプラットフォーム(非常に安価で、何かをしたいと思えば、今すぐにできる。実際、アナログセンサーのデータを読み取ったり、モーターを制御したりといったことを、Arduinoよりも簡単にできる方法はない)、重要なのはここだ。とくに、電話を使ってこれと同じことをしたいという場合はね。


世界中に何百万台という電話があり、Googleはアクセサリの開発をめちゃくちゃ簡単にしたくて、そのための、簡単に使えてセンサーに対応した、このパーティーを立ち上げる十分なパワーを持ったオープンソースプラットフォームを探していた。それがArduinoだ。これには異論があるだろうが、Arduino以外に候補は考えられないだろ?

ただし、今回Googleが発表したArduinoハードウェアには、まだそれを実現できるだけの力はない。Google I/Oでは参加者全員にこれを無料配布するという素晴らしい行動に出たわけだが、もうすぐ、もっと安くて(もっと高性能な)やつが出てくる。Googleは、最初にこれを実装するときに、いくつか、私が疑問に思う決断をしたはずだ。次にその話をしよう。

Android Open Accessory Kitって何だ?

Unboxing-1

こういうことだ...

Android 3.1プラットフォームは、Android Open Accessory対応となります(Android 2.3.4にもバックポートされています)。これは、Android搭載デバイスと外部USBハードウェア(Android USBアクセサリ)を、専用の「アクセサリ」モードで通信できるようにするものです。接続されたアクセサリはUSBホストとして作動し (バスパワーでデバイスをエミュレート)、Android搭載デバイスは、そのデバイスとして作動します。Android USBアクセサリは、Android搭載デバイスに装着できる形をしており、シンプルなプロトコル(Androidアクセサリプロトコル)でしっかりと接続され、Android搭載デバイスがアクセサリモードに対応しているかどうかを確認できなければいけません。また、アクセサリは、5ボルト500ミリアンペアの充電用電源を供給できなければなりません。これまでに発売されたAndroid用デバイスの多くは、単にUSBデバイスとして作動するものであり、外部USBデバイスとの接続を開始する機能はありませんでした。Android Open Accessoryに対応していれば、さまざまな種類のAndroid搭載デバイスに、アクセサリ側から接続を開始できるように、アクセサリを作ることができます。

Mega2560とCircuits@Home USB Host ShieldをベースとするUSBマイクロコントローラボード(ADKボード)は、後にAndroid USBアクセサリとして実装されます。ADKボードには入出力ピンがあり、ここに「シールド」と呼ばれるアタッチメントを接続できます。C++で製作したファームウェアをボードに実装して、ボードの機能の定義とシールドや Android 搭載デバイスとの通信を行います。ボードのハードウェア設計ファイルは、hardwareディレクトリにあります。

早い話が、ADKは、USBホストのシールドを乗せたArduino Megaで、安定した5ボルト電源をAndroid携帯に外部から供給するというものだ。これはいいニュースだ(だけど、悪いニュースもある。Googleのやり方だ。少なくともベストじゃない)。

Android Open Accessory Kitのバッドニュースとは

Pt 101006

上の写真はIOIO for Android

AndroidとArduinoをつなぐ方法は前からあった、と言いたい人もいるだろう。MicroBridge、IOIO、Amarino、Cellbotsみたいなやつだ。ADKはIOIOの後退版だと言えないこともない。ADKは新型の携帯電話にしか対応しないからだ。これで作ったアクセサリは古いモデルには対応できなくなる。だけど、携帯電話って、そういうもんだろう。新しいモデルを売りたいために、新しい機能を盛り込むんだ。

Pt 101007

この他にも、数々の製品やプロジェクトがある。どれも素晴らしく、進化を続けている。だからと言って、Googleが劣っているわけではない(今のところ)。このまま行けば、IOIOみたいなものがGoogleから出てくるだろう。あくまで想像だけど。上の写真はOleg MazurovのUSBホストシールド(MicroBridgeを使用)

"Romfont" が詳しいコメントをくれた。多くの点で同意できる。

ADKチームは、ひどいプロトコルを作ることで、最新型の電話でしか使えないようにしてしまった。短期的に見ると、商業的価値はまったくない。ホビイストたちも、今持っているデバイスのROMを最新のものに更新するか、新しいスマートフォンを買うかしない限り、このお楽しみには参加できない。そのため、お粗末な設計の互換性のないデバイスでなんとかやるしかない。しかし、このなんとかやった方法が、Googleによって支援されたスタンダードとなった。

私はADKの信奉者になりたかった。正しい設計をしてくれていたら、今ごろ私は、Googleの素晴らしい業績を讃える最初の人間になっていたはずだ。新しいプロトコルを正しく追加できたはずだ。ADBを元に何かを作れたはずだ。それよりも、OTGに対応できたはずだ。今のところ、ADKは、未解決の問題を解決できずにいる。それどころか、浅はかな考えに基づく規格を追加したことで、事態はさらに悪くなってしまった。Androidにはもうこれ以上規格を増やさないでくれと、みんな思っている。

全体を読むと、鋭い指摘がいくつもある。だけど、GoogleはArduinoをAndroidに使うと宣言したことは大きいと思う。これから、もっとマシなものが作られるようになるはずだ。今、その仕事に取りかかっている連中を知っている。USBホストシールドとArduinoを今でも使えると伝えられているけど、電源の問題があるという。それが本当かどうか、確認をとっているところだ。

もうひとつ、Googleにはハードウェアの専門家がいないということがある。MegaとUSBホストシールドを合体させたのは、Google I/Oになんとか間に合わせようと急いだ結果だろう。Arduinoならすでに開発ベースができている。Googleは、プロトタイプやアクセサリの開発者に、または、ただ電話でLEDを点滅させたいだけの人に、KEILのコンパイラを買わせるようなことをしたくなかったのだ。と、Google寄りの言い方をすればこうなる。とにかく私は、次のバージョンに(そしてオープンソースコミュニティの出方に)期待している。

そうそう、もうひとつ言っておくべきことがあった。ADKファイルがここでダウンロードできる。ちなみに、Googleはオープンソースハードウェアの手続きをきちんとやっている。(うれしいね!

これはAppleの拘束的な「Made for iPod」(TM) の終焉なのか?

Pt 101008

iPod や iPhone で使える公認アクセサリを作るために必要な Apple の認証は、どうやったら受けられるか。

MFiライセンスプログラムへの参加により、iPod、iPhone、iPadに接続する電子アクセサリを開発できるようになります。ライセンスを取得したデベロッパは、技術資料、ハードウェアコンポーネント、テクニカルサポート、認定ロゴをご利用いただけます。デベロッパは、iPod、iPhone、iPadとの情報交信に使用される通信プロトコルである「iPodアクセサリプロトコル」について説明している技術仕様書を受け取ります。また、デベロッパは、iPod/iPhone/iPad用のアクセサリを製造するのに必要なハードウェアコネクタとコンポーネントをご利用いただけるようにもなります。

「ライセンスを取得したデベロッパ」というのは古い考え方だと思う。「オープンな仕様」じゃないと。Appleのやり方は、もうダメなのか? Androidアクセサリが今後どう出るかに大きく左右されるが、クールで素晴らしい製品がAndroidのほうにばかり出るようになれば、そうなるだろう。そうなればAppleもアクセサリを簡単に作れるようにするだろう。そうせざるを得なくなる。

Appleアクセサリの秘密保持契約はホントにホントに(どこよりも)キツいと聞いたことがある。Appleのアクセサリを作ったことのある知人が、こう話してくれた。「自分が作っているものをAppleが気に入ると、彼らはそれをパクる。そのことは肝に銘じておくべき」だと。これは何年も前のiPodしかなかった時代の話だが、考えさせられるものがある。自分が作りたいハードウェアをAppleが気に入らなかったら、彼らはすぐに関係を絶つ。App Storeからアプリを削除されるようにだ。Appleとの仕事は素晴らしかったという体験をお持ちの方は、ぜひ意見を聞かせてほしい(契約上許される範囲で)。

個人的にAppleのiOSのプログラムで痛い目に遭っているので、偏見があるかもしれない(どうしても私のアプリを承認してくれなかった。連絡を取る方法もなく、悪夢だった)。結局あきらめたのだが、大変な時間の無駄だった。それに、今はオープンソースハードウェアを中心にがんばっている企業を応援したいと考えているしね。

さらにもうひとつ...... Googleはアクセサリ開発を内部でやるようになるかも -

HershensonとBritは、2000年にDangerを立ち上げた3人のうちの2人。3人目は、Android開発主任、Andy Rubinだ。この3人のエンジニアは、2000年に、当時セレブの必需品ともなったT-Mobile Sidekickなどの一般向けスマートフォンを他に先駆けて開発した。

その3人が再び手を握ったのだ。この12カ月の間、BrittとHershensonは密かにGoogleの Android部門の中の新部門、Android Hardwareを立ち上げていた。(中略)彼らはそこで、Android用周辺機器のリファレンスデザインとなるものを作っていた。Android Hardwareは、ホームオートメーションから運動ゲーム、ロボティクスまで、あらゆるものに手を付けた。GoogleブランドのAndroid用ハードウェアを今すぐ発売するというわけではないが、Britは、ゆくゆくはGoogle独自のAndroid周辺機器を出したいと考えているようだ。クパチーノの連中(編注:Apple)は気が気ではない。

ものすごいチームだ。びっくりするようなアクセサリを次々に生み出して、Googleからコンスタントに卒業していく人々と一緒に、またはその人たちに手渡して、新しい会社を作らせるという(で、後にまたGoogleに吸収される)ことになっても、驚きはしない。これはAppleとは正反対のやり方だ。昔のSidekickを今でも使いたいと思うよ。

Microsoft/NOKIA/Skypeは、どう対処すればよいのか?

Mknd01-2

Microsoftが、Googleと同じことをしたいと考えたらどうだろう。オープンソースの.NETプラットフォームなんて、あったっけ? ある! Netduinoだ。さあ、バルマーよ、急いでNetduinoの連中に会って、Windows Phone 7用の新しいアクセサリ開発プラットフォームについて話し合うのだ。冗談で言っているのではない。次の「Kinect」をどうするか、真剣に話し合ってほしい。だけど、Netduinoの会社を買収しようなんて考えないでくれよ。そんなことしたら、メチャクチャになる。彼らを表から支えるんだ(ないしょでもいい、なにせSecret Labsだからね)。そして、すべての .NET開発者にWindows Phone 7 phoneとNetduinoを配布してハッキングをさせるんだ。開発者が命だ。そうでしょ?

デベロッパーズ! デベロッパーズ! デベロッパーズ! と冗談はさておき、レッドモンドでこんな会合があってもおかしくない。お偉方のオーケーが出るといいんだけど。NetduinoとMicrosoft、やってくれ!

Android は次のキネクトとなって創造的ハッキングを引き起こすか?

朗報を待とう。Google I/Oに参加した何万人もの人たちが家に帰っていく。数日以内に、最初の「ハック」が現れて、数週間以内に最初のアプリケーションとアクセサリのプロトタイプが現れるだろう。そして数カ月以内にアクセサリが発売され、Kickstarterが出資を募り、忽然と新しいものが現れるかも知れない。我々全員にとって、次に何が起こるかを予測する最良の方法は、自分で作ることだ。今まで、Androidにはあまり関心がなかったんだけど、「脱獄」は面倒な手続きの必要がなく、そのあげくに拒否なんて目に遭うことなく、新しいものが作れると思うと、なんだか無性に作りたくなってきた。大好きで使い慣れたオープンソースの開発プラットフォームもある。Arduinoだ。GoogleがArduinoを選んだことが、どうして問題なのか? それは、今このときから、Googleに対抗して開発者を刺激してアクセサリを作ろうと思うと、オープンにしなければならなくなるということだ。そして、どうしてもArduinoが必要になるということだ。

- Phillip Torrone

訳者から:Apple のオープン化の話は出ては消えしてきたけど、もうホントにヤバくなってる感じだね。ボクもAppleデベロッパプログラムに1万円払ったけど、なんだか面倒くさくて、何もしてない。がんばってくれ、Apple。

原文

Posted by Tetsuo Kanai | May 20, 2011 12:00 AM
Arduino, Open source hardware | Permalink | Comments (0)

May 17, 2011

Androidアクセサリ開発キット

先日のGoogle I/O 2011で、Android用周辺機器を作るためのオープンな開発環境が発表されました。Android Open Accessory Development Kit(ADK)です。驚いたのは、アクセサリ側の開発環境がArduinoをベースにしたものであったことです。Googleロゴ入りのArduino Megaに似たボードとシールドが同時にリリースされました。たぶん、いま、世界中のArduino開発者がドキュメントに目を通していることと思います。
日本でも情報が増えてきています。futaba405さんがアップロードした動画では、ADKを使って、USBホストシールドを載せたArduino DuemilanoveをAndroid端末に接続するデモが行われています。詳しい情報はブログにまとめられてますね。参考になります。

Posted by Takumi Funada | May 17, 2011 12:00 AM
Arduino | Permalink | Comments (0)

May 10, 2011

iPadにArduinoをつなぐうまいやりかた

ArduinoにUSBキーボードの振りをさせ、iPadにつないでいます(カメラコネクションキットが必要です)。iPadからは普通のキーボードに見えるので、様々なアプリケーションと連動させることができます。ここでは、Safari上でProcessing.jsを使ったサンプルを実行しています。応用が効くうまいやりかただなあ、と思いました。ソースリストを含む詳しい説明がブログで公開されています。

Imaginable Reality(工学ナビの中の人) - How to bulid iPad with Arduino + Processing.jsCommentsAdd

Posted by Takumi Funada | May 10, 2011 02:00 AM
Arduino, iPhone | Permalink | Comments (0)

April 21, 2011

LEDマトリックス付き六足歩行ロボット

SAMSAはATmega128搭載のWiringボードをベースに作られています。SAMSA IIはATmega1280搭載のArduino Megaを使っています。どちらもほぼ同じですが、ATmega1280はSRAMがATmega128の倍の8KBあります。SAMSA IIではArduino IDEは使っていません。ソフトウェアは、ArduinoとWiringのライブラリを少し使って、C++で直接書かれています。


SAMSA IIには、さらに2つのマイクロコントローラが積まれています。ひとつは頭部に積まれた旧型のArduino Mini(ATmega168)です。センサーの管理をしています。もうひとつはATmega8です。これはディスプレイに埋め込まれています。ディスプレイのファームウェアは別のものと入れ替えました。こうすることで、メインのマイクロコントローラをディスプレイのピクセルやフレームバッファの管理から解放できます。

頭部のマイクロコントローラは、センサーからのデータのサンプリング、フィルタリング、処理を担当します。シャープ製距離センサーと側方の赤外線センサーからのデータが合体して、ひとつの「スーパースマート距離センサー」になります。このマイクロコントローラは、リモコンに使われている38 KHz赤外線受信器からのデータの解析も行います。

この2つのマイクロコントローラーがメインのマイクロコントローラーの負担を軽減することで、より高度な動作が可能になりました。

Arduino Blogより]

- John Baichtal

原文

Posted by Tetsuo Kanai | Apr 21, 2011 01:00 AM
Arduino, Robotics | Permalink | Comments (0)

Page 3 of 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Bloggers

Welcome to the Make:Japan Blog. You'll find all the most up to date happenings in the Maker and Crafts world here.

Tetsuo KanaiTetsuo Kanai
Translator/Writer


Takumi Funada.Takumi Funada
Engineer


Hideo TamuraHideo Tamura
Editor


MAKE Japan.

Advertise here with FM.

Why advertise on MAKE?
Read what folks are saying about us!

Click here to advertise on MAKE!

Purchase MAKE.

Categories

Archives

Recent Posts