Arduino備忘録

Arduinoよく通信エラーが起こります。なにかの間違えたプログラムを書き込んだ場合、プログラムが無限ループに入ってしまったので、書き込みしようとしても無限ループ解除できないので割り込めないのが理由のようです。
たぶん私と同じ症状だった人いると思います。

avrdude: stk500_recv(): programmer is not responding

というエラーが出てきて書き込み(通信)失敗します。
いろいろ調べたら

参考にしたのが下記のページ
http://n.mtng.org/ele/arduino/ArduinoISP.html

たすかりました!!
感謝!


下記そのままコピペ部分ありますがご了承ください。

書き込み手順

ArduinoAVRマイコンにブートローダを書き込むには以下の手順に従います。

1.    Exampleに含まれているArduinoISP スケッチを Arduino にアップロードします。このArduinoがプログラマとなります。

2.    Arduino と書き込む AVR マイコン(ターゲットと呼びます)の載ったボードを下の図のように接続します。

配線図(ターゲットが Arduino UNO Duemilanove か Diecimilaの場合)下記 末尾に補足有り


3.    Arduino IDE Tools > Board メニューから書き込みたいボード(ターゲット)に対応するボードを選びます (プログラマとして使うArduinoのボードではありません)。ターゲットのArduinoに対応する名前については environment page を確認します。

4.    Arduino IDE Burn Bootloader > Arduino as AVRISP をクリックします。


後は書き込みです。


復活しました・・・いままで捨てたの、復活してたかも・・・

★★補足★★
私が通常使っているのはArduonoUNO互換機
互換機同士なら必要ないようですが、互換機ーUNOあるいはUNO-UNOで、復活させるターゲットを純正UNOにする場合10μFのノイズコンデンサが必要です。でないと書き込み失敗します。私も理由わからず失敗しました。
”ベース側”のRSETとGNDをノイズコンデンサ差し込むだけです。

左 (赤)互換機  右 (緑)  純正 

コレがないと安定しないのでブートローダ書き込み失敗します。
通称ノイズコンデンサと呼ばれるやつです。


このようにベースのRSETとGNDをノイズコンデンサでジャンパします。