マイコン系のプログラミングでは外部出力がないと動作状況が確認しにくいですよね。
となるとArduinoで最初に書いてみるスケッチはやっぱりLチカかな?という事で超簡単にLチカをするスケッチを書いてみたいと思います。
煩わしい初期設定などが必要なく拍子抜けするくらいサクサク作れてしまいますよ。
準備するもの
1.Arduino nano
2.LED
3.抵抗
4.ブレッドボード
1.Arduino nano
写真のArduino nanoは互換品になります。そして使われているマイコンはmega168になっています。
mega328P版よりプログラムメモリーが半分になっていますが、ピン配置は同じですし今回の用途ではまったく問題なく使用できます。
お手持ちのnanoが328P版でもまったく問題なくスケッチも動きます。
2.LED
順方向電圧2Vの3mmLEDを使用しました。
3.抵抗
USBからの電源供給で動いていますので電圧5Vとして制限抵抗を計算しています。
330Ωを使っていますので計算上は9mAのはずでしたが、実際には電源に保護ダイオードがある関係で電源電圧は4.8V程になっていて8mA程しか流れていません。
1ポートが流せる最大電流が40mAですので、余裕を見て100Ωより上に設定するのが良いでしょう。
4.ブレッドボード
さまざまな実験&テストをするのにかなり重宝します。
ブレッドボードがないと半田付けするかジャンプワイヤーで繋ぐなどしないといけないので非常に面倒です。
写真にはありませんがセットとしてジャンプワイヤーも買っておくといいです。
Arduinoにアップロードするスケッチ
ArduinoIDEを起動してファイル>新規ファイルで新規にウインドウが出たら以下のスケッチを入力します。
慣れる為にも見ながら入力するのが良いですが面倒ならコピペしてしまいましょう。
void setup() {
// put your setup code here, to run once:
pinMode(3,OUTPUT); // デジタルピンのD3を出力に設定する
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(3,HIGH); // デジタルピンの3番をHIGH(オン)
delay(1000); // 1000ms(1秒)待つ
digitalWrite(3,LOW); // デジタルピンの3番をLOW(オフ)
delay(1000); // 1000ms(1秒)待つ
}
入力が終わるとこんな感じになっているはずです。
動作としてはLEDの点灯と消灯を1秒間隔で行うという単純なものです。
void loop(){}の中に書いているので4つの動作を無限ループする事になります。
良さそうなら赤い矢印部分の検証ボタンをクリックしてみましょう。
エラーがなければ「コンパイルが完了しました」と出てArduinoにアップロード出来るスケッチが出来た事になります。
吐き出し用のLチカ回路
実体配線図と回路図を用意しましたので参考にして組み立ててみてください。
各部品を取り付ければ準備完了です。
USB接続して赤矢印のマイコンボードに書き込むをクリックします。
無事にスケッチのアップロードが終わればLEDの点滅が始まります。
吸い込み用のLチカ回路
折角ですので少し回路変更してみましょう。
出来たらUSBに接続してみましょう。スケッチの更新は必要ありません。
問題なく点灯しましたか?
スケッチを変更しなくても点灯しましたね。吐き出し仕様ではHIGHでLEDがON、LOWでLEDがOFFしていました。
吸い込み仕様ではHIGHでLEDがOFF、LOWでLEDがONになるので見た目では同じ動作に見えます。
実際には1秒ずれて点灯と消灯を繰り返していることになります。
まとめ
いかがでしたか。
Arduinoだと初期設定やらで手間取ることもなくサクサク動かせてしまいますね。
今回はオンとオフを交互に繰り返すだけのスケッチでしたので、ご自身で点灯時間や消灯時間を弄って試してみてください。
光のモールス信号とか作ってみても面白いと思いますよ。