Skip to content

Instantly share code, notes, and snippets.

@likersacademia
Created October 18, 2019 15:10
Show Gist options
  • Save likersacademia/2fafb125ea538b36b8e265d906308b97 to your computer and use it in GitHub Desktop.
Save likersacademia/2fafb125ea538b36b8e265d906308b97 to your computer and use it in GitHub Desktop.
#define cdsPin 5
#define ledPin 10
#define ON LOW
#define OFF HIGH
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(cdsPin, INPUT);
}
void loop() {
// R1のAD値を取得
float cds_ad = analogRead(cdsPin);
// AD値を電圧値に変換
float cds_v = cds_ad * 5 / 1023;
// 電圧値より、Lux計算
float lux = 10000 * cds_v / (5 - cds_v) / 1000;
Serial.print(lux);
Serial.println(" Lux ");
//プログラムはここからかえます
if (lux < 30){ //30より小さいとき
digitalWrite(ledPin, ON);
delay(20);
digitalWrite(ledPin, OFF);
delay(20);
Serial.println("はやい");
} else if (lux < 20){ //20より小さいとき
digitalWrite(ledPin, ON);
delay(200);
digitalWrite(ledPin, OFF);
delay(200);
Serial.println("ふつう");
} else if (lux < 10){ //10より小さいとき
digitalWrite(ledPin, ON);
delay(1000);
digitalWrite(ledPin, OFF);
delay(1000);
Serial.println("おそい");
}else{ //それ以外の時
digitalWrite(ledPin, OFF);
delay(200);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment