金高真悟の奇天烈(キテレツ)大百科

日々徒然なるままに

株式会社ニコシスの新入社員が毎日のあれやこれやを語ります。

ブートローダー焼いて、ソフトも焼いてみた♪。゚ヽ(゚´Д`)ノ゚。 ヤッターン♪

ブートローダ焼きこんで、プログラム焼いて、量産♪

こんばんは。
キテレツです。

先週に写真アップした基板。
自作した「Arduinoブートローダー書き込み基板」です。
こいつを動かしてみました。

f:id:sk-nicosys:20140219192848j:plain

んで、youtubeへの動画初アップです。(・∀・;)
※注意!!・・・・動画の解像度が・・・・荒いです!!次回は鮮明に乗せよう!ってことで悪しからず。

一夜あけて、さっそく抵抗一本接続ミスを見つけてしまった基板なんですが、それ以外にはとくに問題はなさそうだったので、簡単にテスターチェックした後に火入れです。(*´∇`)ノ
※キテレツの癖なのですが、電源を入れる行為のことを「火を入れる」と表現してしまいます。色々教えてもらってた人がこんな言い方してたんです。

とはいえ、恐る恐るUSBポートにケーブルを押してみたわけですが。・・・(・∀・i)タラー・・・
とりあえず、火は吹きませんでした。(*´∀`)アハハン♪

ArduinoISPを焼き込み

やり方のおさらい。

  1. ArduinoUNOに、自作した書き込み基板を乗せる。(写真の状態)
  2. ArduinoIDE起動
  3. 書き込み基板を乗せたArduinoUNOをPCへUSB接続
  4. ArduinoIDEにて接続基板を設定
  5. ArduinoIDEにてシリアルポート設定
  6. ArduinoIDEにてスケッチ「ArduinoISP」を読み込み
  7. 自作基板のSWをリセット有効にする。(GND未接続)
  8. ArduinoISPをArduinoUNOに書き込み

って手順になります。

さっそくArduinoISPを焼き込み!

やってみよう!(*´∇`)ノ

予めArduinoIDEをインストールしておいたパソコンに、USBケーブルを接続!!(*´∇`)ノ

赤色LEDのパイロットランプが点灯することを確認してから、ArduinoISPを焼きこみました。
前のブログにも書きましたが、Arduino本家に記載されている回路に

  1. パイロットランプ
  2. シールド乗せたままArduinoISP書き込めるようにリセットのON/OFFスイッチ実装

してあります。
リセットの有効/無効を選択するスイッチなんですが、コレがないとシールドを載せたままArduinoISPが焼けないんです。

上記のおさらいの手順通りに操作を実施。
操作模様をYoutubeにアップしてみました。

■焼き込み模様

正しく焼き込めたなら・・・・・ハートビートって役割のLEDがフワフワ光ってるはずです。
※ArduinoISPのソースコードにコメントでLEDの役割が書いてあります。

■ArduinoISPの動作確認

引き続きブートローダーを焼き込み!

手順はこんな感じ。(*´∇`)ノ
すでに自作基板が乗ったArduinoUNOがUSB接続されている状態として、

  1. 書き込み基板のSWを操作して、リセット無効にする。(10uFコンデンサGND接続)
  2. ArduinoIDEにて、「ツール」→「書き込み装置」→「Arduino as ISP」を選択
  3. ArduinoIDEにて、「ツール」→「マイコンボード」→「ArduinoUNO」を選択
  4. ArduinoIDEにて、「ツール」→「シリアルポート」→「COM4」を選択
  5. 書き込み基板に生のAtmega328Pを乗せる
  6. ArduinoIDEにて、「ツール」→「ブートローダー書き込み」をクリック

って感じです。

この動作についても動画を撮影したはずなんですが・・・・・何故かiPhoneの中から発見できず・・・・・(・∀・i)タラー・・・
ってことで、ブートローダー焼き込みについては文章だけで許してください。(・∀・;)

ソフトまで焼きこんでみる!!

はぃ。
ブートローダー焼き込めたら、次はソフトですね。(*´∀`)アハハン♪
簡単に動作確認したいだけなので、サンプルのBlinkを焼いてみました。

手順は

  1. 書き込み基板のSWを操作して、リセット無効にする。
  2. ArduinoIDEにて、サンプルスケッチ「Blink」を読み込み
  3. 書き込み基板のSWを操作して、リセット無効にする。(10uFコンデンサGND接続)
  4. ArduinoIDEにて、「ツール」→「マイコンボード」→「ArduinoUNO」を選択
  5. ArduinoIDEにて、「ツール」→「シリアルポート」→「COM4」を選択
  6. 書き込み基板にブートローダ焼き込んだAtmega328Pを乗せる
  7. ArduinoIDEにて、Arduinoにblinkを書き込み

ちなみに、無事に焼き込みできていることを確認する「ProgrammingLED」なるものも実装しておりまして。
動画では一番左側の緑色LEDとなります。

さてさて・・・ProgrammingLEDがピカピカするか??

■Blink焼き込み模様

無事に動作確認!!

できました!!(v´∀`)ハ(´∀`v)ヤッタネ☆

ブレッドボードに、16KHzのクリスタルと電源を用意し、I/Oとしてデジタルピン13番に1KΩの抵抗とLEDを接続。
Blinkスケッチでは、LEDが1秒毎にON/OFFするようにプログラム書かれているので、そのようになれば正解!!

結果はコチラ。

■結果

無事に動作した様子です!!

次の展開は??

って所ですが、マイコンの大量生産が出来るようになったのと、オリジナルの小型基板も準備すれば動作する環境になったので、EAGLE等のツールを使ってオリジナル基板を設計し、基板屋に作ってもらう事にします。
やっぱりオリジナルのArduinoで装置を動かしたいですね。
ArduinoPro、ArduinoMicroを購入しなくても小型のArduinoを製造できます。

Kiteduinoとして

FTDIのUSBシリアル接続端子とLCD基板接続端子を搭載したKiteduinoってのを作っても面白いかなと。
汎用的に作っておけば、CPU焼くだけで自作のArduinoを量産できます。
面実装なCPUではなく、DIPなCPUならではの楽しみですね。

まずはスマホ着信ピカピカ

なプロジェクトのプロトタイプ作成にとりかかる。
オリジナル基板とCPUを量産する下地はできた。
なので、次はEAGLEでの基板設計かな。
ユニバーサル基板でのプロトタイプになるかなと。

本当なら・・・・基板屋に薄く作ってもらって、スマホの背中に貼り付けたいんですけれどね。・・・(・∀・i)タラー・・・
焦らず行きます。