インテル(R) Edison キット for Arduino
ZIGSOW PREMIUM REVIEW
この度のレビューは、Atom搭載の超小型コンピュータ「Edison」本体と、「Edison]をArduino Uno 互換として動作させる為の拡張ボード「Edison Board for Arduino」をセットにした製品のインテル(R) Edison キット for Arduinoになります。
ファーストインプレッション
開封の儀
外箱
外箱は段ボールで、そこにスライドする帯封が巻かれていて、その帯封には、サングラスをかけたエジソンと、彼の発明品である白熱電球が描かれていました。
外箱の内側には、無人航空機や人工衛星、ロボット、電灯、ファン、手袋など色んな図柄が描かれていて、色々な物に組み込めることをイメージしたデザインでした。
Galileoの時もそうでしたが、「What will you make?」:(あなたなら、何を作りますか?)の文字がありますが、伊達に書かれていないようです。
外箱も「Edison」の小ささをアピールしているかのように、小さめでした。
Galileoの外箱と比較してもかなりコンパクトです。
「Edison」本体
「Edison」本体は35.5×25×3.9mm(幅×奥行き×高さ)で、SDカードより一回り大きいですが、
本当に小さい!!の一言でした。
この小さなボード上には、2.4GHz帯/5GHz帯対応のアンテナと、外部アンテナ用コネクタ、IO用の70ピンコネクタのみが見れるだけで、他はシールドで隠されています。
内部に関しては、こちら参照させて頂きました。
22nm のインテル® Atom™ SoC が使用されており、デュアルコア、デュアルスレッドの 500 MHz の CPU、および 100 MHz/32 ビットのインテル® Quark™ プロセッサー・マイクロコントローラー (MCU) が搭載されているようです。
又、40 個の GPIO をサポートし、1 GB の LPDDR3、4 GB の EMMC、およびデュアルバンドの WiFi および Bluetooth* Low Energy が搭載されているようです。
このサイズにSoC、Flashメモリ、無線LANモジュール、無線アンテナまで載っていて、PCとして動作するようです。
拡張ボード「Edison Board for Arduino」
「Edison」をArduino Uno 互換として動作させる為の拡張ボードが、「Edison Board for Arduino」になります。
「Edison」本体よりも、圧倒的に大きい!!
Intelのサイトから抜粋しましたIntel® Edison kit for Arduino block diagramです。
「Edison」本体や互換ボードへの電源供給や、スケッチの転送のため、USB-MicroUSBケーブルが2本必要となるようです。
又、USB接続で問題なく動作していれば不要ですが、安定して動作しない場合は、出力が7~15VまでのACアダプターが必要になるようです。
組み込み
組み立て
組み立てといっても大げさですが、2工程しかありません。
1. 互換ボードに「Edison」本体を取り付け、ナットで固定する。
ここでの注意点ですが、ナットが小さく失くしやすことと、使われているヒロセ電機の、コネクタの差し替え回数保障が、約50回との書き込みがありましたので、色々な拡張ボードに入れ替えての使用は、控えた方が良いみたいです。
2. 互換ボードに足をつける。
実際に組み込む場合は、無い方が良いですが、設定やスケッチの書き込み時はあった方がよいでしょう。
以上で組み立て?は終了です、簡単ですね。
PC側での準備
PC構成
PC(自作)
1. CPU i5-4690K
2. マザー ASRock Z97M Pro4
3. メモリ G.Skill F3-17000CL9D-8GBXM
4. SSD インテル(R) Solid-State Drive DC S3500 240G
5. HDD WesternDigital Red 3.5inch 2.0TB 64MBキャッシュ SATA 3 WD20EFRX
6. OS Windows8.1 64bit
7. アンチウイルスソフト McAfee アンチウイルスプラス
ノートブック(ASUS NB / gray H100TA-DK004HS)
ドライバのセットアップ
ここではPC側に、変換チップのドライバやEdison本体のドライバをダウンロードしインストールします。
*現時点で、「Edison」本体やArudino互換ボードはパソコンと接続しては、ダメです。
1. USB-シリアル変換ドライバ
互換ボードに搭載されている変換チップのドライバをインストールします。「Edison Kit for Arduino」にはFTDI社製のチップが搭載されてますので、FTDI社のサイトからダウンロードします。
ダウンロード先
http://www.ftdichip.com/Drivers/VCP.htm
私はWindows8.1を使っているので、Windowsの最新版ダウンロードしました。
実行型ファイルとなっているのでダウンロード完了後、セットアップを開始しします。
尚、「管理者権限」で実行しないと弾かれることがありますので、ご注意ください。
2. 「Edison」本体のドライバ
こちらは、intelのサイトからダウンロードします。
ダウンロード先
https://communities.intel.com/docs/DOC-23242
私はWindows8.1を使っているので、Windows版を「Driver Software」よりダウンロードしました。
*開発環境のダウンロードについては、「開発環境インストール」のところを、参照お願いします。
実行型ファイルとなっているのでダウンロード完了後、セットアップを開始しします。
尚、「管理者権限」で実行しないと弾かれることがありますので、ご注意ください。
開発環境のインストール
「Edison」本体にスケッチを転送するための開発環境をダウンロードします。
「Edison キット for Arduino」では必ずIntelサイトにある開発環境を使用します。
(Arduino標準開発環境では「Edison」を認識することが出来ず、スケッチの転送等が出来ません。)
ダウンロード先
https://communities.intel.com/docs/DOC-23242
私はWindows8.1を使っているので、Windows版を「Download the IDE zip file for~」よりダウンロードしました。
ダウンロードが完了したら、解凍してインストールするのですが、「7z」形式となっているため、Windows標準の解凍機能ではうまく解凍出来ませんでした。
※7zに対応した解凍ソフトを使うことでエラーなく解凍出来ました。
arduinoアプリケーションを、デスクトップに表示させておくと、後で起動する時に便利です。
Arduino互換性の動作テスト
PCへの接続
出先でも開発出来るか期待して、「ASUS NB / gray H100TA-DK004HS」にドライバ等をインストールし、検証してみました。
シリアル・ポート用のUSBコネクター(2つあるコネクターの下側で「J3」とシルク印刷がある方)と、Intel Edison Moduleに接続されているUSBコネクター(2つあるコネクターの上側で「J16」とシルク印刷がある方)のMicroUSB端子とPCのUSB端子をケーブルで接続すると、ドライバは自動的に組み込まれるようですし、そのほかの仮想COMポートなどはEdisonのUSB端子へ接続した状態で認識するようです。
この変形ノートブックPCには、USB 3.0のコネクタが1個しかなく、USBハブ経由で接続しましたが、見事に認識されました。
これで、出先等でも開発出来るので、効率がいいですね。
*「Intel Edison Virtual Com Port」に割り当てられたCOMポート番号を控えておきます。後ほど開発環境の設定の際必要となります。
開発環境の設定
インストールした、「arduino-1.5.3-intel.1.0.4」のarduinoアプリケーションを起動します。
私は、デスクトップにアイコン表示させてありますので、そこから起動しarduino開発環境で、通信ポートを設定します。
開発環境で、「ツール」→「マイコンボード」とクリックすることで識別可能なマイコンボードが表示されますので、「Edison」を選択します。
次に、スケッチを書き込むために「ツール」→「シリアルポート」とクリッし、先に控えた「Intel Edison Virtual Com Port」のCOM番号を選択します。
以上で設定は完了ですが、「Galileo」の様にここでは、ファームウェアの更新は出来ませんでした。
方法等は、調べて別途記載します。
スケッチの実行
開発環境に、予め用意されている互換ボード上のLEDを点滅させるスケッチ「Blink」を使い検証してみます。
*簡単に検証出来ますので、ボードの初期不良チェック兼ねて入手したら、早めに実行する方が良いでしょう。
スケッチの転送
「ファイル」→「スケッチの例」→「01.Basics」→「Blink」をクリックします。(別ウィンドウで、「Blink」のスケッチが表示されます。)
このスケッチを「Edison」ボードへ転送するには「ファイル」の下にある「→」マークをクリックします。
転送が完了するとスケッチが実行され、互換ボードあるLEDが点滅を始めます。
すいません、明るくて分かりずらいかもしれませんが、中央のLEDが1秒間隔で点灯しています。
ここで、スケッチを書き換えて点灯時間が変わる所を検証してみます。
スケッチ内の数値の変更で、点灯時間の設定が出来ます。
LEDの点時間1秒、消灯時間2秒に設定しました。
LEDの点灯時間2秒、消灯時間1秒」の設定です。
以上で、Arduino互換に対する動作チェックは完了です。
初期不良もなく、動作しましたので良かったです。
その他の動作テスト
ファームウェアの更新
Intel Edison Moduleのファームウェアの更新は、Intel Galileoシリーズほど簡単ではありませんでした。(Intel Galileoシリーズの場合はArduinoソフトウェア開発環境で更新メニューを選択するだけで更新することができました。)
色々調べてみたのですが、下記の手順で出来るようです。
*ファームウェアの更新は危険が伴いますので、自己責任でお願いします。
ファームウェアの更新手順
1. 初めて接続する際にはWindowsに、Intel Edison用のドライバー等をインストールします。
(上記の、「PC側での準備」参照お願いします。)
既にインストール済みの場合にはこの手順をスキップしてOKです。
2. Arduino互換ボードとPCをUSBケーブルで接続します。
(上記の、「PCへの接続」参照お願いします。)
3. 「Edison – Software Downloads」ページから「Edison Yocto complete image」をダウンロードします。
ダウンロード先
https://communities.intel.com/docs/DOC-23242
4. ダウンロードした.zipファイルを展開します。展開すると以下のようなファイルが生成されます。
5. 「Edison」とボリューム ラベルのあるドライブを選択します。
6. 初期状態では該当ドライブには空のはずですが、すでに何らかのファイルが存在しているようであればすべて削除し、先ほど展開したファイルをフォルダー構造をそのままに、該当ドライブのルート フォルダーにコピーします。
7. 任意の端末エミュレーターを起動してシリアル・ポートに接続します。私は、以前使ったことのある、「Tera Term」を使用しました。
*「シリアル」を選択し、Arduino互換ボードのシリアル・ポートである、「USB Serial Port」のCOMポートを選択し、(私の場合COM3でした。)次に、「OK」ボタンをクリックします。
*「設定(S)」→「シリアルポート(E)…」と選択し、「ボー・レート(B):」を「115200」に設定します。
*「OK」ボタンをクリックし、Enterキーを押して以下の表示が出ることを確認します。
*「edison login:」のところに「root」と入力し「root@edison:~#」と表示がでていれば、コマンドの実行が出来るようになります。
8. ここで、「root@edison:~#」に「reboot ota」とゆうコマンドを入力し実行すると、メッセージが大量に流れてファームウェアの更新処理が実行されるので終了するまで待ちます。
以上で、ファームウェアの更新は完了です。
旧バージョン
今回のレビューは、「Edison」単体では無く、「インテル(R) Edison キット for Arduino 」のレビューになりますので、取り敢えずArduino互換機能のみの動作チェックとなりますところ、ご了承お願いします。
今後、時間が出来ましたら、その他の機能も検証して、追記して行きたいと思います。
二足歩行ロボットの制作
オリジナル試作機の開発
今回のミッション
「インテル(R) Edison キット For Arduino」を元に、 Arduino 互換開発キットやソフトウェアプログラミングインターフェイスを用いてオリジナル試作機を開発せよ。
開発概要
この度「インテル(R) Edisonキット for Arduino 」をレビューするにあたり、Edison搭載Arduino互換ボードで制御する二足歩行ロボットを、安価で制作することを目標にして、レビューを進めて行きます。
*初めての二足歩行ロボット制作になりますので、試行錯誤の繰り返しとなりますが、最後まで頑張って行きたいと思いますので、宜しくお願いします。
構想
1. 価格が安く、サーボモーター数個搭載の市販のロボットキットを購入する。
現在、「ヒューマノイドロボット」を楽しむ人が確実に増え、近藤科学の「KHR」シリーズやヴイストンの「Robovie」シリーズなど、本格的なロボットキットが何種類も発売されており、まだまだ価格は高いですが、一般の人でも安定して動くロボットを作れるようになったようです。
だが、そうしたキットではなく、自分だけの「オリジナルロボット」を作るとなると、ハードルは一気に上がり、サーボモーターを関節部に取り付けてロボットの形にするだけなら、私でもできるかもしれませんが、2足歩行は本質的に不安定であるので、ちょっとバランスを崩しただけでも、すぐに転んでしまうようです。
又、開発時間や費用に付いても、「時間がない」「予算が少ない」とゆう条件もありますので、仕方なく、当初は比較的安価な、ロボットキットを購入することにしました。
2. ロボット本体のみ使用し、マイコンボードは「インテル(R) Edisonキット for Arduino」を搭載する。
上記の状況から、オリジナル性を出す為に、ロボット本体のみを使用し、マイコンボードは「インテル(R) Edison搭載 Arduino互換ボード」を搭載します。
3.「インテル(R) Edisonキット for Arduino」から、サーボモーターの制御により、歩行可能とする。
当初は、サンプルArduinoスケッチの書き換え等でモーションを作成し、最終的にはオリジナルモーションを開発し、ロボットをコントロールします。
4.将来的には、WiFi、Bluetooth経由で、PC又はスマホからコントロールしたり、サーボモーター十数個搭載した、多軸制御のロボットを製作してみたいです。
今回のミッションが完了したら、将来的には もう少し高度な試作機の製作にとりかかりたいです。
又、「Edison」+「V-Sido CONNECT」(現時点で未発売)で制御してみたいです。
参考にさせて頂いた書籍
1. たのしくできるArduino実用回路
2. Arduinoでつくる二足歩行ロボット―マイコン搭載ロボットを「Arduino Unoボード」で開発
3. Arduino + Bluetooth Androidプログラミング―サブボード「シールド」で機能強化!
開発環境
*開発の進行状況により、追記していきます。
PC構成
PC(自作)
1. CPU i5-4690K
2. マザー ASRock Z97M Pro4
3. メモリ G.Skill F3-17000CL9D-8GBXM
4. SSD インテル(R) Solid-State Drive DC S3500 240G
5. HDD WesternDigital Red 3.5inch 2.0TB 64MBキャッシュ SATA 3 WD20EFRX
6. OS Windows8.1 64bit
7. アンチウイルスソフト McAfee アンチウイルスプラス
ノートブックPC(ASUS NB / gray H100TA-DK004HS)
1. CPU Intel Atom Z3740 1.33GHz
2. メモリ 2GB
3. eMMC 64GB
4. OS Windows8.1 32bit
PC側ソフトフェアー
1. 圧縮、解凍 ソフト 7-Zip
2. 総合開発環境 Eclipse
3. Arduino開発環境 arduino-1.5.3-intel.1.0.4
4. ターミナルエミュレーター Tera Term
5. Android アプリ開発 Android SKD
コントロール用スマホ
1. au Android スマホ LGL22
2. au iPhone 6 128GB(iOSでもいけたら、使用予定です。)
マイコンボード
1. インテル(R) Edisonキット for Arduino
2. Arduino UNO互換機 Freaduino UNO
3. V-Sido CONNECT(現時点で未発売)
4. Arduino UNO R3
ハードウェア
1. サンコ- ノートPC用19V出力大容量バッテリー LPCNTVBB (テスト用外部電源)
2. アルカリ乾電池 6LR61D/9V(外部電源用)
3. 単三アルカリ乾電池
4. 乾電池BOX、線材、ユニバーサル基板等
5. ヴイストン株式会社 ピッコロボ (piccorobo)
6. ミニブレッドボード BB-601(白)
7. 9V電池スナップ-DCプラグ変換アダプタ
8. Bluetooth Bee
9. Arduino ワイヤレスプロトシールド
10. Arduino用ボード オブ エデュケーション シールド
11. 超音波距離センサモジュール HC-SR0
12. OctopusLEDライトブリック 〈 Arduino 〉
13. 人感センサ 〈 Arduino 〉
14. OctopusADキーパッド(Octopus ADKeypad)
開発編
ロボットの概要
ヴイストン株式会社製 ピッコロボ (piccorobo)
仕様
CPUボード Freaduino UNO(Arduino UNO互換ボード)
動作電圧 5V( Freaduino UNO を3.3V駆動にした場合は動作しません)
電源 単3電池6本(アルカリ電池かニッケル水素電池のみ)
本体材料 MDF
寸法 幅16cm、縦19.5cm、奥行き9cm
重量 575g(電池搭載時)
サーボモータ 標準サーボモータ Type2
自由度 合計4自由度(頭1、腰1、脚2)
対応OS Windows, MacOS X, Linux(Arduino IDE対応環境必須)
インターフェース USB(mini-B)
内容品
A4サイズMDF(ロボットフレーム) 2個
木工ボンド50g 1個
M3ブッシュ 2 個
M3スペーサ40mm 5 個
M3スペーサ60mm 2個
M2低頭タッピングネジ5mm 18個
M3ナット 13個
M3バインドネジ12mm 27個
標準サーボモータ Type2 4個
Freaduino UNO(USBケーブル(mini-b)付) 1個
単3×6電池ボックス 1個
ジャック付電池用スナップ 1個
*今回は、ロボット本体のみの使用になりますので、付属のCPUボードは使用しません。
各パーツ類の動作チェック
インテル(R)Edison搭載 Arduino互換ボード
今回のキットをそのまま使うには、サーボモーター等を接続するのが難しいのと、
サーボモーター用の電源が必要になったので、「Arduino用ボード オブ エデュケーション シールド」とゆう製品を導入しました。
このシールドは、汎用ブレッドボード・サーボモータ用コネクタ・5Vレギュレータ・3.3Vレギュレータを装備したArduino用シールドになります。
特長
・回路構築に便利なため17行×2列のブレッドボード
・電源(VIN、5V、3.3V、GND)、デジタルI/O、アナログI/O
のヘッダがブレッドボードに隣接しています。
・5V1Aと、3.3V200mAのレギュレータを搭載しています。
・4系統サーボモータ用コネクタを装備しています。
主な仕様
・電源:7~12V(Arduino経由)
・基板サイズ:10.2×7.75cm
シールドにあるサーボ用コネクタはD10~D13に接続されていたので、後々のことを考えて、この、搭載されているブレッドボード上にサーボモーター用のコネクタを増設してみました。
又、本来ならArduino互換基板から、Vin(7V~15V)が供給されるはずなんですが、こちらのシールドから、9Vを供給することにより、本体基板にもVinに供給されるようです。
サーボモーター
サーボモーターには個体差があるので、組立前に出力軸を原点(出力軸は180°の範囲で回転します。ここでは、その可動範囲の中央のことを原点と呼びます)に合わせる必要がありますので実行します。
1. 互換ボードとPCを、USBケーブルで接続します。
2. サーボモーターの原点を合わせる為の、無料公開されているスケッチ「positioning.ino」をダウンロードします。
3. ダウンロードしたファイルを、「arduino-1.5.3-intel.1.0.4」のarduinoアプリケーションで開きます。
4. 表示されたスケッチを、書き込みます。
尚、書き込みが終了したら、一旦電源を切りPCから、外しておきます。
5. サーボモーターを、サーボ用コネクタに接続します。
この時信号線(白いケーブル)、GND(黒いケーブル)、電源線(赤いケーブル)の向きに注意します。
6. ここで、9Vの電池をVinに接続します。
先ほど書き込んだpositioning.inoにより、全てのサーボモーターの出力軸が原点(可動域の中心90°)の位置に移動しました。(下記に追記しますが、実はサーボモーターが2つ動いていませんでした。)
以上で、組み込み前の、動作チェックは完了です。
ロボットの組み立て
*インテル(R)Edison搭載 Arduino互換ボードを取り付けるところと、配線に関して以外は「取扱説明書」を参照させて頂きました。
頭部の組み立て
1. 頭部底面に、首用サーボモーターを取り付ける。
2. 首用サーボモーターに、首板を取り付ける。
3. 後頭部に、インテル(R)Edison搭載 Arduino互換ボードを取り付ける。
ここで本来なら、後頭部背板の内部にボードを取り付けるのですが、今回使用のインテル(R)Edison搭載 Arduino互換ボードが、大きく収まりませんでした。
そこで、背板に木板を接着し、穴をあけ取り付けました。
4. 頭部側面と、底面をボンドにて接着する。
5. 頭部前面板を、ボンドで接着する。
本体内部の組み立て
1. 腰サーボモーターホルダーを組み立てる。
2. 腰サーボモーターホルダーとリンクを組み立てる。
3. 垂直リンクをネジ止めする。
4. 左右の足用サーボモーターホルダーを組み立てる。
5. 足用サーボモーターホルダーとリンクをネジ止めする。
本体外部の組み立て
1. 垂直リンクと本体カバー後をネジ止めする。
2. 本体カバー後とスペーサーをネジ止めする。
3. 前本体カバーに腕をボンドで接着する。
4. 本体カバー前にサーボホーンをネジ止めする。
5. 本体カバー前を本体内部にネジ止めする。
6. 本体のサーボケーブルを頭部に入れる。
7. 首と本体カバーをボンドで接着する。
足の組み立て
1. 足板を足側面板とボンドで接着する。
2. 足板と足サーボモータをネジ止めする。
配線
1. 互換ボードのサーボモーター用ピンヘッダーに、サーボモーターの配線を接続する。
2. 外部電源用の、電池ボックス等を接続する。(まだ電池は、外しときます。)
ロボット動作調整
サンプルスケッチで調整ンプルスケッチで動かしてみる
サンプルスケッチで動作させてみる
1. サーボモーターの位置を合わせる為の、無料公開されているスケッチ「demo_robot.ino」をダウンロードします。
2. 互換ボードとPCを、USBケーブルで接続するとともに、9Vの電池を接続します。
3. ダウンロードしたファイルを、「arduino-1.5.3-intel.1.0.4」のarduinoアプリケーションで開き、書き込みします。
4. サーボモーターの位置調整
*ここまで順調でしたが、どうもサーボモーターの挙動がおかしくなりました。
シールドの、Vinを接続する度にサーボモーターが、少し回転しロボットの姿勢が悪くなってしまいました。(-_-;)
やはり、Edisonとシールドの給電関係に問題があるようです。
そこで、シールドを使わず、インテル(R)Edison搭載 Arduino互換ボードとブレッドボードだけで回路組んでみましたが、変化なしでした。
色々調べてみたら、どうもスケッチが転送出来なくなったようでした。
インテル(R)Edisonコミュニティ
で相談したところ、復旧方法のアドバイスを頂き実行したところ、転送出来るようになりました。
シールドの電源関係も分かったので、又シールドを使うことにしました。
又、D4~D7ピンにサーボモーターを接続予定でしたが、インテル(R)Edison搭載 Arduino互換ボードは、D3,D5,D6,D9ピンしか、PWM出力が対応していないようですので、スケッチを書き換えました。
モーションの作成
1. モーションの説明
Arduinoでのサーボモーターの制御方法は基本的にServoライブラリを使うことになりますが、
Servoライブラリで出来ることは、サーボモーターの角度を決めて出力させるだけになります。
そこで、パラパラ漫画の要領で、短い時間間隔で角度を連続してずらしていき、動いているように見せます。このようにして作った一連の動きを「モーション」といいます。(デモプログラムではサーボモータが原点(可動域の中央)にある場合の角度を0°として、‐90°~90°の範囲で角度を変化させます。)
2. サンプルスケッチで、モーションの作成
サンプルスケッチに予め、モーションが作成されているので、今回はそれを使わせて頂きました。
ここで、説明しても長くなるので、実際に動作しているところを、記載しておきます。
トリム調整
サンプルスケッチを書き込んだ直後は、直立姿勢ではなく少し歪んだ姿勢になりますが、これは故障ではなく、サーボホーンの取り付け位置やサーボモータの個体差のためです。サンプルスケッチにパラメータを書き込んで、このずれを調整していきます。
tmp_trim[SERV_NUM]={0,0,0,0};は各サーボモータのずれを調整するためのパラメータです。
- tmp_trim[0] = 腰サーボモータ用パラメータ
- tmp_trim[1] = 右足サーボモータ用パラメータ
- tmp_trim[2] = 左足サーボモータ用パラメータ
- tmp_trim[3] = 首サーボモータ用パラメータ
ロボットの姿勢調整の為、tmp_trim[SERV_NUM]={2,3,-2,-3};と書き込みしますが、以下のような意味になります。
- 腰サーボモータを2°ずらす
- 右足サーボモータを3°ずらす
- 左足サーボモータを-2°ずらす
- 首サーボモータを-3°ずらす
tmp_trim[SERV_NUM]の値を少しずつ(1~5°程度)ずらして、サンプルスケッチをインストールし直します。これを直立姿勢になるまで繰り返します。
*以下の、センサーやその他の違うスケッチ使う場合は、面倒ですが必ず行う必要があります。
シリアル通信でコントロール
上記の調整が終了したら、実際に動かしてみます。
シリアルモニタ(ボーレート115200)を立ち上げます。ウィンドウの上部にあるテキストボックスに「w」を押して、エンターボタンを押してみます。
無事前進しました。
以下のコマンドを入力すると、とりあえず有線(PCと接続状態)でコントロール出来ました。
コマンド 動作
w 前進
s 後退
a 左旋回
d 右旋回
j 首ふり
k 直立姿勢に戻る
OctopusADキーパッドでのコントロール
OctopusADキーパッド(Octopus ADKeypad)は5つのボタンの状態をアナログピン一つで読み取ることが出来る、キーパッドをコントローラとして使用することにより、有線ですが単独でロボットをコントロール出来ました。
1. サンプルスケッチ「Robot_ADkey.ino」を書き込み
2. ADキーパッドでコントロール
各種センサーを取り付けてのコントロール
超音波センサー+LEDインジケーター
超音波距離センサモジュールと動作確認用LEDを搭載し、手をかざした時に前進する様に
設定をしました。
この時は、完全に単独で動作するようにプログラムしてあります。
*スケッチの書き換えで、後進させることや、首振り等の動作させることも、可能です。
1. サンプルスケッチ「demo_sonic02.ino」を書き込み
2. センサーに反応すると、LEDが点灯し「前進」
超音波センサー+LEDインジケーター+人感センサー
上記の、構成に人感センサーを追加搭載してみました。
1. サンプルスケッチ「Robot_PIR.ino」を書き込み
2. ロボットコントロールの流れ
(1)いきなりセンシングを始めてしまうと、プログラムのインストールと同時にロボットが動き出してしまいますので、シリアル通信で「z」が送られてくるまで待つようにしました。
(2)シリアルモニタから「z」を送って、ロボットの近くで手を振るなどすると、人感センサーが反応してLEDが2回点滅し、スタートします。
(3)人感センサーが反応すると、首を振って、前、右、左の順に調べ、超音波センサーで頭の向いた方向に何かないかをセンシングして、前だと前進、右だと右旋回、左だと左旋回します。
(4)最後に直立姿勢にもどり、5秒間待ちます。
動作中の、シリアルモニタのSSです。
「z」入力で、スタートし人感センサーが反応し、距離センサモジュールが距離データを送ってきました。
*ここで、問題が発生しました。
USBケーブルが2本接続されているのと、頭部の重量の関係で首用サーボモーターの動きが悪く思うように、コントロールできませんでした。
一応スケッチ(プログラム)は正常に動作出来ているようですので、取り敢えずOKとしときますが、
USB接続しなければ、使えそうもないので、此の検証は後日再度挑戦したいと思います。
Bluetooth通信でAndroid端末からのコントロール
Edison搭載Arduino互換ボードをBluetooth通信でAndroid端末から操作する為に、今回はBluetooth Beeを使用します。(Bluetooth Beeは、XBee互換のSPP対応Bluetoothモジュールです。)
また、Bluetooth BeeをEdison搭載Arduino互換ボードに接続する為のArduino ワイヤレスプロトシールド (XBeeインターフェース付)も併せて使用します。
1. サンプルスケッチ「DemoBlueRobot.ino」を書き込む
*ここで、又躓いてしまいました。コンパイルエラーでスケッチが使えませんでした。本家Arduinoだと問題ないので、又悩みが増えてしまいました。
本家Arduinoに乗せ換えて検証してみましたが全く問題ないので、ハード面は正常に動作しているようです。
この件に関しては、レビュー課題としていませんでしたが、再度挑戦して追記して行きたいと思いますが、ひとまず今回のレビューは完結とゆうことでお願いします。
最後までご覧頂き誠にありがとうございました。
2015年1月3日追記
Androidタブレットから、動かしてみました。
ヴィストン社提供の、VS-C2 for AndroidをGoogle Palyから、ダウンロ―ドして使用しました。
https://play.google.com/store/apps/details?id=vstone.app.Bluetooth_Pad&hl=ja
Android端末とのペアリング
Bluetooth Bee上で赤と緑のLEDが交互に光っている間に、Android端末からペアリングを行います。
ペアリングが終了したら、VS-C2 for Androidを起動します。
起動したら、メニュー表示から、デバイスの接続をタッチします
表示されたデバイスから、Demo3を選択します。
接続が完了すると、ロボットを操作できるようになります。
カーリーさん
2014/12/03
ヒロ妨さん
2014/12/03
発表前は、SDカードと同じ大きさとゆうことでしが
現物は、一回り大きいでした。
しかし、小さいですよね。
かずや。さん
2014/12/06
ヒロ妨さん
2014/12/06
Arduino互換キットだと、どうしても大きくなってしまいますよね。
「Edison」の機能をフルで活用するには「Breakout Board Kit」の方が、小さくていいかもしれませんが、ちょっと開発のレベルが上がってしまいます。(-_-;)
mokaさん
2014/12/25
ヒロ妨さん
2014/12/25
カスタマイズは、出来ますが奥が深いです。(;´・ω・)