なのぼ〜どAG を Arduino として使う(Macで)

なのぼ〜どAGを 2,000円の Arduino 互換機として楽しむ
=============================================

'[キッズクリエイティブ研究所](http://www.canvas.ws/kenkyujo/programminglab/index.html)'の「[プログラミングラボ](http://www.canvas.ws/kenkyujo/programminglab/index.html)」 で、'[OtOMO](http://scratch-ja.org/)'さん共催のワークショップで使われていた、'[ちっちゃいものくらぶ](http://tiisai.dip.jp/)'の「[なのぼ〜どAG](http://tiisai.dip.jp/?page_id=935)」を、『ワークショップの続きでScratchのプログラムを完成させたい』というこどものために 完成品を注文( http://tiisai.dip.jp/?page_id=449 )。ついでに自分の分も、キットをお願いして、2つのなのぼ〜どAGとなのぼ〜AGの組立部品が届きました。

キットとは言え、表面実装部品は半田付け済みで、普通サイズ部品のみをWebページの組み立て解説のとおりに取り付ければ良く、これなら小学生でも工作可能かも。
Scratchのプログラムと合わせて、夏休みの工作に良さそうです。
プログラムと組み合わせた時に、学校への提出やら展示やらをどうするか？というのも考えないといけないのかもしれないけど．．．

そんな子どもたちの素直なScratchのセンサーボード互換機としての使い方は子どもたちに任せておいて、これをArduino互換機として遊ぼうというのがオトナの狙い。

なのぼ〜どAGの組立と動作確認
------------------------
Arduino として使うにも、Scratchのセンサーボードとして使うにも、USB-Serialドライバが必要。なのぼ〜どドライバのインストールは次のページ参照

+ [Mac](http://scratch-ja.org/nanoboarddriverinstallmac)
+ [Windows](http://scratch-ja.org/nanoboarddriverinstallwindows)

動作確認用のScratchは、Offlineエディタのv1.4の古い方( http://scratch.mit.edu/scratch_1.4/ )を使います。(2.0ではだめみたい)

組立の人で、手順0)
> 基板3ヶ所(赤線部分)をジャンパー線でハンダ付け。(Bluetooth通信モジュール拡張コネクタです、拡張したい場合は、完成品と同様に、6P+3Pピンヘッダをはんだづけして、ショートピン3個を取り付けます。)

で、3x2Pピンヘッダを付けた人は、ショートピンを付けてないと動作しないので注意(これに1時間ハマった orz)

Arduino IDE と Scratchセンサーボードのスケッチ
------------------------------------------
Arduino IDE は 1.0.5を使いました。> 本家のダウンロードサイト( http://arduino.cc/en/Main/Software )

ボードの定義は、次のコードを hardware\arduino\boards.txt に書き加えます。(Macでは /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/boards.txt )

```
####################################################
atmega8o83.name=chibiDuino pro ATmega8 38400 optiboot

atmega8o83.upload.protocol=arduino
atmega8o83.upload.maximum_size=7680
atmega8o83.upload.speed=38400

atmega8o83.bootloader.low_fuses=0×94
atmega8o83.bootloader.high_fuses=0xDC
atmega8o83.bootloader.path=optiboot
atmega8o83.bootloader.file=optiboot_cp83.hex
atmega8o83.bootloader.unlock_bits=0×3F
atmega8o83.bootloader.lock_bits=0×0F

atmega8o83.build.mcu=atmega8
atmega8o83.build.f_cpu=8000000L
atmega8o83.build.core=arduino
atmega8o83.build.variant=standard

####################################################
```

Arduino IDE の ツール > マイコンボード > chibiDuino pro ATmega8 38400 optiboot が選択可能になります。

Scratchのセンサーボードとしての最新スケッチは[なのぼ〜どAGのWebページ](http://tiisai.dip.jp/?page_id=935)からリンクされていて、NanoBoardAGWithMotorTrio_diag_sonerm41.zip を使いました。

さて、この NanoBoardAGWithMotorTrio_diag_sonerm41 を Arduino IDE でコンパイルしようとしたらエラーが出ます。NewPing ライブラリが無いみたいです。
探すと NewPing ライブラリは見つかるのですが、NewPing v1.5 を使ってみてもどうもコンパイルが上手くいきません。
ここでは、NewPing をなのぼ～どのATMega8用に修正したものを使うのが正解のようです。( http://tiisai.dip.jp/?p=2520 )。
「なのぼ～どのATMega8用に修正」した NewPing.zip をダウンロードしたら、Arduino IDE の スケッチ > ライブラリを使用 > Add Library... から、ダウンロードした NewPing.zip を指定します。すると スケッチ > ライブラリを使用 > ユーザー提供：NewPing が表示されるので、そのまま検証・コンパイルを実行します。

数個の worning が表示されるものの、無事にコンパイルされてなのぼ〜どAGに書き込みができるようになります。

おまけ：動作確認 Scratch
----------------------

![スクリーンショット 2014-07-06 11.27.57.png](https://qiita-image-store.s3.amazonaws.com/0/9477/bc83e9f8-4cba-86c1-e2d2-42e97bdb2b36.png)

http://scratch.mit.edu/projects/24396284/ 
中を見る > ファイル > このコンピューターに保存 とか ダウンロードとかして Offline 版の Scratch で動かします。
スライダーと音センサに反応します。