Mini proiect (38) - Transmisia de semnale RF 433 Mhz de la senzorul care detectează deschiderea ferestrei, și recepționarea informației pentru Arduino Atmega2560
Transmisia de semnale RF 433 Mhz de la senzorul care detectează deschiderea ferestrei, și recepționarea informației pentru Arduino Atmega2560
Azi am avut la teste un kit de comunicator radio RF 433 MHz, care l-am folosit pentru a determina starea unei ferestre cu un senzor simplu de fereastră. A trebuit să hackeresc un astfel de senzor pentru ai lipi niște fire, și pentru a citi semnalul de la senzorul magnetic, care presupun că este similar cu un modul cu senzor Hall testat mai demult. Din cauza faptului că nu am găsit nimic scris pe acest senzor, și nici pe integratul de pe placă (care cred că este un convertor analog/digital), a trebuit să măsor cu osciloscopul toate semnalele de pe placă pentru a putea determina ce aș putea să folosesc pentru determinarea stării ferestrei.
Am reușit până la urmă, și am lipit firele care mai departe le-am conectat la ATtiny85, iar informațiile despre fereastră sunt trimise către placa ATMega2560.
Componente:
- KIT Comunicator radio 433MHz STX882 si SRX882 OKN508-6
- Placa dezvoltare ATmega328P-AU Mega2560 CH340G MicroUSB si cablu
- Placa de dezvoltare miniatura cu ATtiny85 si microUSB OKY2024-1
- Alarma la deschidere usa sau fereastra Home HS 22/4, senzor deschidere, 4 buc/pachet
Schema electronica/sistem:
Pe placa senzorului de ușă deschisă am lipit 4 fire:
- Firul roșu este VCC .
- Firul maroniu este GND.
- Firul galben l-am legat la ieșirea senzorului magnetic, care se pare ca este citit tot timpul pe HIGH dacă este fereastra închisă și invers pe LOW.
- Firul portocaliu l-am legat la ieșirea selectorului, dar din teste am constatat că mi-e de ajuns doar firul galben .
Apoi am folosit VCC și GND la alimentarea plăcii ATtiny85, iar de pe firul galben citesc senzorul magnetic (pe pinul PB0), care este închis atunci când magnetul este apropiat de el. Tot de placa ATtiny85 mai este conectat modulul de transmisie RF433 Mhz STX882 pe pinul PB2, cu care se va trimite starea ferestrei, pentru fereastră închisă o să fie 9 iar pentru fereastră deschisă o să fie 5.
Pe parte de recepție am folosit o placă Arduino ATMega2560 (nu am avut altceva la îndemână) , la care am conectat un receptor de alt tip MX-RM-5V 080408 (să nu mă întrebați de ce), care este legat la pinul #2 (se vede clar :)
În fereastra din Arduino IDE pentru comunicația serială se pot vedea datele care sunt primite, pentru WindowOpen se primește valoarea 5, iar pentru WindowClosed se primește valoare 9 (identic cu ce se trimite de pe ATtiny85). Pare că funcționează destul de bine ...
Cod Transmisie - ATTiny85:
PlatformIO ini:
Cod Receptionare - ATMega2560:
PlatformIO ini:
Documentatie proiect:
- https://forum.arduino.cc/t/decode-and-send-433mhz-with-arduino/662982
- https://ericdraken.com/hvsp/
- https://github.com/sui77/rc-switch/wiki/HowTo_OperateLowCostOutlets
- https://www.dfrobot.com/blog-409.html
- https://www.instructables.com/Arduino-433Mhz-Wireless-Communication-Rc-Switch/
- https://randomnerdtutorials.com/rf-433mhz-transmitter-receiver-module-with-arduino/
To do:
- Starea ferestrei o să încerc să o trimit către HomeAssistant folosind cel mai probabil un ESP32 MQTT gateway, apoi o să integrez această informație in HA
- Tre să fac o cutie în care o să înghesui placa ATtiny85 și transmițătorul RF433 Mhz
Afiliere eMag:
Linkurile de la secțiunea "Componente" conțin adresa mea de afiliere la eMag.ro, iar dacă cumperi folosind aceste linkuri vei susține blogul meu.
Mulțumesc!
eMag Genius:
Hai și tu în Genius! Abonează-te la Genius 12 luni și primești beneficii premium și 20 lei card cadou eMAG. Profită acum! eMag Genius
Pentru întrebari și/sau consultanță tehnică vă stau la dispozitie pe blog sau pe email simedruflorin@automatic-house.ro.
O seară/zi plăcută tuturor !