Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Arduino - podmínky

První chyba - nedefinuješ základní stav zařízení (ve void setup() dopsat digitalWrite(výstup, LOW) pro ty výstupy, které mají být v základu vypnuté...)
Druhá chyba - pokud je splněna podmínka Ter1=HIGH a zároveň podmínka Ter1=LOW, tak se Kot (předpokládám že je to kotel) nejdřív zapne, ale hned nato se vypne. Měl bys tam zavést podmínku if(Ter1==HIGH||Ter2==HIGH) {digitalWrite(Kot,HIGH);}

Takže asi takhle:

// termostat prizemi
stavter1 = digitalRead(Ter1);
//termostat patro
stavter2 = digitalRead(Ter2);
if(stavter1 == HIGH || stavter2 == HIGH)
{
digitalWrite(Kot, HIGH);
}
else
{
digitalWrite(Kot, LOW);
}
if(stavter1 == HIGH)
{
digitalWrite(VenP, HIGH);
digitalWrite(CerP, HIGH);
}else
{
digitalWrite(VenP, LOW);
digitalWrite(CerP, LOW);
}
if(stavter2 == HIGH)
{
digitalWrite(VenR, HIGH);
}else
{
digitalWrite(VenR, LOW);
}
........
no a ještě by to šlo sofistikovaněji:

// termostat prizemi
stavter1 = digitalRead(Ter1);
//termostat patro
stavter2 = digitalRead(Ter2);
if(stavter1 == HIGH || stavter2 == HIGH)
{
digitalWrite(Kot, HIGH);
}
else                   //jelikož není ani jeden termostat aktivní, vypne se všechno
{
digitalWrite(Kot, LOW);
digitalWrite(VenP, LOW);
digitalWrite(CerP, LOW);
digitalWrite(VenR, LOW);
}
if(stavter1 == HIGH)
{
digitalWrite(VenP, HIGH);
digitalWrite(CerP, HIGH);
}
if(stavter2 == HIGH)
{
digitalWrite(VenR, HIGH);
}
........

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny