IoT

Arduino × 光センサ 結線図とスケッチ

Arduinoと光センサーを使って、周りが暗くなればLEDを明るくし、明るくなればLEDを暗くしてみました!

1.準備するもの

[table “Arduino_CdS” not found /]

2.結線図

3.スケッチ

const int CDS_PORT = A0; // CdSセンサー入力ポート
const int LED_PORT = 9; // LED出力ポート
const boolean SERIAL_OUTPUT = true; // 輝度のシリアル出力
const int LOOP_DELAY = 200; // ループ周期(ms)

void setup() {
  pinMode(LED_PORT, OUTPUT); // LEDポートを出力ポートにセット

  if(SERIAL_OUTPUT){
    Serial.begin(9600);
  }

}

void loop() {
  int brightness = analogRead(CDS_PORT); // センサーからのアナログデータを取得
  int luminance = map(brightness, 0, 1023, 255, 0);

  analogWrite(LED_PORT, luminance);

  if(SERIAL_OUTPUT){
    Serial.print(luminance);
    Serial.println("");
  }

  delay(LOOP_DELAY);
}

【ポイント】

int brightness = analogRead(CDS_PORT);

でアナログポートから光センサーのデータを取得します。

int luminance = map(brightness, 0, 1023, 255, 0);

で取得した0〜1023のデータをLED出力用の255〜0の数値にマッピングしています。

GitHubにもスケッチをアップロードしてありますので、よかったら使ってみてください(^_^)