Być może zmienna Irms osiąga założoną wartość, ale moment w którym ją osiąga nie jest współbieżny czasowo z momentem, w którym program sprawdza ifa. Tak to można obrazowo przedstawić.
Lepiej jest zastosować widełki, (nie znam założeń programu więc improwizuję) coś w stylu:
Lepiej jest zastosować widełki, (nie znam założeń programu więc improwizuję) coś w stylu:
Kod:
if (emon1.calcIrms(1480) >= 0.01) digitalWrite(8,HIGH);
else if (emon1.calcIrms(1480) >= 0.04) digitalWrite(8,LOW);
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.