/*
* Traffic lights
* By: Luis Alejandro Domínguez Bueno
* On: 2024/02/15
*/
#define LED_PIN 2
#define PWM_CHANNEL 0
#define PWM_FREQUENCY 1000
#define PWM_PRECISION 8
int waitingTime;
void setup() {
ledcSetup(PWM_CHANNEL, PWM_FREQUENCY, PWM_PRECISION);
ledcAttachPin(LED_PIN, PWM_CHANNEL);
randomSeed(analogRead(0));
}
void loop() {
waitingTime = random(5, 10);
for (int i = 0; i < 255; i++) {
ledcWrite(PWM_CHANNEL, i);
delay(waitingTime);
}
delay(1000);
for (int i = 255; i >= 0; i--) {
ledcWrite(PWM_CHANNEL, i);
delay(waitingTime);
}
delay(1000);
}