2011年2月27日日曜日

小学校で使えそうなArduino互換機

最近、Arduinoの成果を利用した互換機がたくさん出てきて、面白いことになっています。本家ArduinoのWebサイト内でも、これまでに開発されたものが紹介されていますし、このBLOGでもDiavolinoejackino(AE-ATmegaも含む)を紹介してきました。また、たびたび紹介してきたPicoBoard互換機でもあるHelloBoardは、Scratchと連携可能なArduino互換機でもあります。

Arduinoをできるだけ安く作ることを考えると、Diavolinoのように部品数を減らしたり、安い部品を使ったりする必要があります。Seeeduino V2.21は、そんなArduino互換機の1つです。既にさらに安いArduino互換機があるので、魅力が薄いかもしれませんが、構成として本家Arduinoに近い物を求めるなら、選択肢には入ると思います。

さらに安いArduino互換機を作ろうと考えると、どうしてもUSBシリアル変換IC(FT232RLなど)のところでつまずきます。メインのマイコンより高い。そこで、USBシリアル変換ICなしで動くMetaBoardに注目しました。日本では「ちっちゃいものくらぶ」で「めたぼ~ど」として頒布されています。既存のArduino用シールドが使えないのが難点ですが、子どもたちに使わせる教材という意味では、安いというのは大きな魅力です。これをさらに安くしたのが「ちびでぃ〜の」です。ブレッドボード上に組むので、基板がない。中高生くらいなら、これでもいいではないかと思います。

Duino-Vは、MetaBoardとちびでぃ~のの中間くらいの位置にあり、回路自体は基板上に組んであるので、ブレッドボードに載せるなどして簡単に利用することができます。これならば、小学生でも使える可能性があります。ただし、USBコネクタ部分が弱い感じがするので、作業は慎重に行わせなければならないと思います。

最後に他のものと大きく違うけど、今注目しているDotsDuinoというものがあります。見た目は8x8LEDドットマトリクスそのものですが、裏側にArduinoが組み込まれています。似たような発想で、LCDと組み合わせたものもあります。Arduinoの汎用性を若干犠牲にしつつ、ある部分に特化することで新たな利用方法を提案するもので、こういう展開もありだなぁと思います。来年度の活動に何を使うか、考え中です。

2011年2月20日日曜日

入手しやすい部品だけでArduino互換機を作る

先日、拙作のWebページ「小学校にフィジカル・コンピューティングを」で紹介した、Arduino互換マイコンボード「ejackinoAE-ATmega)」基板を使った格安Arduino互換機作りについての続きです。

ejackino基板とAE-ATmega基板を比べると、微妙に回路の取り回しが違うのですが、部品はほとんど同じ。でも、一つだけ「整流ダイオード」が「ブリッジダイオード」になっているところが違います。整流ダイオードなら秋月で「1N4007」が20本入りで100円(単価5円)です。一方、ブリッジダイオードは、「DI1510」が50個入りで950円(単価19円)ですが、50個はちょっと多すぎです。そこで、「AM1510」(5個入り100円、単価20円)を使うことにしても、単純に考えて値段は4倍です。しかも、DI1510とAM1510はピンの配列が違うので、ピンを折り曲げて加工しなければなりません。これが如何にも面倒です。

そこで、整流ダイオードで回路を組むことにしました。(今回は、以前にマルツパーツ館で購入していた「10DDA10」を使いましたので、少々お高めですが、これを1N4007に置き換えることができます)ejackinoと同じ回路にするためには、手前の「~」と奥の「-」をジャンパして、奥の「~」と手前の「+」を整流ダイオードで繋ぎます。(向きに注意)これで、少し安く(20円→5円)なりました。

さらに、「背の低い電解コンデンサ」を「普通の電解コンデンサ」で代替する方向を考えました。背の低い方が10個入りで567円(単価56.7円)なのに対して、普通のはだいたい1つ10円です。1枚のAE-ATmega基板に2つ必要なので、その差はさらに大きくなります。普通の電解コンデンサを寝かせて取り付けることができれば、背の低い電解コンデンサと同じくらいの高さになります。そこで、基板の穴に合うように足を折り曲げて取り付けてみました。これで、普通の電解コンデンサを使っても、シールドなどに干渉することがなくなりました。また安く(56.7円*2→10円*2)なりました。完成したものは、twitpicに写真をアップしてあります。

ここまでで、合計108.4円の節約になりました。何とも地味な節約ですが、如何に安く作るかということを考えるのも、頭の体操にもなって良い気がしています。

大量生産することにして部品を大量に卸してもらえば、こんな努力がバカバカしくなるくらい、ものすごく安くなるってことは知っています。でも、私の本職はこれじゃないし、ジョブチェンジするつもりもありませんので、こんなことを楽しんでいます。(^_^;;;

2011年2月15日火曜日

USB-TTL変換をDiavolinoで使ってみました。

先日、aitendoPL-2303HXが載ったUSB-TTL変換を購入しました。その名の通りTTLとUSBを相互に変換するものですが、USBコネクタ(A)やクリスタル、発光ダイオード、L字ピンヘッダまでついて500円とはお値打価格だと思います。

早速、Arduino互換機であるDiavolinoや自作のDiavolinoクローンで使えるかどうか試してみました。これまで使っていたFTDIFT232RLを載せた自作ケーブルでは、RTS(緑)、RXD(黄)、TXD(橙)、VCC(赤)、GND(茶、青)をDiavolinoにつないで動かしていました。しかし、aitendoのUSB-TTL変換には、RTSが出ていません。そこで、RTS(PL-2303HXの3番ピン)に導線をはんだづけして、「3V3」とシルク印刷されているところのピンヘッダにつなぎました。(3.3Vをピンヘッダまで引いてくるパターンは削ってあります)これで、FTDIのUSB-TTLケーブルと同じように使うことができるようになります。

次は専用ケーブルづくりです。共立で取り扱っているQIケーブルを加工して、USB-TTL変換のピン配列に合わせて専用ケーブルを作りました。反対のDiavolino側は、GNDを共有するように加工しました。これで無事にDiavolinoを動かすことができました。

ピンヘッダは、USBコネクタに比べて貧弱な感じで、子どもたちに使わせる際は気をつけなければならないことや注意させることが多いと思いますが、これだけ安くArduino互換機が自作できることがわかりました。これなら予算の厳しい学校現場でも使ってもらえると思います。(まぁこれが普及するためには、機器が安く使いやすくなるだけではダメなのですが…)今後は、複数のArduino互換機を使って、相互にやり取りさせながら使ったり、使用するプログラミングソフトウエア(Arduino-IDEScratchDolittleなど)を工夫して、より簡単にアイデアを実現する方法を考えていきたいと思っています。

2011年2月12日土曜日

Arduinoで考えたことを実現してみる

今、子どもたちと一緒に、ユニバーサルデザインを実現する学習をしています。昨年12月までは、「ちょっとの工夫で豊かな未来」という課題で、自分の身の回りにあるものを見直して、フィジカル・コンピューティング的な発想で改善を提案していくという学習活動(KNOPPIXScratchを動かし、PicoBoardWeDoHelloBoardなどをつないで使ってもらいました)を行ってきましたが、この活動をさらに発展させて、自分たちの生活だけでなく、いろいろな人たちとバリアフリーな生活ができるような工夫(ユニバーサルデザイン)を一人ひとりが考え、モデル化して提案する活動を行うのがこの学習の要点です。

この中で、子どもたちが「耳の聞こえない人に振動や光で時間を知らせる仕組み」や「目の見えない人に音で触ったものを知らせる仕組み」を考えたいと相談に来たのですが、センサー部分は子どもたちに作らせるとしても、それを動かすコントローラ部分をどうしようか考えました。

パソコンでプログラミングをすることでも簡単にできることは間違いないのですが、パソコンとのやり取りに終始している感じになってしまうことで、現実感がなくなってしまうことは避けたいと思いました。そこで、電池を使ってArduinoを動かし、光や音を出したり、振動モータを動かしたりできるようにしようと考えました。

ご承知の通り、音を出す仕組みはそれほど難しくはない(音は以前に実験した楽器を作ったり、メロディICモジュールを利用したりすればよい)のですが、振動モータは「Prototyping Lab」を参考にして作ったモジュールを使うことにしました。光についてはもっと簡単で、LEDモジュールでLチカするだけです。
#エレキットのメロディICモジュールは生産完了品のため、超小型ユニバーサル基板にメロディICとトランジスタ、4.7kΩ抵抗を載せてクローンを作りました

これらに比べて「時間に合わせる」というのがちょっと引っかかるところでした。まず、Timeライブラリ(以前のDateTimeライブラリから派生したもの)をArduino-IDEに導入し、TimeAlarmsライブラリ付属のサンプルプログラムを加工して、時間になったら光や音が出るようにしました。また、現在の時間の設定がわからないと不便なので、LCDが接続できるシールドを載せて、LiquidCrystalライブラリを使って時間を表示するようにしました。

自分が考えたアイデアをできるだけ簡単に実現(モデル化)することを考えると、Arduinoなどの汎用マイコンボードを使うと効果的だと思います。特に、プレゼンテーションする際、実際に目の前で動いているものを見せられれば、説得力が何倍にも増すこと間違いなしです。こういうことが簡単にできるのがArduinoの良さですね。今後は、教育現場での導入・活用が進むことを期待しています。