EDIT:
Już poprawiłem połączenie przycisku, reaguje na wciśniecie przycisku. Jak teraz zrobić aby akcja zaczęła z opóźnieniem np 5 sekund i było odliczanie za pomocą diody LED?
Aha. po wgraniu kodu Arduino ze zmienionymi parametrami czasu i opóźnień najpierw zapalają wszystkie diody i potem gasną i wtedy czekają na uruchomienie przyciskiem. Jak to zrobić żeby na początku nie zapalały diody po wgraniu kodu?
//opoznienie i czas trwania w ms dla kanału 1
unsigned long opoznienie1 = 500;
unsigned long czas1 = 500;
//opoznienie i czas trwania w ms dla kanału 2
unsigned long opoznienie2 = 500;
unsigned long czas2 = 300;
//opoznienie i czas trwania w ms dla kanału 3
unsigned long opoznienie3 = 500;
unsigned long czas3 = 200;
//pin cyfrowy, pod który podłączony jest przycisk START
const int buttonPin = 2;
int buttonState = 0;
unsigned long int last_millis;
void setup()
{
//tutaj wpisujemy instrukcje pinMode dla wszystkich kanałów
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(buttonPin, INPUT);
//itd.
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
last_millis = millis();
}
if( millis() >= (last_millis + opoznienie1 + czas1))
{
//tutaj wyłączamy urządzenia kanału 1
digitalWrite(13, HIGH);
}
else if( millis() >= (last_millis + opoznienie1))
{
//tutaj uruchamiamy urządzenia dla kanału 1
digitalWrite(13, LOW);
}
if( millis() >= (last_millis + opoznienie2 + czas2))
{
//tutaj wyłączamy urządzenia kanału 2
digitalWrite(12, HIGH);
}
else if( millis() >= (last_millis + opoznienie2))
{
//tutaj uruchamiamy urządzenia dla kanału 2
digitalWrite(12, LOW);
}
if( millis() >= (last_millis + opoznienie3 + czas3))
{
//tutaj wyłączamy urządzenia kanału 3
digitalWrite(11, HIGH);
}
else if( millis() >= (last_millis + opoznienie3))
{
//tutaj uruchamiamy urządzenia dla kanału 3
digitalWrite(11, LOW);
}
//analogicznie tworzymy stałe const int dla pozostałych kanałów, oraz kopiujemy powyższe instrukcje warunkowe i zmieniamy zmienne
}