In questo Tutorial vedremo come funzionano i moduli radio a 433MHz XY-MK-5V e come poterli integrare sulla nostra scheda ETA BETA idea o su una scheda Arduino 2009/uno.
![]() |
XY-MK-5V |
![]() |
Telecomando a 433Mhz |
La prima cosa che andremo a vedere è come decodificare la stringa inviata da un telecomando, e poi utilizzare lo stesso per gestire il relè montato sulla nostra scheda magari per aprire una serranda, un cancello o semplicemente per accendere una luce.
Di cosa abbiamo bisogno?
- Ricevente 433Mhz modello XY-MK-5V
- n°1 Relè a 5Vdc di tensione bobina tipo OMRON G5LA-14 o equivalenti.
- n°1 Transistor BC337.
- n°1 Diodo 1N4148
- n°2 Resistenze da 1K
- Telecomando (no rolling code) a 433MHz
- Breadboard bella capiente
- Cavo vari colori per breadboard
- Cavo USB.
ELENCO MATERIALE PER RALIAZZARE IL PROGETTO CON ETA BETA EDI
- Scheda Eta Beta IDEA
- Telecomando (no rolling code) a 433MHz
- Ricevente 433MHz modello XY-MK-5V
- Cavo USB.
Schemi Elettrici
Per chi utilizza la scheda Eta beta EDI, la prima cosa da fare è montare sulla scheda la ricevente a 433MHz e chiudere il ponticello per alimentarla A 5V e portare in on il DIP 5 del DS1 e il DIP 6 del DS2 per attivare rispettivamente il relè 1 e il “DATA” della ricevente (come in foto).
Per chi utilizza Arduino, la ricevente utilizza i Pin INTERRUPT che sulla scheda Arduino 2009 sono 2: il PIN DIGITALE 2 (interrupt0) e 3 (interrupt1). Infine colleghiamo come da schema precedente il relè al PIN Digitale 7.
Sketch uguale sia per Arduino 2009 sia per ETA BETA EDI
Scarichiamo la libreria “RCSwitch.h” necessaria per la decodifica del segnale radio e carichiamola tra le librerie di Arduino.
La libreria è la stessa sia per Arduino che per ETA BETA EDI .
Spiegazione dello Sketch
Parte 1 - Dichiarazioni Variabili e Librerie utilizzate:
Nella prima parte dello Sketch andiamo ad inserire la libreria RCSwitch che utilizzeremo per leggere la stringa inviata dai tasti del telecomando, e come da schema abbiamo il relè 1 collegato al pin digitale 7.
Parte 2 - Void Setup
Impostiamo il relè come OUTPUT, ovviamente inizializziamo la seriale a 9600 e andremo a dichiarare che la nostra ricevente è collegata al pin INTERRUPT 1, quindi al PIN digitale 3 del nostro micro.
Parte 3 - Void LOOP
Attiviamo la comunicazione radio, definiamo una variabile intera value che altro non è che il valore letto premendo il tasto del telecomando uno e due.
Premiamo il tasto del telecomando e vedremo sul monitor seriale i valori letti dalla ricevente.
Se i valori letti sono uguali a quelli dei tasti 1 e 2 del telecomando si attacca e staca il relè uno, quindi si accenderà o si spegnerà la luce etc etc.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); const int rele1 = 7; // Pin a cui è collegato il relè 1 const int buzz = 4; // Pin a cui è collegato il relè 1 void setup() { Serial.begin(9600); //Attivo seriale pinMode(rele1,OUTPUT); pinMode(buzz,OUTPUT); mySwitch.enableReceive(1); // La ricevente è collegata al pin INTERRUPT 1, cioè il pin digitale 3 } void loop() { if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); Serial.print("Received "); //Stampo sul monitor seriale Serial.println( value); //Stampo sul monitor seriale il valore letto premendo un tasto del telecomando if (value == 18368){ //Se il valore letto è uguale a quello del tasto 1 del telecomando attivo relè digitalWrite(rele1, HIGH); digitalWrite(buzz, HIGH); } if (value == 18188){ //Se il valore letto è uguale a quello del tasto 2 del telecomando stacco relè digitalWrite(rele1, LOW); digitalWrite(buzz, LOW); } mySwitch.resetAvailable(); } } |
Buon Divertimento
Christian Acqua
Massimo Pinto
Massimo Pinto
Nessun commento:
Posta un commento