以前のブログで、ATmega328のブートローダを書き込みました。
今回は、この続きとして、ATmega328にArduinoと同様にプロブラムを書き込みます。
まず、プログラムを書き込むのに、PCと接続する必要がありますよね。ですが、ATmega328にはUSBがありません。
さてはまた純正のArduinoを用意するかと思いますが、もっと安いもので代用が出来ます。
それが、USB-シリアル変換器です。
USB-TTL変換器
FTDI社FT232RQを使ったUSBシリアル変換モジュールです.
・WindowsXP~10まで幅広いドライバーが有り対応しています。
・DIPスイッチで5V/3.3Vの信号レベルの変更が可能です。
端子は、+5V、GND、CTS、TXD、RXD 、RTSの六端子です。
TXD,RXDということは、そうですUARTの通信になります。
ATmega328との接続
次に、ATmega328との接続方法です。
UARTの通信ですので、変換器のTXD(送信)を,ATmega328のRXD(受信)に、変換器のRXD(受信)をATmega328のTXD(送信)に接続します。あとは、TTL変換器の+5VとGNDを、ATmega328にも供給します。
そして、変換器からリセットの信号を送れるように、RTSとATmega328のResetを、0.1uFのコンデンサを経由して接続します。
あとは、ATmega328のクロックとして、16MHzの水晶発振子を接続します。
Arduino IDEの設定
TTL変換器をUSBに接続すれば、あとは普通のArduinoと同様に書き込むことが出来ます。
ただ、ここで書き込めるのは、ブートローダを書込み済のマイコンに限ります。
ブートローダの書込み方法は下記に示しますので参考にしてください。
さて、Arduinoと同様に書けるとは言ったものの、ATmega328でも、ATmega328P-PUと、ATmega328Uでは少し、設定が違います。
ATmega328P-PUの書込み設定
ATmega328P-PUは、少し割高ですが、純正品のArduino UNOと同じチップを使っているので、「ツール」を開いた設定画面では、ボード「Arduino Uno」を選び、あとはTTL変換器を繋いでいるCOMポートを選択すれば、これで書き込めてしまいます。
ATmega328 U(ATmega328PU)
Arduinoに初期から入っているボードマネージャーでは、ATmega328は書き込めません。
「ツール」→「ボード」→「ボードマネージャー」を開き、MiniCoreと検索し、インストール。
Arduinoを再起動して、「ツール」→ボード→「MiniCore」→「ATmega328」を選択します。
あとは、左上の書込みボタンで書き込めます。