ブートローダー焼いて、ソフトも焼いてみた♪。゚ヽ(゚´Д`)ノ゚。 ヤッターン♪
ブートローダ焼きこんで、プログラム焼いて、量産♪
こんばんは。
キテレツです。
先週に写真アップした基板。
自作した「Arduinoのブートローダー書き込み基板」です。
こいつを動かしてみました。
んで、youtubeへの動画初アップです。(・∀・;)
※注意!!・・・・動画の解像度が・・・・荒いです!!次回は鮮明に乗せよう!ってことで悪しからず。
一夜あけて、さっそく抵抗一本接続ミスを見つけてしまった基板なんですが、それ以外にはとくに問題はなさそうだったので、簡単にテスターチェックした後に火入れです。(*´∇`)ノ
※キテレツの癖なのですが、電源を入れる行為のことを「火を入れる」と表現してしまいます。色々教えてもらってた人がこんな言い方してたんです。
とはいえ、恐る恐るUSBポートにケーブルを押してみたわけですが。・・・(・∀・i)タラー・・・
とりあえず、火は吹きませんでした。(*´∀`)アハハン♪
ArduinoISPを焼き込み
やり方のおさらい。
- ArduinoUNOに、自作した書き込み基板を乗せる。(写真の状態)
- ArduinoIDE起動
- 書き込み基板を乗せたArduinoUNOをPCへUSB接続
- ArduinoIDEにて接続基板を設定
- ArduinoIDEにてシリアルポート設定
- ArduinoIDEにてスケッチ「ArduinoISP」を読み込み
- 自作基板のSWをリセット有効にする。(GND未接続)
- ArduinoISPをArduinoUNOに書き込み
って手順になります。
さっそくArduinoISPを焼き込み!
やってみよう!(*´∇`)ノ
予めArduinoIDEをインストールしておいたパソコンに、USBケーブルを接続!!(*´∇`)ノ
赤色LEDのパイロットランプが点灯することを確認してから、ArduinoISPを焼きこみました。
前のブログにも書きましたが、Arduino本家に記載されている回路に
- パイロットランプ
- シールド乗せたままArduinoISP書き込めるようにリセットのON/OFFスイッチ実装
してあります。
リセットの有効/無効を選択するスイッチなんですが、コレがないとシールドを載せたままArduinoISPが焼けないんです。
上記のおさらいの手順通りに操作を実施。
操作模様をYoutubeにアップしてみました。
■焼き込み模様
正しく焼き込めたなら・・・・・ハートビートって役割のLEDがフワフワ光ってるはずです。
※ArduinoISPのソースコードにコメントでLEDの役割が書いてあります。
■ArduinoISPの動作確認
引き続きブートローダーを焼き込み!
手順はこんな感じ。(*´∇`)ノ
すでに自作基板が乗ったArduinoUNOがUSB接続されている状態として、
- 書き込み基板のSWを操作して、リセット無効にする。(10uFコンデンサでGND接続)
- ArduinoIDEにて、「ツール」→「書き込み装置」→「Arduino as ISP」を選択
- ArduinoIDEにて、「ツール」→「マイコンボード」→「ArduinoUNO」を選択
- ArduinoIDEにて、「ツール」→「シリアルポート」→「COM4」を選択
- 書き込み基板に生のAtmega328Pを乗せる
- ArduinoIDEにて、「ツール」→「ブートローダー書き込み」をクリック
って感じです。
この動作についても動画を撮影したはずなんですが・・・・・何故かiPhoneの中から発見できず・・・・・(・∀・i)タラー・・・
ってことで、ブートローダー焼き込みについては文章だけで許してください。(・∀・;)
ソフトまで焼きこんでみる!!
はぃ。
ブートローダー焼き込めたら、次はソフトですね。(*´∀`)アハハン♪
簡単に動作確認したいだけなので、サンプルのBlinkを焼いてみました。
手順は
- 書き込み基板のSWを操作して、リセット無効にする。
- ArduinoIDEにて、サンプルスケッチ「Blink」を読み込み
- 書き込み基板のSWを操作して、リセット無効にする。(10uFコンデンサでGND接続)
- ArduinoIDEにて、「ツール」→「マイコンボード」→「ArduinoUNO」を選択
- ArduinoIDEにて、「ツール」→「シリアルポート」→「COM4」を選択
- 書き込み基板にブートローダ焼き込んだAtmega328Pを乗せる
- ArduinoIDEにて、Arduinoにblinkを書き込み
ちなみに、無事に焼き込みできていることを確認する「ProgrammingLED」なるものも実装しておりまして。
動画では一番左側の緑色LEDとなります。
さてさて・・・ProgrammingLEDがピカピカするか??
■Blink焼き込み模様
無事に動作確認!!
できました!!(v´∀`)ハ(´∀`v)ヤッタネ☆
ブレッドボードに、16KHzのクリスタルと電源を用意し、I/Oとしてデジタルピン13番に1KΩの抵抗とLEDを接続。
Blinkスケッチでは、LEDが1秒毎にON/OFFするようにプログラム書かれているので、そのようになれば正解!!
結果はコチラ。
■結果
無事に動作した様子です!!