int red_pin = 6;
int grn_pin = 5;
int blu_pin = 3;
int ldr_pin = A0;
int ldr_val;
unsigned long currentTime, lastTime;
bool rgbState; // for red and blue only
void setup() {
pinMode(red_pin, OUTPUT);
pinMode(grn_pin, OUTPUT);
pinMode(blu_pin, OUTPUT);
Serial.begin(9600);
}
void loop() {
currentTime = millis();
ldr_val = analogRead(ldr_pin);
// Serial.println(ldr_val);
if (ldr_val < 400) { // there is light
if (currentTime - lastTime > 500) {
rgbState = !rgbState;
lastTime = currentTime;
}
if (rgbState == true) {
red();
Serial.println("Red");
}
else {
blue();
Serial.println("Blue");
}
}
else {
green();
Serial.println("Green");
}
}
void red() {
analogWrite(red_pin, 255);
analogWrite(grn_pin, 0);
analogWrite(blu_pin, 0);
}
void green() {
analogWrite(red_pin, 0);
analogWrite(grn_pin, 255);
analogWrite(blu_pin, 0);
}
void blue() {
analogWrite(red_pin, 0);
analogWrite(grn_pin, 0);
analogWrite(blu_pin, 255);
}