はじめに
Atmega328pはArduino unoに搭載されているマイコンなので、Arduino unoで作ったプロトタイプをそのまま移植できてしまうのが、使い勝手がいいところ。Arduino unoがあれば書込装置としても使えるので、新たに書込装置を揃える必要もありません。ただブレッドボード上に配線していくのは、なかなかフラストレーションがたまるもの。このイライラを解決するために作ったのが「Atmega328p書込装置治具」です。これ単体ではブートローダーやスケッチを書き込むことはできませんが、ブレッドボードに配線する必要がなくなり、もっとクリエイティブな所に時間を使えるようになるはずです。
ちなみに最初に作ったAtmega328p書込装置治具はユニバーサル基板上に配線していました。プリント基板でつくると、カッコよくなりますね!
販売ページ
スイッチサイエンスで販売中です。
Atmega328P スケッチ書き込み装置治具www.switch-science.com
目次
- はじめに
- 販売ページ
- 目次
- スケッチやブートローダを書き込むのに別途必要なもの
- Atmega328P書き込み装置治具のピンアウト
- Arduino IDEのボードマネージャーにAtmega328pを追加する
- ボードの設定
- ブートローダーを書き込む
- スケッチを書き込む
- Atmega328p書き込み装置治具の回路図
スケッチやブートローダを書き込むのに別途必要なもの
この治具単体では残念ながらスケッチやブートローダを書き込みできません。以下どちらかが必須となります。
Arduino Uno
USBasp
恐らく、この治具を購入頂いた方は、Arduino Unoを持っている方が多いのではないでしょうか。USBaspは500円前後で購入できる書き込み装置です。この書き込み装置治具はUSBaspの端子に対応していますので、USBaspを使っていただくことをオススメします。一応アマゾンのリンクも貼って置きます。
Atmega328P書き込み装置治具のピンアウト
Arduino IDEのボードマネージャーにAtmega328pを追加する
デフォルトの状態だとAtmega328pにスケッチやブートローダを書き込むことができません。 そこでボードマネージャにボードを追加する必要があります。まずボードマネージャーに追加する準備として 以下のURLをコピーします。 playground.arduino.cc
このアドレスは以下のサイトに記載されています。今回追加するボードは「MiniCore」というやつです。
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
URLをコピーしたらArduino IDEの「ファイル>設定」から設定画面を開きます。ここではLinuxで開いた画面を表示していますが、WindowsやMacだと少しずつUIが異なっているので注意してください。
それではボードマネージャを開きましょう「ツール>ボードマネージャ」をクリックして下さい。
検索欄に「MiniCore」と入力して検索しましょう。もしヒットしなかった場合は先程追加したURLが間違っている可能性があるので、見直してみて下さい。無事ヒットしたらインストールしましょう。「ツール>ボード」を選択してMiniCoreが追加されていれば成功です。
ボードの設定
ボードマネージャーにMiniCoreを追加できたら、ボードの設定をしていきましょう。
「ツール>Board>MiniCore>Atemega328」でAtmega328を追加します。その後、以下のスクリーンショットを参考に設定して下さい。Portについては設定しなくて大丈夫です。(シリアル通信で書き込む際は必要になります。)
ブートローダーを書き込む
それではブートローダーを書き込みましょう。ブートローダを書き込むにはボードマネージャーにボードを追加し、ボードの設定まで終えている必要があります。まだ終わっていなければ、前項を参考に設定して下さい。
ブートローダの書き込み方法はUSBaspを使う方法とArduino Unoを使う方法の2種類があります。
USBaspを使ってブートローダーを書き込む
まずはUSBaspとAtmega328p書き込み装置治具を接続しましょう。IDCフラットケーブルをUSBaspと書き込み装置治具にせつぞくすればOKです。
Arduino unoを使ってブートローダを書き込む
まずはArduino Unoを書き込み装置として使うためにArduinoISPをArduno UNOに書き込みましょう。
ArduinoISPスケッチは「ファイル>Examples>ArduinoISP」に有るはずです。
選択するとこんな感じのスケッチが表示されます。Arduino Unoに書き込みましょう。
それではArduino Unoと書き込み装置治具を接続しましょう。配線の対応関係は以下の表にしめしました。 書き込み装置治具のピンソケットにシールが貼られていますので、それを参考にして下さい。
Arduino uno |
書込装置治具 |
D10 (SS) |
RST |
D11 (MOSI) |
MOSI |
D12 (MISO) |
MISO |
D13 (SCK) |
SCK |
5 V |
VCC |
GND |
GND |
Arduno Unoと書き込み装置治具を接続するとこんな感じです。
スケッチを書き込む
スケッチの書き込む際の設定や配線についてはブートローダーの書き込みと同じです。
USBaspを使ってスケッチを書き込む
「ツール>Board>MiniCore>Atmega328」を選択してブートローダを書き込んだ時と同様に設定します。
詳細については「USBaspを使ってブートローダーを書き込む」の項目を参考にしてください。
スケッチの書き込みの仕方だけブートローダーの書き込みとは異なります。書き込み装置はUSBasbを選択して「スケッチ>書き込み装置をつかって書き込む」をクリックしてスケッチを書き込みます。
Arduino unoを使ってスケッチを書き込む
Arduino unoを用いてスケッチを書き込み方法も同様です。Arduno Unoに「ArdionoISP」を書き込み済みである必要があります。まだ書き込んでいない場合は、「Arduino unoを使ってブートローダを書き込む」の項目を参考にして準備して下さい。ArduinoUnoと書込装置治具の配線についても同様です。
準備が整ったら「スケッチ>書き込み装置をつかって書き込む」をクリックしてスケッチを書き込みます。
Atmega328p書き込み装置治具の回路図
書込装置治具の回路図になります。16MHz水晶振動子を取り付けてあります。シリアル変換器からの書き込みも行えますが、リセット部分にキャパシタと抵抗を挟む必要があります。これは次回作で修正を加えていく予定です。