2013年6月3日月曜日

改めて最小Arduinoを作ってみた

SPIを2台で動かしてみたいということがあり、手っ取り早いのはArduinoということで、最小構成のArduinoを2台仕立てる準備をしています。今回のホストの環境は lubuntu13.04で、Arduino IDEは1.0.5です。
昔の方法に沿って試してみます。マイコンボードは Arduino Pro or Pro Mini(3.3V,8MHz) w/ATmega328 を選択し、書き込み装置はAVR ISP mkII を選択して、ブートローダの書き込み操作をします。・・・が、一般ユーザーではブートローダの書き込みがうまくいかないようです。groupsコマンドで自分(ユーザー)がdialoutグループに所属しているか確認し、所属していなかったので追加、さらに、/etc/udev/rules.d/40-permissionsに以下の記述を実施。
SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="660", GROUP="dialout"

LABEL="avrisp_end"
とした後、
$ sudo restart udev
としてもダメ。再起動してもダメ。面倒なので、ブートローダの書き込みの時だけarduinoの起動でsudoしてしまいました。
<おまけ>ブートローダを書き込むと、19ピンに接続したLEDが点滅するようです。
その後、セラロック無しで動作させるため、ヒューズビットを書き換えます。
具体的には「# sudo avrdude -c avrisp2 -p m328p -P usb -t」としてターミナルモードを起動し、「>>> w lfuse 0 0xe2」としてヒューズビットを書き込みます。書き込み後はセラロック無しで電源ONしなおしてもLEDは点滅しました。
DSC_0006

0 件のコメント: