レオナルド互換基板[Da Vinci]にArduino-ISPでUNOでブートローダを書き込む。
ほぼ同じテキストが、サイトの方にもあります。
先日、日本橋共立で1200円程度で発見。
HIDでのキーボード関係を触りたかったので、思わず購入してしまいました。
が。
ブートローダがArduinoじゃなくて、FLIPというやつでした。
まぁ、どっちも同じ値段なんですけどね。でも見た感じFLIPとやらの方しかなかった。
ブートローダ書き込んじゃえばいいや、と思って共立ライタ繋いでも、芳しくない。
なんと、共立ライタがATmega32U4に対応していない!!
これは困った。どうやって書き込もう。
FTDIモジュールは、あくまでシリアルとして使いたい。
それに成功例ばっかだし。
・使った物
Arduino UNO(R2)
110Ωの抵抗。
Da Vinci
・手順
1.Arduino UNOが素の状態の時に、先にexamplesのArduinoISPを書き込んでおいてください。
2.StrawberryLinuxのページから、da-vinci-32u.zipをダウンロードしてきます。
ブートローダのhexとか、ドライバとか、boards.txtが入ってます。
3.Arduino IDEのboards.txtに、ボード定義を足す。
StrawberryLinuxのページに修正済みboards.txtがあるので、それを使ってもいいです。
4.ダウンロードしてきたda-vinci-32u.zip内の、「da-vinci-32u-master.hex」を、
「davinci.hex」とリネームして
「arduino-1.0.1\hardware\arduino\bootloaders\caterina」に放り込みます。
なぜboards.txtの方と名前が違うのかはよく分からないです。
5.つなぎます。
Arduino UNOと、Da VinciのISPコネクタは、
Da Vinciを上から見たときのピン配置が
------- |1|2| ------- |3|4| ------- |5|6| -------
なんで、それぞれをArduinoにこの場所に繋いで下さい。
------- |12|5V| ------- |13|11| ------- |10|GN| -------
って感じに。
1:MISO
2:VCC
3:SCLK
4:MOSI
5:RESET
6:GND
って事です。
6.Arduinoの5Vと、RESETを110Ω〜160Ωで直結。
これをしておかないと、ターゲットをリセットするときにUNOまでリセットがかかってしまいます。
僕は手持ちが無かったので、330Ωを並列に二つ繋ぎました。
7.Arduino IDEのTargetを[ツール]-[マイコンボード]から「Da Vinci 32U」に設定。
8.同じく、[ツール]-[書込装置]から、Arduino as ISP。
9.[ツール]-[ブートローダを書き込む]で、ブートローダを書き込みます。
10.表示が「ブートローダの書き込みが完了しました」になれば完了。
あとは、Da Vinci 32U with Arduino Bootloaderとして使えます。
Da VinciとArduino UNOの結線を外して、Da VinciにBlinkを転送し、正常に転送が出来る事、光る事を確認してOKです。