2013/04/27からのアクセス回数 9778
飯田さんのブログ を見て、ATmega32U4なら小さくてブレッドボードで使うのに最適だと思ったので、 早速スイッチサイエンスからATmega32U4を購入しました。
このボードは、小さいながらリセットボタンやチェック用のLEDも付いているので とても重宝しています。
手元のArduino Duemilanoveを使って 飯田さんのブログ に従ってArduino化を試みました。
以下手順でArduino DuemilanoveをArduinoISPにします。
飯田さんのArduinoUnoだと問題なかったのかも知れませんが、書き込みで以下のエラーとなりました。
「avrdude: stk500_getsync(): not in sync: resp=0x15」
そこで、Googleで検索したところ、同じ事例があり、参考にさせて頂きました。
解決策として、ArdunoのAuto Reset機能を無効にするために、RESETピンと5Vピンの間に110Ωから124Ωの抵抗を挟めば良いことが分かりました。
手元の100Ωと64Ω2個で何とか実測124Ωとなり、これをブレッドボード配置しました。
接続は以下の通りです。
| Arduino | 32U4 |
| 5V | VCC |
| GND | GND |
| D10 | RST |
| D11 | B2 |
| D12 | B3 |
| D13 | B1 |
| RESET-124Ω-5V |
Arudinoの書き込みは、以下の手順で行いました。
無事書き込みが終われば、Arudino化は完了です。
ATmega32U4は、USB機器になるので、飯田さんの例にならってくるくる回るマウスを 書き込みます。
int phase = 0;
int full = 100;
int radius = 100;
int delay_msec = 2;
int x = radius;
int y = 0;
void setup() {
}
void loop() {
++phase;
phase %= full;
double th = 3.141592 * 2 * phase / full;
int xx = radius * cos(th);
int yy = radius * sin(th);
Mouse.move(xx - x, yy - y, 0);
x = xx;
y = yy;
delay(delay_msec);
}
Arduinoのサンプルを動かすときにピンの接続対応が分かるように以下の対応表を作りました。
皆様のご意見、ご希望をお待ちしております。