Arduino(アルディーノ)を使い、LEDを点滅させる「Lチカ」と、明るさセンサーを用いて 暗いところでLEDが光る仕組みを作った。
Arduinoは、2005年にイタリアで生まれた、初心者でも電子工作とプログラミングを学びやすい オープンソースのプラットフォームであり、マイコンボード本体と統合開発環境(IDE)から成り立っている。
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
digitalWrite(13, LOW);
delay(1000);
| 命令 | 意味 |
|---|---|
| pinMode(13, OUTPUT) | 13番ピンを出力として使う |
| digitalWrite(13, HIGH) | 電気を流してLEDを点灯させる |
| digitalWrite(13, LOW) | 電気を止めてLEDを消灯させる |
| delay(1000) | 1秒待つ |
| 状態 | 意味 |
|---|---|
| HIGH | ON(電気あり) |
| LOW | OFF(電気なし) |
Arduinoのデジタル出力は、0か1かの2択で制御するシンプルな仕組み。
setup でピンを設定するloop でONとOFFを繰り返すval = analogRead(A1);
Serial.println(val);
| 命令 | 意味 |
|---|---|
| analogRead(A1) | A1ピンの電圧を読み取る |
| Serial.println(val) | 読み取った値をPCに表示する |
Arduinoのアナログ入力では、0Vから5Vまでの電圧を0から1023までの数値に変換して扱うことができる。 デジタルのように0か1だけではなく、連続した値を読み取れることが特徴。
| 電圧 | 値 |
|---|---|
| 0V | 0 |
| 5V | 1023 |
今回の明るさセンサーでは、明るいと値が小さくなり、暗いと値が大きくなる。
この変化を利用することで、暗い場所でLEDが光る仕組みを作ることができた。
この学習を通して、Arduinoではデジタル出力による単純なON/OFF制御だけでなく、 アナログ入力を使って周囲の環境に応じた動作も実現できることが分かった。