Wpis z mikrobloga

cześć, mam problem z rozwiązaniem problemu.
Opiszę w skrócie:
Arduino ma za zadanie pomar napięcia, ciśnienia w instalacji grzewczej i temp wody. Jeśli któryś z tych wartości wyjdzie ponad zadane wartości ma wysłać sms. Jednocześnie wyświetla wartości na wyświetlaczu. Wszystko działa spoko, natomiast mam problem z wysyłaniem sms. Jeśli wartość zostanie przekroczona wysyła cały czas sms o jej przekroczeniu, zresztą zgodnie z kodem i funkcją loop(). W jaki sposób można wysłać tylko raz sms jeśli wartość zostanie przekroczona i kolejnego sms jeśli wartość wróci do stanu pierwotnego?

#arduino #programowanie
  • 14
Ustaw jakas zmienna flagowa, np int pierwszyRaz, zeby po wyslabiu smsa sie zmienia. A zeby wyslac smsa musi byc 0, po wysłaniu 1, a zeby jej zerowanie zrob jak poziom wróci do normy.
Ok, czyli jesli dobrze rozumiem to coś takiego:

if (emon1.Vrms <= 210)
{
if (stansms ==0){
sms.SendSMS("+48xxxxxxxxx", "napiecie");
stanssms=1;
}
}
if (emon1.Vrms <= 230)
{
stansms=0;
}
@maslokm: do ciśnienia mam HK1100C, do temperatury termopare k i układ max6675. Z czujnikiem ciśnienia nie było problemu bo miał standardowy gwint. Z termopara był większy problem bo nie można było dostać u nas redukcji na tak mały gwint, dodatkowo o ile dobrze pamiętam to był to angielski gwint. Z pomocą znajomego tokarza dorobilem redukcję. W instalacji dolutowalem trójnik i do tego mufy.
@bibus: ok, dzięki. Akurat czujnik ciśnienia chętnie bym sobie dodał, mam kominek z płaszczem w układzie zamkniętym i gaz. Póki co mierzę tylko temperatury po onewire.
@maslokm: no właśnie ja w takim celu zastosowałem ten układ. Dodałem jeszcze pomiar napięcia i planowo dodam jeszcze pomiar prądu, żeby w razie awarii pompy przyłączylo na drugą pompę.