Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

Arduino NanoをAVRライタにしてATmega328P単独でLチカしてみる。(その2)

Arduino NanoをAVRライタにしてATmega328P単独でLチカしてみる。(その1)」の続き。

3.ブレッドボードやジャンパ線などを使って以下のように配線、回路を準備する。

 ATmega328P
  1pin – D10
  1pin – 10kΩ – 5V
  7pin – 5V
  8pin – GND
  13pin – 1kΩ – LED – GND (Optional)
  17pin – D11
  18pin – D12
  19pin – D13
  19pin – 1kΩ – LED – GND (Optional)
  20pin – 5V
  22pin – GND
 Arduino Nano
  RST – 10kΩ – 5V
  RST – 10uF – GND
  D7 – 1kΩ – LED – GND (Optional)
  D8 – 1kΩ – LED – GND (Optional)
  D9 – 1kΩ – LED – GND (Optional)
 LEDは表示用なので任意で構わないと思う。
 ただ、あった方が動作確認になっていい。
 上にも書いた通り、初めは内蔵クロックでと考えていた。
 だが、このATmega328PはUNOから外したものだった。
 なので16MHzのセラロックを取り付けた。
  Ceralock center pin – GND
  9pin – Ceralock
  10pin – Ceralock
 抵抗の値はそこらに転がってたのをつけただけで適当。
 LEDのは数百Ω程度以上でお好みで、他は数kΩ程度。
 コンデンサはもっと小さな値でやってる人も見かけた。
4.Arduino NanoにArduinoISPを書き込む。

 これは通常のスケッチを書き込むのと同じ手順だ。
 ただし、上の RST – 10uF – GND は外さないと書き込めなかった。
 無事書き込みが終了した。
 D8につないだLEDがゆっくり強弱を繰り返す感じで点滅する。
5.以下のコードで新しいファイルを作成する。

 これはATmega328PでLチカをするコードだ。
  13pin – 1kΩ – LED – GND (Optional)
  19pin – 1kΩ – LED – GND (Optional)
 が交互に点滅する。
6.IDEを以下の設定にして RST – 10uF – GND を取り付ける。
 このコンデンサ、あるとNanoにArduinoISPが書き込めない。
 ところが、無いとATmega328Pへの書き込みでエラーが出る。

 正直、意味がよくわからない設定もあるがそのまま行く。
7.Sketch > Upload Using Programmer

 最初だけ保存窓が出るがお試しなのでそのまま保存。

 書き込み中はArduino NanoのD7とATmega328Pの19pinのLEDが点滅する。
8.ATmega328Pの13pinのLEDがゆっくりLチカを始める。
 どうやら書き込みできたようだ。
 だが、点滅速度がやたら遅い。
 これは何かの設定ミスだろうからあとで考える。
 とりあえずホントに単独で動いてるのか確認する。
 Arduino Nanoを取り外して電源を外から取ってみた。

追記
現在の状況と問題点
 電源と1pinプルアップとセラロックだけの最小回路でLチカが確認できた。
 動作スピードがプログラムで期待したものより遅い。
 遅いがプログラムで2倍にすれば2倍にはなる。
 同じセラロックで倍のクロックの設定で書き込むと半分の実行速度になる。
 内蔵クロックでの動作ができない。
ちょっと進展
 いろいろやってたらセラロック無しで8MHzで正しい速度で動いた。

 そもそもこれが当初目的としていた動作状態だ。
 ただ、何をやったらそうなったかわからない。
 パーツや配線でなく何かの手順が間違ってる。

Arduino NanoをAVRライタにしてATmega328P単独でLチカしてみる。(その3)」へ続く。

このエントリーをはてなブックマークに追加

Posted under: Arduino, PIC以外, 電子工作その他


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.