ARMが乗ったMacが発売されるということで早速注文してしまいました。最近は新品のPCを買った事がなかったのですが、新しいM1プロセッサが載っているということで興味津々です。これまで68K→PowerPC→IntelのCPU移行をみてきたこともあり、今回も楽しみです。
MacBook Airが到着
スペックはメモリ8GB、SSD 256GBという一番低いものです。移動しての利用を想定しているので、そんなに重い処理を行うつもりはありません。ファンレスでどこでも使えるという物を選びました。

電源を投入すると懐かしい「ジャーン!」が鳴り響きました。
起動画面を見ると普通のmacです。標準搭載されているアプリを起動すると何やらすぐアプリケーションの画面が出ます。新しいCPUなので速いと噂には聞いていましたが、本当にサクサク速いです。Dockのアイコンをクリックして一瞬でアプリの画面が開きます。
先日到着したDENSIKIT.COMさんのArduino互換のOnBoardを組み立てました。
ほとんどのパーツは手元にあったのですが、長い細ピンヘッダが無かったのでそれだけ新規に購入しました。
組み立て中の様子はこんな感じ。いつもながらゴチャゴチャしています。

組み立ては特に問題なく、すべてのコネクタやピンソケットを取り付けました。シルク印刷も見やすく部品数も少ないためスムーズに進みました。
6ピンヘッダにスイッチサイエンスのFTDI BASICを取り付け、PCのUSBコネクタに接続したところ、LEDが点滅をはじめました。OnBoardは問題なく動作しているようです。
完成したOnBoardはこんな感じです。標準的な小型ブレッドボードの横幅にピッタリ合います。

せっかくですので何か作ってみようとパーツを探したところ、秋月電子で購入したRGB LEDアレイとI2C接続小型LCDユニットを接続することにしました。
RGB LEDアレイはカソードコモンになっているので、接続するためにはOnBoardの端子とLED端子の間に電流制限用の抵抗を接続しなければなりません。このため先ほどの標準的なブレッドボードだけでは実装が難しいため、今回は少し横長のブレッドボードを使用しました。
今回はD0〜D9から1KΩの抵抗をはさんで、RGB LEDアレイの11番端子から20番端子に接続し、D10をREDのカソード、D11をBLUEのカソード、D12をGREENのカソードに接続することで、RED/BLUE/GREENを順番に切り替えるようにしました。
LCDモジュールはI2C接続なので、OnBoardのSDA,SCL端子に接続すれば良いのですが、残念ながらパターンが接続されていないという報告が他のテスターのかたからありましたので、A4(SDA)、A5(SCL)に接続しました。LCDモジュールの電源はOnBoardの端子から容易に取り出せます。
なお、このLCDモジュールは3.3Vなので、FTDI BASICで電源電圧を3.3Vに設定して動作させています。FTDI BASICで5V/3.3Vを切り替えられるのもプロトタイピングには便利な点だと思います。
このLCDには表示している色を表示するようにしました。
RGB LEDアレイとI2C LCDを接続したOnBoardは写真のようにシンプルになりました。単色のLEDアレイであればLEDが並んでいるだけなので、横長のブレッドボードを使わなくても奇麗に収まるでしょう。I2C LCDの接続は非常にシンプルです。

実際に動作している様子をYouTubeにアップしておきました。
正式版のOnBoardが楽しみです。今回OnBoardのテスターにご招待いただいた@will2ttさんに感謝いたします。
densikit.comさんがArduino互換でブレッドボードにそのまま差してつかうOnBoardというボードのテスターを募集していたので申し込みました。
届いた基板はこんな感じで、白がカッコいいですね。ブレッドボードに合いそうです。また、ご招待レターも入っていて素敵です。

私はブレッドボードが大好きなので、このようなボードがあると便利だなあと思っていました。
手持ちのパーツである程度組み立てはできそうなのですが、少し足りないものがあるので完成は少し先になるかもしれません。
千石電子でこんな切手大のサイズのユニバーサルボードを見かけました。
7segduinoに丁度良いサイズだなと思ったので、秋月電子のMPL115A2モジュールとこの基板を使って7segduinoの気圧計拡張ボードを作ってみました。
作ってみたところ、こんな感じになりました。
表面
裏面
7segduinoに取り付けるとこんな感じです。
取り付け面
表示面
正常に動いているようです。お天気とこの値を比べてみたいと思います。
前回MBeeDuino単体でタミヤのレスキュークローラーを制御してみましたが、MBeeDuinoはXBeeが搭載できるのが特徴です。これを活用しないわけには行きません。
XBeeをつけても走行の邪魔にならず、USBが簡単に接続できるように最終的には次の写真のように実装しました。
キャタピラの横からUSBケーブルをMBeeDuinoに接続しファームウェアの書き込みができるようになっています。

この状態で、まずはPCから無線で制御してみました。
XBeeをMARY XB基板に載せて、PCとシリアル接続をしてTeraTermから文字を送信することで、入力文字に応じた動きができました。
テストなので前進、後進しか機能をつけていませんが特に問題なく動作します。
しかし、PCから制御するのはイマイチです。小さいリモコンのようなものがあると手軽ですよね。
そこで思いついたのはMARYをリモコンにしてしまうことです。
MARYにはXBeeが実装できるXB基板や4方向スイッチや圧電サウンダが載っているUB基板があります。
これを組み合わせれば電池で稼働するリモコンができるはずです。
実際に作ってみるとこんな感じです。ほぼサンプルプログラムがそのまま使えたので30分ぐらいでできました。
各種サンプルが揃っているのでMARYは手軽です。
さて、MARYリモコンを使って、実際に動かしてみました。
いかがでしょう。レスキュークローラーはその名の通り障害物があってもガンバッて進んでくれるので面白いですよ。
ちょっとMARY UB基板のスイッチは小さいので操作がしにくいですね。
CB基板(ユニバーサル基板)にもう少し大きいスイッチ載せて使うのが良いかもしれません。

追伸:電池BOXがキャタピラから大きくはみ出していると引っかかるので、縦に取り付け直しました。

@naka_at_kureさんが、MBeeDuinoというArduino互換で3chモータードライバとXBeeが搭載できる生基板を配布されていたので分けていただきました。
タミヤの模型に実装できるように穴の位置やサイズなどよく考えられており、我が家にあるタミヤのレスキュークローラーに載せられないかなと思ったのです。
部品を集めて完成したMBeeDuinoはこんな感じです。サイズも小さいです。

タミヤのレスキュークローラーはこんな感じです。かっこいいでしょ〜。

モーターが3つ搭載されていて、2つはキャタピラの回転制御、もう1つは前方のキャタピラを上下することができます。
MBeeDuinoはモーターを3つ制御できるのでまさに最適です。
どこに取り付けようかと考えましたが、一番広いスペースである本体の裏側に目をつけました。

試しにここにMBeeDuinoを取り付けたところピッタリです。

この状態でモーターと配線して、MBeeDuinoで制御してみました。
キャタピラを1秒間隔で正転、逆転を交互に繰り返すようにプログラムしました。
問題なく動いているようです。
ただ、残念なことにこのままでは肝心のキャタピラを固定するスペースがないので走らせることができません。
そこでタミヤの楽しい工作シリーズの「ユニバーサルプレートセット」と「トラック&ホイールセット」を利用することで、プレートを広くしたあとに、キャタピラを固定できないかと考えました。
交換するプレートを並べてみました。狭いですがキャタピラを固定できる程度のスペースは確保できそうです。

新しいプレートに取り替えたところ、MBeeDuinoの取り付けスペースとキャタピラの取り付けスペースが確保できました。

トラック&ホイールセットのキャタピラを使って長さを調整し、モーターの位置も少し動かすことで、大きなたるみもなくキャタピラを取り付けることができました。

あとは電池をどうやって実装するかを考えなければなりません。また次回に続きます。
@morecat_labさんから、7segduinoの試作版を試しませんかというツイートをみかけたのでお願いしたとこころ、7segduinoリード部品版パーツセット一式をお送りいただきました。
7segduinoの詳細は@morecat_labさんのサイトで紹介されています。
http://morecatlab.akiba.coocan.jp/lab/index.php/aruino/7segduino/
本来ですと、SparkfunのFTDIアダプターがそのまま刺さるようになっていますが、私はあいにく持っていませんので、秋月のFTDIモジュールを使うことにしました。
7segduinoの組み立てですが、ハンダ付けの経験があれば特に問題なく作れると思います。
部品点数も少ないので短時間で製作できます。
注意すべき点としては、7セグLEDをハンダ付けする前にAVRに書き込みができるかの確認を行うことです。
7セグLEDをハンダ付けしたあとは基板の裏側にはアクセスできなくなってしまいます。私はこれを忘れて7セグLEDまで取り付けてしまいましたが、無事一発で動作したので助かりました。
また、7セグLEDを取り付ける方向は、基板にUP, DOWNと書かれていますので、これで合わせる必要があります。
完成した7segduinoです。


秋月のFTDIモジュールとの接続は、ピンーソケットケーブルで以下のように接続しました。
JP1(Sparkfun FTDIアダプタ) CN2(秋月FTDIモジュール)
----------------------------------------------
1 GND 7 GND
2 CTS (U1-11) 10 CTS
3 Vcc (5V or 3.3V) 4 VIO
4 TXO (U1-1) 1 TXD
5 RXI (U1-5) 5 RXD
6 DTR (U1-2) 2 DTR
なお、秋月のFTDIモジュールのJ2はショート(USBから電源)、J1は2-3ショート(5V)とします。
実際に接続するとこのようになります。

この状態でiMacのUSBに接続したあとに、Arduino IDEを起動しLilypad Arduino 328とすることで、スケッチのアップロードもできました。
サンプルプログラムを動かしてみました。
無事動作を確認することができました。
最近は自動販売機の投入料金表示の7セグLEDでアニメーションをやっているのを見かけますが、あのような様々な表現を試してみたいと思います。
また、I/O端子にセンサー類も取り付けられるので、ブレッドボードでいろんなセンサーを接続して、気に入ったものは基板にして7segduinoに取り付けると面白いでしょう。
試作7segduinoをお送りいただいた@morecat_labさんに感謝です。
大人の科学マガジン Vol.27 テクノ工作セットを買ってきました。
Arduino互換のJapaninoとPOVのセットです。
Japaninoは相当コストをカットしているように見受けられましたが、USBに直接挿すことができるのは便利かも。
あと、Macで使うときはアップロードのときにタイミング良くリセットスイッチを押さないと行けないのがちと不便です。ファームのアップデートとかでこのあたり改善できるのかなぁ。

Make: Tokyo Meeting 04で、スイッチサイエンスさんから購入したProto sheld v.4とArduinoシールド用ピンソケットのセットを使って、ArduinoのLCDシールドを作ってみました。
これまでは、ブレッドボード上に組んでいましたが、今後もよく使うと思うのできちんとしたものにしました。LCDは秋月の小型LCDです。

LCDシールドは表示が見えるように一番上に載せることになるので、リセットスイッチがあるのは便利です。
バックライトはショートピンで点灯/消灯が選択できるようにしました。
Arduinoとの接続はピンヘッダからジャンパピンでD2からD7に接続していますが、必要があればジャンパピンを外して、メスーオスのケーブルで他のデジタルポートに接続できるようにしています。
とりあえずLM73をつないで温度計にしました。快調に稼働しています。
Arduinoのイーサーネットシールドをスイッチサイエンスさんで購入しました。
スイッチサイエンスさんは価格も安くいつも迅速に発送していただけるので感謝しています。
早速、Arduinoに接続してみました。写真のように親亀の上に子亀が乗るようなスタック構造になります。

スケッチはサンプルにあるLibrary-EthernetのWebServerを修正して使います。
このサンプルスケッチの行数はコメント込みで60行程度しかありません。削ればもっと短くできます。かなりコンパクトなものですが、十分実用的に使えるものです。
自分のArduinoで動かすためにはスケッチを2箇所修正する必要があります。
- MACアドレスを指定する。(スイッチサイエンスさんではMACアドレスがついてきます。)
- IPアドレスを指定する。(これは自宅ネットワークに合わせます。)
あとは、Arduinoにアップロードして、指定したIPアドレスをWebブラウザで表示すると、アナログポートの値が表示されます。

このようにWebサーバとしての骨組みがすでにできているので、あとは表示したい情報をお好みで変えるだけです。
サンプルにはChatServerとかもありましたので、あとで実験してみたいと思います。