doing a project.
Need the relays to turn on individually with a mapped delay time that is adjusted by a potentiometer signal pin. I have managed to get all the relays connected to the potentiometer but its changing the speed of all of them at the same time, as opposed to maintaining a delay time between each relay and them individually switching on. Any help would be greatful, i need this make this project work correctly and its very urgent, Thank you!!!
I need the relays to turn on one at a time, but change the overall speed.
int LED1 = 7; //This assigns names to pins
int LED2 = 8;
int LED3 = 9;
int LED4 = 10;
int LED5 = 13;
int LED6 = 1;
int pot = A0; // assigns analog input A0 to variable pot
int val;
int lastChange; // the time of changing pin state
int state = HIGH;
void setup()
{
pinMode(LED1, OUTPUT); //Set the pins to led as outputs
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT); //Set the pins to led as outputs
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(A0, INPUT);
lastChange = millis(); // ledpin state changed NOW
digitalWrite(LED1, state);
digitalWrite(LED2, state);
digitalWrite(LED3, state);
digitalWrite(LED4, state);
digitalWrite(LED5, state);
digitalWrite(LED6, state);
}
void loop()
{
val = map(analogRead(pot), 0, 1023, 500, 5); //this reads the value every time
if (lastChange + val <= millis())
{
state = !state; // invert led's state
lastChange = millis(); //
digitalWrite(LED1, state);
delay(500);
digitalWrite(LED2, state);
delay(500);
digitalWrite(LED3, state);
delay(500);
digitalWrite(LED4, state);
delay(500);
digitalWrite(LED5, state);
delay(500);
digitalWrite(LED6, state);
delay(500);
}
}