自作Arduinoを作ろう

自作Arduinoとは

Arduinoには、ATmegaというマイクロコントローラーが使われていて、それにコンデンサーや抵抗などの部品を基盤に実装することで作られています。さらにArduino自体がオープンソースになっているので、Arduinoの名称を使わなければ誰でも互換品を作って販売することができます。そのため、部品さえ揃えてしまえばブレッドボード上にArduino互換機(今回作るものは本家と少し違います)を500円程度で作ることもできるのです。

メリット

  • とにかく安い

デメリット

  • 普通のArduinoが一台必要
  • USBをそのままでは刺せない
    • シリアル通信ができない(部品を足せばできます)

用意するもの

全部秋月電子で手に入れることができます。

ジャンパー線はブレッドボード上でつなげるものは硬いものを使い、ブレッドボードとArduinoをつなげるのは柔らかいものを使うことをお勧めします。

制作

組立

atmega328p_06s.png
https://ht-deko.com/arduino/atmega328p.htmlより引用
上図のように組立ます。

セットアップ

用意した既製品のArduinoからATmegaに書き込むためのプログラムをArduinoに書き込みます。

  1. パソコンで、Arduino IDEを起動します。

  2. ファイル>スケッチ例>11.Arduino ISP>Arduino ISP を選択してプログラムを開きます。スクリーンショット 2019-10-20 11.59.34.png

  3. Arduinoをパソコンに接続します。

  4. 2で開いたプログラムを「マイコンボードに書き込む」ボタンで書き込みます。スクリーンショット 2019-10-20 13.54.20.png

次にATmegaにブートローダーを書き込みます。
atmega328p_02s.png
https://ht-deko.com/arduino/atmega328p.htmlより引用

上図のようにArduinoとAtmegaを配線します。先ほど作ったものにジャンパー線をいくつか足しただけです。

次にパソコンから作業をします。

  1. パソコンとArduinoを接続し、Arduino IDEを開きます。
  2. ツール>書き込み装置>Arduino as ISPを選択します。スクリーンショット 2019-10-20 13.55.00.png

  3. ツール>ブートローダーを書き込むを実行します。スクリーンショット 2019-10-20 13.55.47.png

これでブートローダーが書き込まれました。

スケッチの書き込み

最後にATmegaにスケッチを書き込みます。

上で作ったArduinoとATmegaの配線をそのままの状態で行います。

  1. Arduino IDEでATmegaに書き込みたいプログラムを開きます。
  2. スケッチ>書き込み装置を使って書き込むを実行すると書き込まれます。スクリーンショット 2019-10-20 13.56.54.png

  3. 書き込みが終わったらArduinoの10~13番ピンに繋がっているジャンパー線は外しても大丈夫です。

補足

ピン配置

ATmega328P-PUとArduinoのピン配置の対応は以下の通りです。
Atmega168PinMap2.png
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

最後に

この方法はすでに多くの記事が出ていますが、自分なりにわかりやすくまとめてみました。
何か間違いや改善点があればコメントお願いします。
最後まで読んでくださり、ありがとうございました。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away