[[FrontPage]]

#contents

2013/04/27からのアクセス回数 &counter

** 小さいながら便利屋ATmega32U4 [#y858dfbd]

[[飯田さんのブログ>http://www.nekotorobot.com/2013/04/atmega32u4.html]]
を見て、ATmega32U4なら小さくてブレッドボードで使うのに最適だと思ったので、
早速スイッチサイエンスからATmega32U4を購入しました。

このボードは、小さいながらリセットボタンやチェック用のLEDも付いているので
とても重宝しています。

&ref(ATmega32U4.png);

** Arduino化 [#j7b0f8a4]
手元のArduino Duemilanoveを使って
[[飯田さんのブログ>http://www.nekotorobot.com/2013/04/atmega32u4.html]]
に従ってArduino化を試みました。

*** Arduino DuemilanoveをArduinoISPにする [#q074b40a]
以下手順でArduino DuemilanoveをArduinoISPにします。
+ Arduino Duemilanoveを接続して、Arduino IDEを起動
+ IDEからファイル>スケッチの例>ArduinoISPを選択
+ ArduinoISPを書き込み

*** Arduino DuemilanoveとATmega32U4の接続 [#xf21cdb5]
飯田さんのArduinoUnoだと問題なかったのかも知れませんが、書き込みで以下のエラーとなりました。

「avrdude: stk500_getsync(): not in sync: resp=0x15」

そこで、Googleで検索したところ、同じ事例があり、参考にさせて頂きました。

[[DiaryException>http://d.hatena.ne.jp/LaclefYoshi/20110108/1294475337]]

解決策として、ArdunoのAuto Reset機能を無効にするために、RESETピンと5Vピンの間に110Ωから124Ωの抵抗を挟めば良いことが分かりました。

手元の100Ωと64Ω2個で何とか実測124Ωとなり、これをブレッドボード配置しました。

接続は以下の通りです。

| Arduino | 32U4 |h
| 5V | VCC |
| GND | GND |
| D10 | RST |
| D11 | B2 |
| D12 | B3 |
| D13 | B1 |
| RESET-124Ω-5V | |

&ref(setting.png);

*** Arudinoの書き込み [#g867458f]

Arudinoの書き込みは、以下の手順で行いました。
+ ツール>マイコンボード から Arduino Leonard を選択
+ ツール>書き込み装置 から Arduino as ISP を選択
+ ツール>ブートローダーを書き込み を選択

無事書き込みが終われば、Arudino化は完了です。

*** 動作確認 [#u8a5c828]
ATmega32U4は、USB機器になるので、飯田さんの例にならってくるくる回るマウスを
書き込みます。

#pre{{
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とのピンの対応 [#g08e3422]
Arduinoのサンプルを動かすときにピンの接続対応が分かるように以下の対応表を作りました。

&ref(pinassign.png);


** コメント [#q633ce28]
#vote(おもしろかった,そうでもない,わかりずらい)

皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc