Wykombinowałem program który miał uruchamiać podprogramy wyborem przycisku ale :
Po wgraniu i wciśnięciu przycisku podprogram uruchamia się tylko raz i blokuje całość programu nie działa nawet stop dla programu nie reaguje.
Jak to poprawnie napisać by działało z wyborem programu i jego zatrzymaniu ?
Po wgraniu i wciśnięciu przycisku podprogram uruchamia się tylko raz i blokuje całość programu nie działa nawet stop dla programu nie reaguje.
Jak to poprawnie napisać by działało z wyborem programu i jego zatrzymaniu ?
Kod:
// Dwa programy uruchamiane z dwóch przycisków //
int start1 = 2;
int start2 = 3;
int stop = 4;
int led1 = 0;
int led2 = 1;
void setup()
{
pinMode(start1, INPUT);
pinMode(start2, INPUT);
pinMode(stop, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
if (digitalRead(start1) == HIGH && stop != LOW )
{
stop = LOW;
program1();
}
if (digitalRead(start2) == HIGH && stop != LOW )
{
stop = LOW;
program2();
}}
void program1()
{
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
}
void program2()
{
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
analogWrite(led1, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
analogWrite(led1, fadeValue);
delay(30);
}
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
analogWrite(led2, fadeValue);
delay(30);
}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
analogWrite(led2, fadeValue);
delay(30);
}}