can I have another hint?
what about led2 ?
it is working fine when using only 1 blink function in the void loop(){}
but when adding another blink function in the loop(){} such as:
const byte led1 = 2;
const byte led2 = 8;
unsigned long previousMillis = 0;
void blink(unsigned long onTime, unsigned long phaseDifference,unsigned long rate)
{
unsigned long elapsedTime = millis() - previousMillis;
if (elapsedTime >= rate)
{
previousMillis = millis(); // Start a new cycle
elapsedTime = 0;
}
if (elapsedTime < onTime)
{
digitalWrite(led1, HIGH);
}
else
{
digitalWrite(led1, LOW);
}
if (elapsedTime >= phaseDifference && elapsedTime < (phaseDifference+onTime))
digitalWrite(led2, HIGH);
else
digitalWrite(led2, LOW);
}
void setup() {
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
}
void loop() {
blink(50,0,2000);
blink(50,100,3000);
}
seems not to work the right way.