mercoledì 27 luglio 2016

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?



ELENCO MATERIALE PER REALIZZARE IL PROGETTO CON ARDUINOArduino 2009/uno
  • 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

Nessun commento:

Posta un commento