BLINKとか、SERVOとか、結構楽しい!!。

早速、ATmega328を購入、ARDUINOを量産・・・、
まずはブートローダーを書き込まないといけないらしい、
ブレッドボードにゼロプレッシャーとセラロック(20MHz)を載せて、
ARDUINOと接続、
ARDUINOにはArduinoISPを書き込みして、手順通りに接続、リセットボタンを
押して難なく成功!!!。
ついでに、スケッチも書いてみることに・・・・
ArduinoからATmegaをはずして、(うまく外さないと、脚が悲惨なことになりますヨ)
ゼロプレッシャーから外したATmegaを移植。
BLINKのサンプルスケッチをコンパイル-->書き込み????????
エラーがでて、書き込みができない!!!!!。
ブートローダーが書けてない?------
もう一度、最初からやり直してみる、
再度、移植、 さぁ、スケッチを書き込み、・・・ やはり errorじゃ

何故じゃ、何故なのじゃ~。
冷静に考えた末、 諦める事に・・・・・・、
ネットでいろいろと探してみると、リセットを押すタイミングではないか?とある、
試してみる、果てしなく、試してみる、夜明けが迫ってきた、でも、結果は同じダァ
Arduinoが出すエラーメッセージをさがしてみるが、答えがみつからん、
でも、シンクがエラーの表現になっている、やっぱりリセットのタイミングか?。
ここで、相当の時間、嵌まってしまった、3日くらいは悩んでいたが、
ARDUINO UNOの回路図を見ていると、16MHzの水晶がかいてあるのに気がついた。
ブレッドボードには20MHzのセラロックが載っている、違うのはこれか!!!。???。
そもそも、セラロックを買うときに、16より20MHzのほうが早い!!と思って買ったのだった、

右端の青いのが、問題のセラロック、
とりあえず、16MHzにスピードダウンしてみることに、
ブートローダーの書き込みからやり直し、取り外して、再度、UNOに移植、
スケッチをコンパイル…"書き込み完了" エエ~っと思いながら、あっさり出来た!!。
後にいろいろ調べると、かの秋月さんのキットでも20MHzがついてくるが、
16MHzをつけましょうと言う記事が見つかった。
ど素人のわたくしには理解ができないが、どうも、理由がちゃんとあるらしい、
ATmegaはブートローダーをかくまでは(というか、外部クロックがなければ)内部クロックで
動作するようで、今回は、ブートローダーを書いたときに20MHzのクロックを入れてしまった事
が原因の様子。
というわけで、大きな峠を越えた気分。
でも、たぶん、たくさんの人が悩んでいると思いますよ、でもないかなぁ、素人は私だけかも
知れませんので、でも、どなたかの参考になれば幸いです。
<今回の損失>
3日間の時間
20MHzのセラロックと水晶発信子 計20ケ
ATmeaga の脚 数本
AVR 書き込み機 MarkⅡ 1台(買ってしまった)
以上
次は、Arduinoの分身の製作をします。
ジャイロと加速度センサー使います、とくに、スイッチサイエンスさんのR1350Nに関心があったので、それも使います。
