Cum folosim modulele de emisie si receptie 433MHz cu Arduino

Cum folosim modulele de emisie si receptie 433MHz cu Arduino

Salutare! Sunt Oana de la Bitmi.ro si astazi vreau sa iti arat un proiect prin care poti transmite un semnal fara fir folosind module radio pe 433MHz. Ideea este simpla: la partea de emisie avem un buton, iar la partea de receptie avem un LED. Cand apasam butonul, semnalul este trimis prin unde radio, iar LED-ul se aprinde pe partea cealalta.

Este un proiect excelent pentru a invata cum functioneaza comunicatia wireless cu Arduino si pentru a te familiariza cu modulele RF 433MHz.
 

Despre modulele de emisie si receptie 433MHz

Modulele RF de 433MHz sunt dispozitive simple si accesibile, foarte folosite in proiectele Arduino pentru transmisia de semnale digitale pe distante scurte sau medii. Ele permit crearea unui canal wireless rapid si fiabil pentru comenzi sau notificari, fara cabluri complicate.

Modulul de emisie este foarte simplu: el nu decodeaza nimic, doar trimite datele primite de la Arduino sub forma de impulsuri digitale modulatoare la frecventa de 433MHz.

Receptorul functioneaza diferit fata de modulul de emisie: el asculta constant frecventa de 433MHz si capteaza semnalele trimise de modulul TX. Semnalul receptionat poate fi afectat de distanta, obstacole sau interferente electromagnetice, motiv pentru care folosirea unei antene este foarte recomandata. Modulul RX nu interpreteaza datele, acesta doar le livreaza ca impulsuri digitale catre Arduino, care le decodeaza folosind libraria RadioHead.

Componente necesare

1 x Placa de dezvoltare compatibila Arduino Uno R4
1 x Placa de dezvoltare compatibila Arduino Uno R3 ATMega328P cu ESP8266
1 x Modul emisie receptie 433MHz
1 x Modul buton switch, KY-004
1 x LED 
1 x Rezistor 220 Ohm
2 x Conector baterie 9V cu mufa 5.5 x 2.1 mm
2 x Baterie alcalina Varta 9V
2 x Breadboard 400 puncte


Schema de conectare


Cod sursa

Dupa ce ai realizat circuitul, urmeaza sa introduci codul sursa. Pentru a descarca fisierele cu codul complet pentru partea de emisie si partea de receptie, click AICI.

Conecteaza placa de dezvoltare compatibila Arduino Uno R4 la computer folosind cablul USB. Apoi, mergi in meniul Tools din Arduino IDE si selecteaza tipul de placa pe care il folosesti la optiunea Board, iar la Port alege portul serial asociat placii tale.

Pentru ca proiectul sa functioneze corect, este necesar sa instalezi cateva librarii suplimentare in Arduino IDE. In primul rand, ai nevoie de RadioHead Library, o librarie speciala pentru transmisii radio, care suporta modulele simple de 433MHz. Aceasta librarie se ocupa de codificarea si decodificarea semnalelor, astfel incat comunicatia dintre transmitator si receptor sa fie stabila si fiabila.

Libraria se instaleaza usor prin Library Manager: accesezi meniul Sketch > Include Library > Manage Libraries, cauti „RadioHead” in bara de cautare si apesi butonul Install. In plus, vei folosi si libraria standard SPI, deja inclusa in Arduino IDE, care ajuta la gestionarea comunicatiei dintre Arduino si modulele radio.

Dupa ce ai instalat librariile, incarca codul pentru partea de emisie pe prima placa de dezvoltare apasand butonul Upload (simbolul cu sageata spre dreapta). Vei observa mesajele de stare din partea de jos a IDE-ului: Compiling Sketch, Uploading si Done.

Apoi, conecteaza a doua placa Arduino pentru partea de receptie si repeta procesul cu codul specific acesteia. Odata ce incarcarea este finalizata cu succes pe ambele placi, ele vor incepe sa comunice automat: cand apesi butonul pe transmitator, LED-ul de pe receptor va clipi ca raspuns.

 

Cum functioneaza proiectul?

 

Cand pornesti ambele montaje, Arduino-ul de pe partea de receptie asteapta continuu semnale de la modulul RF 433MHz. Pe partea de emisie, butonul conectat la Arduino actioneaza ca un intrerupator digital: atunci cand il apesi, Arduino detecteaza starea LOW pe pinul respectiv si trimite un mesaj numeric („1”) prin modulul TX.

Mesajul trimis prin radio calatoreste prin aer catre modulul RX de pe cealalta placa Arduino. Modulul de receptie primeste semnalul si il transmite catre Arduino, care il decodeaza folosind libraria RadioHead. Aceasta librarie se ocupa sa detecteze corect pachetele de date, chiar daca exista mici interferente, si sa le livreze catre codul tau intr-o forma usor de procesat.

Odata ce Arduino-ul receptor identifica mesajul „1”, acesta aprinde LED-ul conectat la pinul D3 pentru o perioada scurta de 500ms. Aceasta durata este suficienta pentru ca semnalul sa fie vizibil clar, iar LED-ul sa functioneze ca indicator vizual al semnalului primit. Dupa aceasta perioada, LED-ul se stinge automat, iar Arduino-ul ramane pregatit sa primeasca urmatorul mesaj.

Daca apesi butonul in mod repetat sau il tii apasat, Arduino-ul de pe partea de emisie va trimite mesaje succesive la intervale de 200ms, iar receptorul va aprinde LED-ul de fiecare data cand primeste un mesaj valid. Astfel, LED-ul clipeste sau ramane aprins atata timp cat butonul este apasat, demonstrand o comunicatie continua si reactiva intre cele doua dispozitive.

Acest proiect nu doar ca iti arata cum functioneaza transmisia wireless, dar te invata si cum sa gestionezi timing-ul mesajelor, debounce pentru buton si decodarea semnalelor digitale. 



Daca ai intrebari sau vrei sa imi arati ce ai realizat, scrie-mi la electronica@bitmi.ro

Compara produse

Trebuie sa mai adaugi cel putin un produs pentru a compara produse.

A fost adaugat la favorite!

A fost sters din favorite!