『Head First C』には、Arduinoを使った電子工作の配線図が載っている。
しかし、肝心のプログラムコードは、考え方が書かれているだけで、
コードは読者が自分で考える必要がある。
おもしろそうなので、Arduino UNO 3 をアマゾンで購入した。
しかし、コードの書き方、つまり、Arduino IDE の使い方がわからないので
手も足も出ない。
ネットにも日本語の情報があるのだが、わかりにくい。
結局、オライリーの『Arduinoをはじめよう 第3版』を手に入れて読んでみた。
これが一番わかりやすかった。オームの法則もすごくていねいに書かれてある。
arduino の配線
|------ ブレディンボード ---|---- auduino ----------|-------- 鉢植え ----|
c5 --------------------------------- 5V
b5 ------------------------------------------------------------- 赤
b10 ------------------------------------------------------------ 緑
c10 ----[10KΩ抵抗]---- c15
d10 -------------------------------- A0
d15 -------- GND
D13 --+
+ LED
GND --+
+--------------------------------------------------------------------+
| |
| |
| +--------------------------------------------------+ |
| | | |
| | | |
+ + | |
+ +--- 10KΩ ---+ | |
| + + +-- LED --+ | |
| | | | | | |
| | | | | | |
5V A0 GND D13 GND 緑 赤
| | | |
| | | |
INPUT OUTPUT 釘 釘
Arduino IDE プログラムコード
// water_censor
// Head First C p210
const int LED = 13;
const int CENSOR = A0;
int i = 0;
void setup() {
// put your setup code here, to run once:
pinMode (LED, OUTPUT);
pinMode (CENSOR, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
i = analogRead(CENSOR);
delay(10);
if (i < 250) {
digitalWrite(LED, HIGH);
}
else {
digitalWrite(LED, LOW);
}
}



真ん中の向こう側から。d10がArduinoのA0ピンにつながっている。c10には10KΩの片側がつながっている。b10は鉢植えのもう一つの釘につながっている。
右の向こう側から。d15がArduinoのGNDにつながっている。c15には10KΩの片側がつながっている。
調整が必要な部分
コード中
if ( i < 250 ) { digitalWrite( LED, HIGH ); }
とあるところで、
CENSORからの値が i に入っているのだが、
この数字が大きいほど、水分が残っていてもLEDが点灯する。数字が小さくなると、水分がだいぶ抜けないと点灯しない。
この250という数字は、鉢植えに水を供給して、だいぶ乾いた状態になってから点灯するという数字である。まあ、こんなもんだと思う。