Instrukcja sterowania gniazdkami 230 V za pomocą Arduino
Przykład przedstawia sposób sterowania gniazdkami elektrycznymi w sposób zdalny lub automatyczny wykorzystując Arduino. Dzięki temu rozwiązaniu można zastosować podstawowe elementy inteligentnego domu.
W przykładzie zostały wykorzystane następujące elementy:
- Arduino np. Uno
- Gniazdka sterowane za pomocą pilota
- Płytka stykowa oraz przewody
- Biblioteka RCSwitch dla Arduino
Na początku bibliotekę należy dodać do środowiska Arduino (Szkic -> Include Library -> Add .ZIP Library...).
Podłączanie odbiornika
Aby sterować gniazdkiem, najpierw należy odczytać kody z pilota sterowania dołączonego do gniazdek. W tym celu wykorzystamy odbiornik połączony z Arduino.
Piny odbiornika
Pin | Opis |
---|---|
1 |
VCC - zasilanie |
2 | DATA - pin danych |
3 | DATA - pin danych |
4 | GND - masa układu |
Teraz należy podłączyć odpowiednie piny odbiornika z Arduino:
Podłączenie
Pin Arduino | Pin odbiornika |
---|---|
GND | pin 1 - GND |
D2 | pin 2 lub 3 - DATA |
+5 V | pin 4 - VCC |
Następnie część programowa. Należy otworzyć przykład ReceiveDemo_Advanced z dołączonej biblioteki (Plik -> Przykłady -> RCSwitch -> ReceiveDemo_Advanced) i wgrać go do Arduino.
Teraz za pomocą monitora szeregowego (Narzędzia -> Szeregowy monitor) jest możliwość odczytywania kodów z pilota . Otrzymywane wartości powinny wyglądać podobnie jak na screenie poniżej:
Pierwsze dwie linie to przycisk włączający gniazdko, następne dwie, przycisk wyłączający.
Podłączenie nadajnika
Aby podłączyć nadajnik do Arduino, należy zapoznać się z wyprowadzeniami pinów nadajnika:
Piny nadajnika
Pin | Opis | |
---|---|---|
1 | DATA - pin danych | |
2 | VCC - zasilanie | |
3 |
GND - masa układu |
Teraz należy podłączyć odpowiednie piny nadajnika z Arduino:
Podłączenie
Pin Arduino | Pin nadajnika |
---|---|
GND | pin 1 - GND |
+5 V | pin 2 - VCC |
pin 10 | pin 3 - DATA |
Wykorzystany kod programu
#include
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.setPulseLength(325); // Wartość odczytana z serial monitora
mySwitch.enableTransmit(10); // Pin, do którego podpięty jest nadajnik
}
void loop() {
mySwitch.send("000000000000010101010001"); // Kod binarny z pierwszego przycisku
delay(5000);
mySwitch.send("000000000000010101010100"); // Kod binarny z drugiego przycisku
while (1); // Nieskończona pętla
}
Powyższy kod włącza gniazdko, następnie po 5 sekundach je wyłącza.