No i když běžně občas programuju v PHP, a myslel jsem že to nebude o moc jiné opak je pravdou.
V tom případě začínám víceméně od začátku.
Má představa programu je následující:
Stále pojede program, který dle času 2x za 24 hodin zapne postupně 2 relé. (RTC obvod je na cestě). Mezitím dle dvou teplotních čidel sepne podle nastavení další relé (nemusí spustit).
Přitom v podstatě kdykoliv mimo ty časové úseky bych chtěl v jednom případě sepnout opět ty "časové" relé ručně - jedno tlačítko(stejná doba sepnutí obou - nastavené ve funkci).
Sepnout jen jedno z těch dvou relé - druhé tlačítko.
No zatím zápasím s "blikající diodou" (hlavní program) a dvěma tlačítky (podprogramy). Hlavní program "blikání" funguje. Po stisku tlačítka ovšem další dvě diody zůstanou svítit i po puštění. To by bylo dobré, ale po dalším zmáčknutí bych chtěl aby zhasnuly. Poradí někdo jak upravit následující kód, případně řekne jestli na to jdu špatně a jak na to jít jinak?
Díky.
Kód: Vybrat vše
int G = A0; // 3x LED
int Y = A1;
int B = A2;
int zelena;
int modra;
int Tl1 = 0; // tlačítka
int Tl2 = 1;
void setup() {
pinMode(G,OUTPUT);
pinMode(Y,OUTPUT);
pinMode(B,OUTPUT);
pinMode(Tl1,INPUT_PULLUP);
pinMode(Tl2,INPUT_PULLUP);
}
void loop() {
zelena = digitalRead(Tl1);
modra = digitalRead(Tl2);
// pokud se zmáčkne Tl bude svítit modrá, pokud se pustí zhasne
if(modra == LOW) {
digitalWrite(B, HIGH);
}
// to samé jako předchozí ale jiné Tl a LED
if(zelena == LOW) {
digitalWrite(G, HIGH);
}
// hlavní program, který pojede stále
HlavniProg();
}
void HlavniProg() {
digitalWrite(Y, HIGH);
delay(200);
digitalWrite(Y, LOW);
delay(200);
}