自作Arduinoとは
Arduinoには、ATmegaというマイクロコントローラーが使われていて、それにコンデンサーや抵抗などの部品を基盤に実装することで作られています。さらにArduino自体がオープンソースになっているので、Arduinoの名称を使わなければ誰でも互換品を作って販売することができます。そのため、部品さえ揃えてしまえばブレッドボード上にArduino互換機(今回作るものは本家と少し違います)を500円程度で作ることもできるのです。
メリット
- とにかく安い
デメリット
- 普通のArduinoが一台必要
- USBをそのままでは刺せない
- シリアル通信ができない(部品を足せばできます)
用意するもの
-
環境
- パソコン
- Arduino IDEをインストール
- (この記事ではMacでやっていますが、Windowsでも同様の手順です)
- Arduino一台(互換機も可)
- Arduino-パソコンのUSBケーブル
- パソコン
-
材料
- ブレッドボード
- ジャンパー線
- ATmega328P-PU
- クリスタル (水晶発振子) 16MHz (秋月電子)1個
- 22pF セラミックコンデンサ (秋月電子) 2個(リンクは10個入り)
- 0.1μF セラミックコンデンサ (秋月電子)1個(リンクは10個入り)
- 10KΩ 抵抗 (秋月電子)1個(リンクは100個入り)
- タクトスイッチ (秋月電子)1個
全部秋月電子で手に入れることができます。
ジャンパー線はブレッドボード上でつなげるものは硬いものを使い、ブレッドボードとArduinoをつなげるのは柔らかいものを使うことをお勧めします。
制作
組立
https://ht-deko.com/arduino/atmega328p.htmlより引用
上図のように組立ます。
セットアップ
用意した既製品のArduinoからATmegaに書き込むためのプログラムをArduinoに書き込みます。
パソコンで、Arduino IDEを起動します。
Arduinoをパソコンに接続します。
次にATmegaにブートローダーを書き込みます。
https://ht-deko.com/arduino/atmega328p.htmlより引用
上図のようにArduinoとAtmegaを配線します。先ほど作ったものにジャンパー線をいくつか足しただけです。
次にパソコンから作業をします。
これでブートローダーが書き込まれました。
スケッチの書き込み
最後にATmegaにスケッチを書き込みます。
上で作ったArduinoとATmegaの配線をそのままの状態で行います。
- Arduino IDEでATmegaに書き込みたいプログラムを開きます。
書き込みが終わったらArduinoの10~13番ピンに繋がっているジャンパー線は外しても大丈夫です。
補足
ピン配置
ATmega328P-PUとArduinoのピン配置の対応は以下の通りです。
Arduino - ATmega168/328P-Arduino Pin Mappingより引用
電源
先ほどの配線ではArduinoからATmegaに電源を供給していましたが、電池などを使って電源を供給することもできます。
その時はArduinoとの接続のジャンパー線はすべて外して、ブレッドボードの+と-のところに電池などで5VとGNDを繋ぐことでATmegaに電源が供給されます。
参考サイト
ATMEGA328P を Arduino として使う
【ArduinoIDE1.8.x】ATmega328PでArduinoを作る(内蔵8MHz使用)
Atmel AVR -Wikipedia
2.Arduinoオープンソース | 大好きArduino
最後に
この方法はすでに多くの記事が出ていますが、自分なりにわかりやすくまとめてみました。
何か間違いや改善点があればコメントお願いします。
最後まで読んでくださり、ありがとうございました。