はじめに

  1. 800円と安くてちっちゃいちびでぃ~の2を使った例です。
  2. 部品は秋月電子通商で書いました。
  3. 温度センサーはLM61biz
  4. 照度センサーはNJL7302L-F3
  5. 初心者向けに簡単に書いています。 厳密には正確ではない場合があるかも知れません。
  6. 回路図ではArduino Unoを載せていますがちびでぃ~の2と微妙にピンアサインが違います。

温度センサーLM61bizを使ってみる

  1. センサーの情報を集める。
    今回は秋月電子通商のデータシートを参考にしました。
  2. データシートから回路図とピン配置が分かりました。

  3. 下記の回路図にしたがって配線する。
  4. 写真で見るとこんな感じ。
    平らな面が手前です。
  5. Arduino IDEでAnalogInputの例を取り込む。
  6. プログラムを書き込む
  7. 温度センサーの読み値を変えるのは大変なのでシリアルに出力してみましょう。
    サンプルに6行目と14行目を追加しました。 正常であればLEDが点滅し、シリアルモニタに値が出力されるはずです。
    センサーを触るなどで温度を変えると値が変わるのを確認出来ます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  Serial.begin(115200);
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);
  // turn the ledPin off:
  digitalWrite(ledPin, LOW);
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);
}
  1. シリアルモニタは下記ボタンを押して表示します。

照度センサーは[NJL7302L-F3を使ってみる

  1. センサーの情報を集める。
    今回は秋月電子通商のデータシートを参考にしました。
  2. データシートからピン配置が分かりました。
  3. 下記の回路図にしたがって配線する。
  4. 写真で見るとこんな感じ。
    足の長い方が向かって右側です。
  5. Arduino IDEでDigitalInputPullUpの例を取り込む。
  6. 例のまま書き込んでセンサーに強い光を当てるとLEDが消えます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int sensorPin = A0;       // select the input pin for the potentiometer
int lightSensorPin = 2;  // select the input pin for the potentiometer
int ledPin = 13;          // select the pin for the LED
int sensorValue = 0;      // variable to store the value coming from the sensor
int lightSensorValue = 0; // variable to store the value coming from the sensor

void setup() {
  Serial.begin(115200);
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);
  pinMode(lightSensorPin, INPUT);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);
  lightSensorValue = digitalRead(lightSensorPin);
  Serial.print("Temp. Sensor:");
  Serial.print(sensorValue);
  Serial.print("  Light. Sensor:");
  Serial.println(lightSensorValue);
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);
  // turn the ledPin off:
  digitalWrite(ledPin, LOW);
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);
}