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]

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

Skomentuj wpis

komentarzy

By | 2017-01-20T13:45:55+00:00 Lipiec 19th, 2016|Arduino i Domoticz Automatyka Domowa|9 komentarzy

About the Author:

9 komentarzy

  1. GrzegorzB 24-07-2016 at 18:55

    Witam, mogę prosić cały skecz na maila? Czy zamiast sprawdzania stanu przełącznika sprawdzi się również np. Czujnik PIR?

  2. Grzegorz 24-07-2016 at 21:46

    Witam, mogę prosić o cały sketch? nie wiem gdzie robię błąd ale nie odczytuje mi wartości z przełącznika dzwonkowego. Czy jest możliwość by arduino odczytywało ciągle wartości z czujnika na wejściu analogowym i w razie przekroczenia jakiegoś limitu wysyłało informację do Domoticz?

  3. Grzegorz Baran 24-07-2016 at 21:49

    Witam, czy mogę prosić o cały sketch? Nie wiem co robię źle ale nie działa mi przełącznik dzwonkowy. Czy jest możliwość by arduino ciągle odczytywało wartości na wejściu analogowym (czujnik gazu) i w razie przekroczenia jakiejś wartości wysłało informację do domoticz?

  4. Marcin Przybysz 25-07-2016 at 13:30

    witam, a spróbuj nacisnąc dzwonkowy b.szybko lub zmien wartosc delay(100) na więcej przy odczycie przycisków.
    Wrzucę zaraz gotowy sketch do artykułu.
    pozdrawiam

  5. Pyby 25-07-2016 at 20:13

    Przelacznikiem moze byc kazdy modul ktory zmienia stan na wejsciu np. PIR, czujnik swiatla, czujnik deszczu

  6. Stefan 18-12-2016 at 00:08

    Kiedy nastepna czesc??

  7. Marcin Przybysz 20-12-2016 at 11:31

    Stefan,
    nie pisałem, bo myślałem, że nikt nie czyta. Obiecuję do piątku wstawić część 3 oraz mój nieco poprawiony działający sketch filmik.

  8. Stefan 20-12-2016 at 23:30

    Wedlug mnie kawal swietnej roboty Niedlugo robie remont calego pietra w domu i zastanawiam sie czy nie wykorzystac twojego rozwiazania Nie trac zapalu, ekstra projekt
    Pozdrawiam

Comments are closed.