Automatyka domowa z wykorzystaniem Domoticz i Arduino [cz.2]

//Automatyka domowa z wykorzystaniem Domoticz i Arduino [cz.2]

Automatyka domowa z wykorzystaniem Domoticz i Arduino [cz.2]

2017-01-20T13:45:55+01:00 19 lipca, 2016|Categories: Automatyka Domowa|

Jeśli kod Arduino z części pierwszej działa Wam poprawnie, zajmiemy się jeszcze obsługą przycisków fizycznych.

Zdefiniujmy w arduino pin dla przełącznika

#define przelacznikSALON 23

w sekcji setup ustawiamy ten pin jako wejście

Definiujemy także zmienną globalną, która będzie wskazywać czy przycisk został wciśnięty (po krótce: jesli swiatlo zapalone i wciskamy przycisk – wyłącz światło ; jeśli światło zgaszone i wciskamy przycisk – włącz światło).

bool BprzelacznikSALON=false;

pinMode(przelacznikSALON,INPUT_PULLUP)

A następnie funkcję do sprawdzania przycisków fizycznych (czyli czy pin przelacznikSALON został zwarty z masą).

void SprawdzPrzelacznikiFizyczne()
{ // ODBIERANIE SYGNAŁÓW WCIŚNIĘCIA PRZYCISKU PRZEZ ARDUINO I WYSYŁANIE DO DOMOTICZA
if (digitalRead(przelacznikSALON)==LOW) { delay(100); BprzelacznikSALON=!BprzelacznikSALON;
if ((BprzelacznikSALON==true)) { sendGET("/json.htm?type=command&param=switchlight&idx=12&switchcmd=On"); } else { sendGET("/json.htm?type=command&param=switchlight&idx=12&switchcmd=Off"); } 
}
}

Odnośnie ostatniego polecenia

sendGET("/json.htm?type=command&param=switchlight&idx=12&switchcmd=On")

Ta linia powoduje wysłanie do Domoticza sygnału przełączenia dla przełącznika o IDX = 12. Włączenie go wywołuje akcję zwrotną do Arduino, która zapala nam światło (o konfiguracji Domoticza będzie w kolejnej części).

Tę funkcję którą wywołuje Domoticz tak naprawdę oprogramowaliśmy już w części pierwszej kursu.

Przed częścią związaną z obsługą Domoticza (a jest to naprawdę proste) proponuję zapoznać się z Domoticz API:

 https://www.domoticz.com/wiki/Domoticz_API/JSON_URL’s 

Poniżej testowe połączenie przekaźnika poprzez płytkę stykową. W Arduino po lewej widzimy kabel zielony -sterowanie przekaźnikiem i niebieski do odbierania sygnału zwarcia przełącznika na ścianie.

połączenie arduino - płytka stykowa

Na obrazku:

  • przewód zielony – sterowanie przekaźnikiem IN
  • przewód niebieski – do przełącznika fizycznego dzwonkowego
  • przewód biało brązowy – do przełącznika fizycznego dzwonkowego
  • brązowy – GND masa przekaźnika
  • pomarańczowy – VCC +5V przekaźnika

DO POBRANIA MÓJ DZIAŁAJĄCY SKETCH Z ARDUINO. BĘDĘ GO W MIARĘ MOŻLIWOŚCI ROZBUDOWYWAŁ. pobierz web2

Uwaga! Do poprawnego działania konieczny jest działający serwer domoticza. Moją konfigurację przedstawię w kolejnej części.

Sketch zawiera dodatkowe funkcje np. odczyt temperatury i wysyłkę do arduino, z tym że na razie funkcja w loopie jest zakomentowana. Wystarczy odkomentować i powinno działać .

 

Przejdź do części #3 – zaktualizowany sketch arduino

Facebook - komentarze