Arduino をはじめよう – FabLab Kannai


20130608fablab_1

2013年6月8日(土)に さくらWORKS<関内> で開催された Arduino をはじめよう にスタッフとして参加しました。
今回は、FabLab Kannai日本Androidの会 横浜支部 ロボット部 の共催で、電子工作の入門編として企画したものです。

Arduino は、電子工作の入門に適したマイコンボードです。
「テクノ手芸」といわれる、ぬいぐるみの目が光るようなクラフトワークから、家電の制御や屋内の環境モニタリングまで、できちゃいます。

内容は。
(1) Arduino 開発環境の説明
(2) 実習:Arduino を使って LED をチカチカさせる。
(3) 実習:Arduino と PC とUSBケーブルを使って通信させる。
(4) Arduino でラジコンカーを作る方法の説明
資料:Arduino でラジコンカーを作ろう
(5) Arduino 以外のマイコンボードの紹介
資料:Arduino だけじゃない

初めて Arduino を使うという人たちが、10名ほど参加しました。
全員 LEDチカチカは成功して、満足して頂けたようです。

20130608fablab_3

20130608fablab_2


ET2012 おまけ



右の写真は東北ブースに並んでいた日本酒

2012年11月14日(水)−16日(金)にパシフィコ横浜で開催された
Embedded Technology 2012日本Androidの会 として出展しました。

会場で見かけたロボットとコンパニオンさんの写真です。

ロボット
産総研1、2

東北ブース、NEC

コンパニオンさん

関連
ET2012 初日
ET2012 2日目
ET2012 最終日
・ET2012 おまけ


Android端末からロボットを操縦する


LEGO MindStroms

LOGO社が販売している学習用のロボットのキットです。
これを使ったロボットのコンテストが世界中で開催されています。

Android の傾きセンサで LEGO MindStroms を操縦する
Android と MindStroms の間の通信には Bluetooth を使用した。
Android の傾きセンサーを使って、MindStroms の進む方向を制御する。
Android のプログラムには、JAVA ではなく、App Inventor を使用した。

Pololu m3pi

Pololu社が販売しているマイクロマウス型のロボットです。
マイコンにはNXP社のmbedを使用しています。
NXP社やARM社の展示会でもよくデモをしています。

Android 端末から pololu m3pi を操縦する
Android と m3pi の間の通信には Bluetooth を使用した。
Android のタッチパネルを使って、m3pi の進む方向を制御する。
Android のプログラムには、JAVA を使用した。


アンドロイド から m3pi を操縦する


m3pi が届いた ので、アンドロイドから動かしてみた。
アンドロイドのアプリは、Bluetooth Chat をベースに作成した。
m3pi のプログラムは, m3pimyBlueUSB をベースに作成した。

ソースコードは code.google に置いています。

はまった点
Ouchi さんの記事 を参考にしたのですが。
全く繋がらなくて、あれこれ悩んでしまった。
理由は、通信 のプロトコルが違っていたためでした。
記事にある keyboard は HID で、アンドロイドは SPP なので、繋がらなくて、当たり前でした。
Robot No.8080 さんの記事 を参考に、SPP 用の Bluetooth スタックを入れて、無事動作しました。

気になる点
(1) myBlueUSB が不安定です。
(2) Bluetooth のコネクションがすんなり確立しないです。数回トライする必要があります。
(3) ペアリングが保持されないです。毎回 PIN を入力する必要があります。
(4) コネクションが一度確立すると、あとは安定に動作します。

YouTube Preview Image

参考
Ouchi: m3piをBluetooth keyboardでコントロールしてみました
Robot No.8080: Android端末とmbedをBluetooth SPPで接続する実験
wikipedia: Bluetooth
HID (Human Interface Device Profile)
マウスやキーボードなどの入力装置を無線化するためのプロファイル。
SPP (Serial Port Profile)
Bluetooth機器を仮想シリアルポート化するためのプロファイル。


m3pi を注文した


m3pi は ARM の展示会でたびたび見かけるロボットです。
調べてみると、個人でも購入できるようです。
mbed はすでに持っているので、Robot のパーツを注文しました。
ついでに、拡張基板と、AVRライターも。
発送方法は、かんぱぱさんに倣って Fedex にしました。

Pololu m3pi Robot with mbed Socket : $149.95
3pi Expansion Kit with Cutouts : $11.95
Pololu USB AVR Programmer : $19.95
FedEx International Economy : $36.95
計 $218.80

関連
m3pi が届いた

参考
Pololu 3pi robotをオーダーしました
m3piを作ってみよう


アンドロイド の傾きセンサで マインドストーム を動かす


YouTube Preview Image

この記事は 日本 App Inventor ユーザー会 Advent Calendar 2011 という企画の1つのエントリです。

以前、書籍 30分でつくれるAndroidアプリ に紹介されている方法で、アンドロイドからマインドストームを動してみました
それは、タッチパネル上のボタンを押すと、マインドストームが前進するというものでした。

今回は、アンドロイドの傾きセンサを利用してみました。
きっかけは、日本App Inventorユーザー会 のMLで下記のようなやりとりがあったことです。

機械電気科 都島工業
このプログラムの場合ボタンを押したら指定時間(もしくは距離?)進むのですが、そうでは無くボタンを押している間だけ進むと言う形に変えたいと思っています。

大和田 (私)
ボタンを押している間だけ走るという方が自然なので僕も挑戦したのですが、現在の App Inventor のButtonコンポーネントのイベントではボタンを押した時しか分からず、ボタンから指を離したイベントがないのです。

つれもて
本屋さんで立ち読みをしていたら マインドストームを加速度センサーで操作って掲載されていました。これの方がスマートフォンらしいですね。

AppInventor の 傾きセンサコンポーネント を調べてみたら、pitch(前後の傾き) roll(左右の傾き)が取得できるようです。
そこで傾きが10以上なら半速前進、20以上なら全速前進、としてみました。

ソースコードは code.google に置いています。

スクリーンショット

デザイナー (Designer)

ブロックエディタ (Blocks Editor)
AppInventor の ifコンポーネント には elseif がないので、else の中に ifコンポーネントを置くという不格好な構成になってしまいました。

動かしてみる。 上段のビデオ。

関連
アンドロイド から マインドストーム を動かす

参考
2011年 オクトバ大忘年会 アフターレポート!
マインドストームを持込んだところ、記事に掲載して頂きました。


Google Developer Day – Open Call


2011年11月1日(火) GDD Google Developer Day に参加しました。
GDD は Google が主催する開発者向けのカンファレンスです。
今回は Open Call の展示要員として参加しました。
Open Call は、一般公募による展示コーナーです。
テーマは ADK と HTML 5 の2つでしたが、展示は ADK が中心でした。
ADK Android Open Accessory Development Kit は、アンドロイド端末と外部機器を接続するためのマイクロコントローラです。

以下、Open Call のミニシアターの発表順に

紙相撲マシン (Paper SUMO Battle Field) Ryoji Sakai
お馴染みの紙相撲です。 太鼓を叩いて、上からぶら下がった指で、土俵をゆらす。
遊び心いっぱいで、一番人気だった。

SceneMix 日高隆博
オーディオミキサー。動かず 会場でず~とデバックしてました。

Tele Sky Mapで星空散歩 大槻正樹
天体望遠鏡に連動して、星空を映す。 出来栄えはぴか一でした。
横浜ロボット部 の大槻さんの作品。 私はここのお手伝い。

移動探索型せんぷうき Takahiro Okada
人を探して風を送ってくれる扇風機。 上下に高くバランスが悪いのが逆に愛らしい。
横浜ロボット部 の岡田さんの作品。

DreamWaver –さざ波によせて 石田勝美
小さい磁石を使って水の上に波紋をつくる。 製作時間のほとんどがコイルを巻く時間だったそうです。

Android + Robot Illusion Noboru Sugiura
LEDを点灯させながら動くロボット。 非常に綺麗でした。
横浜ロボット部 の部長 杉浦さんの作品。
 

Escape the Wait Kevin Jordan
病院の待合時間の短縮するもの。 受付票にタグがついていて、自分の受付票がどこまで進んだか分かる。
遠くカルフォルニアからの参加です。

クラウド時代の文鳥との暮らしをサポートするサービス 「コトリト」 itog
家で飼っている小鳥に外出先から餌をあげる。 本物の鳩を持ち込んでました。

Sanshin Jyunji Kondo
沖縄の楽器 三線 を模擬したもの。 音楽好きな方に人気でした。

NFC for Everybody zaki
Felica リーダーを NFC 用に改造したもの。 これで NFC が内蔵されていないアンドロイド端末も NFC 対応に。
転職したばかりの zaki さんの名刺が大人気。

DroidAdventureres 冒険家たち 竹内陽児
冒険家のためのツール。 写真はガイガーカウンタ。

StreetView Exercise Sugi2009
ステッパーを踏むとストリートビューが変化する。

Thank you the World Shigeki Ohtsu
これだけ HTML5 の発表。
震災支援の感謝を表す canvas アニメーション。

番外
私が持ち込んだアンドロイドから制御する マインドストーム
Gclue さんのブログで「Open Call に呼ばれてないのに ゲリラデモしていた」と紹介された。

GDD に参加するには
GDD に参加するには、DevQuiz にチャレンジして、招待される必要があります。
私が DevQuiz をチャレンジしたところ、100.2 点でした。
合格ラインが 100.5 点だったので、あえなく落選してしまった。

地元 横浜での開催でもあり、なんとか参加したいと思っていました。
横浜支部のMLにて、Open Call の手伝いの募集があり、応募したところ、こちらで採用となりました。
そんな訳で、当日は発表は聞かずに、Open Call の展示コーナーに1日居ました。

御礼
横浜支部 をはじめ大勢の方々に見学に来ていただきました。
そのまま、展示コーナーに居つくてしまう人もいました。(^o^)
おかげさまで、楽しい時間を過ごせました。

参考
Google Japan Developer Relations Blog
Google Developer Day 2011 Japan Open Call- Android ADK
GClue blog : Google Developer Days 2011 レポート Open Call
MRSa’s blog : Google Developer Day 2011 Japanに出品してました


マインドストーム ライントレーサー


YouTube Preview Image

自立走行の定番 ライントレーサー をマインドストームで試してみました
マインドストームにはカラーセンサが付属しています。
これで床面の濃淡を2値で判定します。
明るければ左方向に、暗ければ右方向に、進むようにします。
これらは、書籍 入門 LEGO MINDSTORMS NXT にて説明されています。

プログラム

試験走行
ロボットは Shooter bot 2 と同じものです。
少しパラメータの調整が必要でした。
モーター出力が100%だと、簡単にコースアウトしました。
出力が70%くらいがいいみたいです。

完成
首を振りながら進む姿がちょっと可愛い。
上段のビデオ。

関連
マインドストーム Shooter bot 2
入門 LEGO MINDSTORMS NXT 第2版

参考
ライントレースのプログラム