ESEMPIO UTILIZZO MODULI RF 433 MHz

Похожие документы
CODIFICA E RICETRASMISSIONE DI UN SEGNALE

Corso di programmazione Arduino DI MALVEZZI DAVIDE

DISPLAY LCD I2C (PCF8574T) ARDUINO

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

MODULAZIONE AD IMPULSI

La modulazione numerica

Modulazioni digitali o numeriche

Tipologie dei dati nell SDK di Arduino come in un vero LP ad alto livello :

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

byte Fase1 = 5; byte Fase2 = 6; byte Fase3 = 7; byte Fase4 = 8; int Ritardo = 15 ; puntatore! // sono equivalenti le sintassi:

Ricevitore RX FM8SF 869,50 MHz

Segnale Analogico. Forma d onda continua

Il livello fisico, responsabile della trasmissione del segnale nei diversi mezzi fisici:

MODULAZIONE E REGOLAMENTAZIONI

Questo sistema si è poi diffuso in tutto il mondo, soprattutto in ambito didattico e hobbistico. Arduino mette a disposizione:

D.A.M. Bros Robotics -

In questo tutorial decodificheremo i segnali provenienti da un telecomando qualsiasi e utilizzeremo gli stessi segnali per comandare Arduino a

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Ricevitore RX 4MM5/F. RX 4MM5/F Manuale d uso. Pin-out. Connessioni. Caratteristiche tecniche

ANALISI E DESCRIZIONE DI UN CIRCUITO PER LA MODULAZIONE DIGITALE PSK

I SENSORI DI PROSSIMITA

Lezione 16: Come utilizzare la Joystick shield per i propri progetti con Arduino

Il ricevitore supereterodina RX 4MM5 a 5V di alimentazione è in grado di ricostruire sequenze di dati digitali trasmesse in modalità AM OOK.

17^ parte : Utilizzare il modulo Bluetooth JY-MCU. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Facciamo lampeggiare un led

14^ parte : Sensore a ultrasuoni HC SR04 e Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

COME UTILIZZARE IL SENSORE DI TEMPERATURA TMP36

Ricevitore RX FM4SF 433,92 MHz

Controllo dell irrigazione senza fili

Macchina con Arduino Uno comandata tramite dispositivo Android e sensore ultrasuoni per fermarsi istantaneamente di fronte ad un ostacolo

PROBLEMA SU COLLEGAMENTO WIRELESS CON ACCESS POINT

(a) Segnale analogico (b) Segnale digitale (c) Segnale digitale binario

SENSORI OTTICI - FOTORESISTENZE

BOCCHIGLIERO Sistema di comunicazione ---- Materia: Telecomunicazioni. Serafini Rossella. prof. Ing. Zumpano Luigi

M149 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE. Indirizzo: ELETTRONICA E TELECOMUNICAZIONI CORSO DI ORDINAMENTO. Tema di: TELECOMUNICAZIONI

Corso Base Arduino ed Elettronica

TM1638 BOARD con ARDUINO

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Lezione 9: Come associare un modulo RTC ad Arduino

PRIMI PASSI CON ARDUINO

La Keyes 4 relay non è proprio una shield nel senso classico definito nel mondo arduino in quanto una shield dovrebbe essere concepita per essere

AUR.EL RTX-MID-868-FSK AUR.EL RTX-MID-868-OOK

FONDAMENTI DI ARDUINO

2. Analisi in frequenza di segnali

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

TRASMETTITORE TX-FM-MID

SPECIFICHE RADIO A.1 INTRODUZIONE

IL SUONO E GLI ULTRASUONI DI MARIANGELA MONE

connette ad Internet con la Shield Ethernet ufficiale

INTERAZIONE ELETTRONICA

KN-MICW310 KN-MICW CANALI. Sistema microfonico senza fili in banda UHF MANUALE ITALIANO.

Ricevitore supereterodina ASK miniaturizzato ad elevata sensibilità, elevata selettività. Munito di filtro SAW per applicazioni di controllo remoto.

Come utilizzare il modulo ESP8266 per comodare Arduino da Smartphone

Come comandare il condizionatore di casa con Arduino, anche da remoto!

TRASMETTITORE TX-FM-MID/EN

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

ARDUINO UNO. Raccolta esercitazioni guidate 1 Led & Pulsati. IIS Aldini Valeriani Sirani - ROBOTS project Scheda 1 # 1 Materiale didattico

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Lezione 3 PWM e motori. Stefano Panichi e Giulio Fieramosca

Far lampeggiare un led o forse un semaforo?

Telecontrollo escavatore LEGO con board Arduino

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche. Modulazione A.A Alberto Perotti

Транскрипт:

ESEMPIO UTILIZZO MODULI RF 433 MHz TX: MX-FS-03V RX: MX-05V Trasmettitore MX-FS-03V Alimentazione : da 3.5V a 12V, la potenza varia a seconda dell alimentazione. Potenza : 10mW circa. Distanza raggiunta dal segnale : da 20 a 200 metri in campo aperto (20m a 3.5V e 200m a 12V) Dimensioni : 19mm x 19mm Velocità : 4kbit/s Ricevitore MX-05V Alimentazione : 5v Corrente richiesta : 4mA Dimensioni : 30mm x 14mm x 7mm Da questi semplici moduli RF non possiamo aspettarci prestazioni particolari, ma possono essere adoperati l addove si vuol rendere wireless un dispositivo comandabile digitalmente a breve distanza; in compenso sono molto economici e adatti ad un uso didattico. Se siamo nel campo di azione, applicando un segnale digitale sul pin DATA del trasmettitore verrà trasmesso, e lo troveremo identico sul pin DATA del ricevitore, altrimenti il ricevitore restituisce un segnale di rumore. Questi moduli RF utilizzano la modulazione ASK, lavorano alla frequenza portante di 433MHz e vengono usati per la trasmissione (TX) e ricezione (RX) solo di segnali digitali; bisogna prestare attenzione a trasmetterli con un numero bilanciato di 0 e 1 perché se trasmettiamo uno stato costante il ricevitore inizierà a fornire in uscita un segnale di disturbo per via della sua semplicità di costruzione. 1 di 6

Amplitude Shift Keying Modulation (ASK) Nella modulazione ASK l ampiezza della portante sinusoidale viene fatta variare in correlazione al segnale digitale modulante. Nel caso più semplice e più comune (detto anche On Off Keying) in corrispondenza dello zero logico il segnale modulato ha ampiezza zero o prossima allo zero, mentre in corrispondenza dell uno logico ha ampiezza pari a quella della portante non modulata. In assenza di portante il segnale di disturbo presente in uscita del ricevitore, va ignorato altrimenti potrà essere causa di letture sbagliate e/o di instabilità del software che lo gestisce. Una possibile soluzione consiste nel cominciare a leggere il messaggio solamente dopo la ricezione di un token di alcuni byte scelti dal programmatore, questo permette di ignorare ogni pacchetto che non cominci con una sequenza ben definita, sequenza che se abbastanza complessa, permette di eliminare del tutto il difetto del disturbo in assenza di portante. SVOLGIMENTO PROVA PRATICA DI LABORATORIO: Parte 1: Progettazione Antenna Isotropica Formula di Progetto: λ = V f metri 300.000.000 = sec 433.000.000 Hz = 0,6928 metri = 69,28 cm Dove λ (lambda) corrisponde alla lunghezza d onda; V è la velocità di propagazione nel mezzo di trasmissione, che nell'etere è pari alla velocità della luce 300.000 Km/s, espressa in metri; f è la frequenza di lavoro, in Hertz. Quindi per 433 MHz si ha: 300.000.000/433.000.000=0,6928 m ovvero 69,28 cm. Per ragioni di ingombro e praticità le antenne vengono dimensionate in λ/4 nel nostro caso: λ 4 = 69,28 = 17,32cm 4 Per avere una decente distanza di trasmissione come antenna possiamo adoperare uno spezzone di filo rigido di lunghezza pari a 17,32 cm. Parte 2: Alimentiamo i due moduli alla stessa tensione di 5Volt, forniamo al pin DATA (1) del trasmettitore TX un segnale ad onda quadra 1 KHz 5V e verifichiamo con un oscilloscopio il segnale ricevuto sui pin DATA (2,3) del ricevitore RX il segnale trasmesso; ora scolleghiamo il segnale sul pin DATA del trasmettitore e verifichiamo il segnale di rumore che il ricevitore spaccia per dati. 2 di 6

PARTE 3: ESEMPIO DI TRASMISSIONE DATI TRA DUE ARDUINO TX RX Per poter far comunicare tra di loro due Arduino, possiamo usare la libreria VirtualWire sviluppata da Mike McCauley. Gli sketch di trasmissione e ricezione sono presi direttamente dagli esempi della libreria. Questo è il codice da caricare sull Arduino che funge da Trasmittente (TX): 3 di 6

Questo è lo sketch da caricare su Arduino che funge da Ricevente (RX): NOTE: Aprendo il serial monitor sull Arduino ricevente, potremo osservare una stringa di 7 coppie di codici che corrispondono alla parola h e l l o codificata da ASCII a esadecimale (HEX), seguita da uno spazio e dal numero di trasmissioni. 4 di 6

# SECONDO ESEMPIO Questo è il codice da caricare sull Arduino che funge da Trasmittente (TX): /* Esempio utilizzo Modulo Tx 433 - FS1000A */ #include <VirtualWire.h> int j = 0 ; void setup() pinmode(13, OUTPUT); // sets the digital pin 13 as output Serial.begin(115200); Serial.println("Test: Modulo Tx 433 FS1000A"); vw_set_tx_pin(2); // trasmissione sul pin2 vw_set_ptt_inverted(true); // Required for DR3100 vw_setup(200); // 200 Bits per sec void loop() j++; const char *msg = ("Telecom"); // trasmettiamo la parola Telecom digitalwrite(13, true); // il LED a bordo di Arduino durante la trasmissione lampeggerà vw_send((uint8_t *)msg, strlen(msg)); vw_wait_tx(); // aspettiamo il tempo utile per la trasmissione del segnale Serial.print(j);Serial.println(" Messaggio trasmesso"); digitalwrite(13, false); delay(200); 5 di 6

Questo è lo sketch da caricare su Arduino che funge da Ricevente (RX): /* Esempio utilizzo Modulo Rx 433 FS-03V */ #include <VirtualWire.h> int j=0; void setup() pinmode(13, OUTPUT); Serial.begin(115200); Serial.println("Test: Modulo Rx 433 FS-03V"); vw_set_rx_pin(2); // Initialise the IO and ISR // settiamo il pin 13 come uscita vw_set_ptt_inverted(true); // Required for DR3100 vw_setup(200); // Bits per sec vw_rx_start(); // Start the receiver PLL running void loop() uint8_t buf[vw_max_message_len]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) // Non-blocking int i; j++; digitalwrite(13, true); // il LED a bordo di Arduino durante la ricezione lampeggerà Serial.print(j); Serial.print(" :Ricevuto: "); for (i = 0; i < buflen; i++) // Serial.print(buf[i], HEX); Serial.print(char(buf[i])); Serial.println(""); digitalwrite(13, false); 6 di 6