Arduino始めました ― 2012/11/17 13:23
ふと大人の科学を購入し、Aruduino互換のjapaninoを手に入れた。
電子工作なんて大学のとき以来なんだけど、なかなか楽しい。
電子工作なんて大学のとき以来なんだけど、なかなか楽しい。
で、今度はちっちゃいものくらぶさんが頒布されている、
「ちびでぃ~の2」と「ちびでぃ~のPRO」を購入。
初心者につきスキル不足なんで、ブートローダ書込み済の奴にした。
早速組み立てたがちびでぃ~のPROで躓いたので、覚書程度にまとめてみる。
(下写真のちびでぃ~のPROには、ピンヘッダを追加している。)
まずはUSBSerialモジュ~ルのドライバをPCにインストール。
HPを参考に組み立てたあと、これまたHPを参考にarduino-1.0.1の設定を
行う。
下記はHPの抜粋
1)hardware/arduino/boards.txtに以下を追加
####################################
atmega8o8.name=[Optiboot] ATmega8 8MHz
atmega8o8.upload.protocol=arduino
atmega8o8.upload.maximum_size=7680
atmega8o8.upload.speed=115200
atmega8o8.bootloader.low_fuses=0×94
atmega8o8.bootloader.high_fuses=0xDC
atmega8o8.bootloader.path=optiboot
atmega8o8.bootloader.file=optiboot_atmega8-8m.hex
atmega8o8.bootloader.unlock_bits=0×3F
atmega8o8.bootloader.lock_bits=0×0F
atmega8o8.build.mcu=atmega8
atmega8o8.build.f_cpu=8000000L
atmega8o8.build.core=arduino
atmega8o8.build.variant=RCduino
####################################
1)hardware/arduino/boards.txtに以下を追加
####################################
atmega8o8.name=[Optiboot] ATmega8 8MHz
atmega8o8.upload.protocol=arduino
atmega8o8.upload.maximum_size=7680
atmega8o8.upload.speed=115200
atmega8o8.bootloader.low_fuses=0×94
atmega8o8.bootloader.high_fuses=0xDC
atmega8o8.bootloader.path=optiboot
atmega8o8.bootloader.file=optiboot_atmega8-8m.hex
atmega8o8.bootloader.unlock_bits=0×3F
atmega8o8.bootloader.lock_bits=0×0F
atmega8o8.build.mcu=atmega8
atmega8o8.build.f_cpu=8000000L
atmega8o8.build.core=arduino
atmega8o8.build.variant=RCduino
####################################
2)hardware/arduino/variants/standard/pins_arduino.hを
hardware/arduino/cores/arduinoフォルダにコピー
hardware/arduino/cores/arduinoフォルダにコピー
3)マイコンボードに[Optiboot] ATmega8 8MHzを選択
ここまで抜粋
設定終わったんで、USBSerialモジュ~ルを繋げてPCと接続。
接続の向きに注意。
接続の向きに注意。
とりあえずBLinkを読み込み、コンパイルする→成功
ちびでぃ~のPROに書き込みする→下記のエラー
avrdude: stk500_getsync(): not in sync: resp=0x00
ちびでぃ~のPROに書き込みする→下記のエラー
avrdude: stk500_getsync(): not in sync: resp=0x00
組立ミスは無いようだし、PCとの接続時にちびでぃ~のPROのLEDも
点滅する。
これで2時間くらい試行錯誤するけど進展なし。
ふとHPを見ると
>この設定でarduinoIDEからスケッチをアップロードする場合、
>電源は5V動作にします。
>USBSerialモジュ~ルとの接続は、以下のように、3V電源ピンをはずして、
>パターンショートして5Vを供給します。
!!!
ってことで、ちびでぃ~のPROの3V電源ピンを切断してパターンショート。
どきどきしながら書き込みを行うと、無事終了してLEDが点滅を
繰り返してくれた。
点滅する。
これで2時間くらい試行錯誤するけど進展なし。
ふとHPを見ると
>この設定でarduinoIDEからスケッチをアップロードする場合、
>電源は5V動作にします。
>USBSerialモジュ~ルとの接続は、以下のように、3V電源ピンをはずして、
>パターンショートして5Vを供給します。
!!!
ってことで、ちびでぃ~のPROの3V電源ピンを切断してパターンショート。
どきどきしながら書き込みを行うと、無事終了してLEDが点滅を
繰り返してくれた。
やっぱ、隅から隅まで取説(今回はHPだけど)を読むのは基本だな。
ドタバタしながらも、やっとちびでぃ~のPROが動いてくれたんだけど、
ちいさいってのはそれだけで魅力的だね。
追加購入しようかな。
ちいさいってのはそれだけで魅力的だね。
追加購入しようかな。
ちびでぃ~のPROのピンアサイン ― 2012/11/19 21:52
Arduino自作してみた ― 2012/11/20 00:38
次は自作に挑戦。
通販で注文してたATMega328PとかFT232RL シリアル変換モジュール等が、
今日やっと来た。
生のATMega328PにArduinoを書き込む方法としては、他のArduinoを使う方法
とかもあるみたいだけど、今回はシリアル変換モジュールでやってみる。
・avrdude-serjtag
・avrdude-serjtag用設定ファイル:avrdude.conf
・avrdude-GUI
上記3つをダウンロードして、vrdude-GUIを起動後に下記の設定。
・avrdude.exe Fileに、avrdude-serjtagのavrdude.exeを選択
・Programmerに、「FT232R Synchronous BitBang (diecimila)」を選択
・Deviceに、「ATmega328P(m328p)」を選択
・Command Line Optionに、「-P ft0 -B 4800」と記入
・Portは空欄
ATMega328PをセットしてFuse欄のReadボタンを押したら、hFuse,lFuse,eFuseにそれぞれ数値が入力されるはず。(数値は忘れた)
で、今回はATMega328Pなので、
hFuse = DA
lFuse = FF
eFuse = 05
と入力し、数値に間違いが無いか確かめた後Fuse欄の「Write」ボタンを押す。
これで高速クロックモードに切り替わったので、
Command Line Optionの「-B 4800」を削除する。
いよいよ書き込み開始。
Flash欄にATmegaBOOT_168_atmega328.hexを選択して、
「Erase - Write - Verify」ボタンを押す。
1分くらいで書き込み完了するはず。
書き込み終わったら、Lock Bit欄に「0F」と入力して「Write」ボタンを押す。
ATMega328PへのArduino書き込み完了!
あとは、Arduino互換機の作り方を紹介しているHPを見ながらもくもくと作成。
Arduino IDEのマイコンボード選択では「Arduino Duemilanove w/ ATmega328」を選んだらうまくいった。
自作ArduinoのUno化 ― 2012/11/21 20:45
昨日作ったArduino互換機がバージョンアップ。
Arduino IDEの \arduino-1.0.1\hardware\arduino\boards.txt を見てたら
気になる項目が。
(boards.txtは、Arduino IDEのマイコンボード用設定ファイルっぽい)
昨日マイコンボートとして選んだ「Arduino Duemilanove w/ ATmega328」の
atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex って、
昨日作った互換機に入れたブートローダのファイルだよな。
ってことは、「Arduino Uno」に書いてある
「optiboot_atmega328.hex」っての書き込んだら、Uno互換機になるのかな?
調べてみると、optibootは容量が小さい(512Byte)からプログラム容量が
1.5kByte増えるらしい。
ってことで、早速入れてみた。
ブレッドボードを書き込み用の回路に直してから、avrdude-GUI起動し、
hFuse欄に「DE」と入力して「Write」ボタンを押す。
(↑ブートローダサイズが変わったから)
Flash欄に「optiboot_atmega328.hex」を選択して、
「Erase - Write - Verify」ボタンを押す。
Lock Bitがまた「3F」に戻ったから、「0F」と入力して「Write」ボタンを押す。
これで完了。
ブレッドボードを組みなおした後、Arduino IDEを起動して
マイコンボートを「Arduino Uno」に選択。
基本のBlinkを書き込んで・・・成功!
昨日作ったとき参考にしたHPは、Unoが出る前に書かれたんだろうな。
最新ボード互換機になったし、optibootになったからメモリも節約できたし。
なによりちょびっとスキルアップしたのが嬉しい。
ちびでぃ~の2作成 ― 2012/11/22 23:41
先週末組み立てたちびでぃ~の2の事をつらつらと。
今回は、LCD他がついてくるフルセット版を購入。
これで1500円とは安すぎだと思う。
組立はHP見ながらやれば、ほとんど問題なく完成すると思う。
ただ、可変抵抗の取付方向がHPと90°ずれてるのにとまどった。
基盤の3本穴に入るように取り付ければ問題なし。
組み立て終わったら、HPにあるようにPCに
USBシリアルPL2023HXデバイスドライバーをインストール後、ケーブル接続。
あとはArduinoIDEで「Arduino Uno」を選択したら、
すんなりスケッチも書き込みできた。
実は一昨日ちびでぃ~のPRO328を注文してたんだが、早くも今日届いた。
明日はこの組み立ての事を書こうかな。
最近のコメント