[[Arduino勉強会]] #contents 2015/01/04からのアクセス回数 &counter; ここでは、以下のArduinoの作り方を紹介しています。 - [[Arduino勉強会/05-声を出してみる]]で使った秋月のATMegaボードでArduinoを作ってみましょう。 - Uncompatino 3.3V版 ** 追加の部品 [#yd273abe] 追加で用意する部品は、以下の通りです。 | No. | 品名 | 秋月通販コード | 数量 | 価格 |h | 1 | ATmega328P | I-03142 | 1 | 250円 | | 2 | セラミック発振子 | P-00525 | 1 | 35円 | | 3 | 赤色 3mm LED | I-00562 | 1 | 100個入りで 350円| | 3 | タクトスイッチ | P-03649 | 1 | 10円 | | 4 | ピンヘッダ 2x3 | C-00082 | 2 | 2x40で50円 | | 5 | 1KΩ抵抗 | R-25102 | 1 | 100個入りで100円 | | 6 | 10KΩ抵抗 | R-25103 | 1 | 100個入りで100円 | | 7 | 0.1μFセラミックコンデンサー | P-00090 | 3 | 10個入りで100円 | 部品を以下の様にハンダ付けして、セットしてください。((画像ではセラミック発信子の代わりに水晶発振子を使っています。)) &ref(ArduinoProMini.png); ** マスターのArduinoにArduinoISPを書き込む [#yb41ea12] 買ってきたままのAtmega328PをArduinoとして使うには、Arduino用のブートローダ を書き込む必要があります。 Arduinoにはブートローダを書き込むためのスケッチが最初から提供されているので、 これを使います。 - ファイル→スケッチの例→ArduinoISPを選択し、ArduinoISPを書き込み用Arduino(親と記す)に書き込みます。 スケッチの書込が終わったら、以下の様に書き込み用Arduino(子と記す)とマスターを接続します。 | 親Arduino | 子Arduino |h | D10 | RESET | | D11 | D11 | | D12 | D12 | | D13 | D13 | | 5V | 5V | | GND | GND | &ref(setting.png); 書き込みのターゲットボードと書込装置を選択します。 - ツール→マイコンボード→ターゲットのMPUを持つマイコンボード(今回はArduino Uno) - ツール→書込装置→Arduino as ISP ブートローダを書き込みます。 - ツール→ブートローダを書き込む *** 子Arduinoの動作確認 [#z0540d59] ProtoSnap Pro MiniのUSBシリアルを使って、新しく作ったArduino(Arduino Pro Mini互換)にスケッチを書き込んで、 動作を確認してみます。 ((シリアルでArduinoにスケッチを書き込むには、DTRが必要[[Arduino/PIC18F14K50をUSB変換アダプターにする]]参照。)) ArduinoとUSBシリアルの接続は以下の通りです。 | Arduino | USBシリアル |h | 0: Rx | TXO | | 1: Tx | RXI | | RST | DTR + 0.1μFのコンデンサー | | 5V | VCC | | GND | GND | &ref(Arduino-Pro-Mini_Serial_Setting.png); Blinkスケッチを開きます。 - ファイル→スケッチの例→01 Basic→Blinkを選択 書込装置をAVR ISPにもどして、書き込みます。LEDが点滅すれば完成です。 - ツール→書込装置→AVR ISP - ファイル→マイコンボードに書き込む ** Uncompatino 3.3V版 [#jd4d1df8] mini SDカード等多くの部品が3.3Vで稼働するようになり、Arduinoの5Vで使用するには レベルコンバータが必要になり、ちょっと不便なので [[作って遊べるArduino互換機 >http://www.amazon.co.jp/dp/4883378802/]] で紹介されているUncompatino 3.3V版を作ってみました。 &ref(Uncompationo_3.3V.png); 必要な部品は以下の通りです。 | 品名 | 秋月コード | 数量 | 備考 |h | 『作って遊べるArduino互換機』パーツセット | K-06906 | 1 | | | UncomPatino基板 (基板単品販売) | P-07487 | 1 | | | NJM2845DL1-33 | I-02247 | 1 | 4個入り | | 電解コンデンサー100μF | P-03122 | 1 | | | セラミックコンデンサー0.33μF | P-04227 | 1 | 10個入り | *** 組み立て [#e14c0985] 一番の難関がFT232RLのハンダ付けでしょう。 以下の様にすると割と楽にできます。 - メンディングテープ等でFT232RLを固定 - フラックスをFT232RLのピンの周辺に塗る - ハンダで一カ所だけを固定してテープを外し、位置を確認 - ブリッジができても構わず、おもいっきりピンにハンダを付ける - 吸い取り線に半田こてを当てたまま、FT232RLから離れるようにずらす &ref(FT232RL_fix.png); 他の部品のハンダ付けは、背の引く物から付けます。抵抗値や取り付け向きに気を付けましょう。 ((私は、抵抗がすべて1KΩだと思い込んで取り替えるのに苦労しました)) - 抵抗 - セラミックコンデンサー - ICソケット - 電解コンデンサー - LED, タクトスイッチ、ピンソケット - USBソケット *** ブートローダの書き込み [#p4a063fa] ブートローダの書き込みに使用するBitBangをまとめて以下のZIPファイルに入れました。 - &ref(BitBang.zip); 最初にすべてのジャンパーを結線します。 &ref(jumper.png); 次にavrdude-GUI.exeを起動し、 | 項目名 | 設定方法 |h | avrdude exe File | avrdude.exeを入力 | | Programmer | FT232R Synchronous BitBang(diecimila)を選択 | | Port | Uncompatinoのシリアルポート | | Device | Atmega328P(m328p)を選択 | | Command line Option | -P ft0 -B 76800 | &ref(th_avrdude-GUI.jpg); FuseのReadボタンを押すと現在の設定でます。以下の設定を入力し、Writeを実行します。 &ref(huse.png); ブートイメージの書き込みは、Flashに Arduinoのフォルダ/hardware/arduino/bootloaders/atmega/AtmegaBOOT_168_atmega328_pro_8MHz.hex を選択し、Erase-Write-Verifyを実行します。 あるいは、先のように別のArduinoを使って書き込んでも構いません。 ((私は後者を使いました)) &ref(WriteBoot.png); ** コメント [#bc6b8ae8] #vote(おもしろかった[14],そうでもない[0],わかりずらい[0]) #vote(おもしろかった[15],そうでもない[0],わかりずらい[0]) 皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。 スパム防止に画像の文字列も入力してください。 #comment_kcaptcha