(arduinoが完成した)
以前から作っていたATmega328pを使ってarduinoを自作しようとしていて
今回、完成したのでそれまでの手順を掲載しようと思います。
◎作ろうと思った経緯
今回arduinoを自作しようと思ったわけは、シンプルにarduinoが高くて
中学生では、何個も何個も買えないからです。が、いろいろとそろえていると
結局arduinoの互換品を変えるくらいまでになりました。
安く作るには、量産しないとだめですが、今思ってみるとそんな大量に
作るわけでもないのにATmega328pを買って書き込み用の
シリアル変換モジュールなどそろえたのは、計算どうり行かなかったです
もともとあったものも経費として換算すると今回は、2個しかarduinoを作ってない
ので以前買った arduinoの互換機が1,000円 水晶発振子が2個使ったので60円
ラベルが40円 ATmega328pが2個で1000円 シリアル変換モジュールが550円
これをすべて足して割ると1個当たり1325円使っていることになります。
あと1個作れば1個当たり1050円 もうあと1個作れば1個当たり912.5円になるので
つまり4個作ればやっとネットで売っているものよりも87.5円安くなることが
分かります。
(実際は、親がお金を払ってくれているので自分の財政には、関係ないですが)
ですがブートローダーについても割と理解できたしarduinoを作ったことは、
良い経験になりました。
それでは、本題に移ろうと思います。
◎配線方法
ブートローダーを書き込む際の配線方法は、以下のようになります。
◎ブートローダーを書き込む手順
まずarduinoの画面を開いて
[ファイル]→[スケッチ例]→[11.ArduinoISP]からArduino ISPを選択します。
そしてこのソースコードを通常の手順でarduino本体に書きこみます。
本当は、ブートローダーを書き込む際には、「AVRISP mkⅡ」という書き込み
装置を使うのですが、今回のようにスケッチを書きこむと
arduino本体を書き込み用ボードとして使うことができます。
書込装置に「Arduino as ISP」を選択し「ブートローダを書き込む」をクリックするとブートローダーの書き込みが行われます。
◎実際にプログラミングをしてarduinoとして動かしてみる
実際にプログラムを動かしていきたいと思います。
とりあえず最初は、LEDを点滅させたいと思います。
スケッチは、次の通り普通のlちか用のスケッチです。
void setup() {
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
}
◎スケッチをコンパイルする
それでは、スケッチをコンパイルをしていきます。
スケッチをコンパイルするには、シリアル変換モジュールを使います。
配線方法は、次の通りです。
◎スケッチの書き込み
それでは、スケッチの書き込みを行いたいと思います。
これには、が必要で、スケッチの書き込みには上手くタイミングを合わせ
リセットスイッチを押す必要があります。
リセットスイッチを押した状態でArduino IDEからスケッチの書き込みを開始します。アップロードが開始されるタイミングでリセットスイッチを離すと上手く
タイミングが合えばスケッチの書き込みを行うことが出来ます。
◎降圧モジュールを使ってarduinoを動かしてみた
この降圧モジュールは、秋月電子で200円で売っていた降圧モジュールキット
で角電池を接続すると5vに降圧されます。
◎降圧モジュール
製品仕様
■入力電圧 9.0V ■出力電圧 5.0V ■出力電流 100mA
◎まとめ
今回ATmega328pを使ってarduinoを自作してみてパソコンの仕組みやarduino
について理解できた。
参考
・【Arduino】ATmega328P単体でスケッチを動かしてみる
・From Arduino to a Microcontroller on a Breadboard | Arduino Documentation