- Componenti richiesti:
- Modulo RF:
- Spiegazione di lavoro:
- Spiegazione del circuito:
- Installazione della libreria wiringPi in Raspberry Pi:
- Spiegazione della programmazione:
In questa sessione svilupperemo un telecomando RF utilizzando Raspberry Pi, che può essere utilizzato per controllare i dispositivi in modalità wireless. Possiamo accendere e spegnere i dispositivi utilizzando questo telecomando RF. In precedenza abbiamo sviluppato molti progetti utilizzando il modulo RF come il robot controllato da RF, il robot controllato da gesti della mano ecc., Controllali per comprendere il funzionamento del modulo RF.
Componenti richiesti:
Lato trasmettitore:
- Trasmettitore RF (Trasmettitore ibrido ASK)
- HT12E IC
- 4 Pulsanti
- Resistenza 750k
- Batteria da 9 Volt
Lato ricevitore:
- Raspberry Pi
- LCD 16x2
- 10K POT
- Tagliere per il pane
- Resistore 1K (cinque)
- Resistenza 33K
- HT12D IC
- Ricevitore RF (ASK Hybrid Receiver)
- LED (cinque)
- Resistenza 10K (quattro)
- Cavo di collegamento
- Alimentazione elettrica
Modulo RF:
Questo è un trasmettitore ibrido ASK e il modulo ricevitore funziona a una frequenza di 433 Mhz. Questo modulo ha un oscillatore stabilizzato al cristallo per mantenere un controllo accurato della frequenza per la migliore gamma. Lì dobbiamo avere bisogno solo di un'antenna esterna per questo modulo.
Questo modulo è molto conveniente quando è richiesta una comunicazione RF a lungo raggio. Questo modulo non invia dati utilizzando la comunicazione UART del PC o del microcontrollore direttamente perché c'è molto rumore a questa frequenza e la sua tecnologia analogica. Possiamo usare questo modulo con l'aiuto di encoder e decoder IC che estraggono i dati dal rumore.
La portata del trasmettitore è di circa 100 metri alla massima tensione di alimentazione e per 5 volt la portata del trasmettitore è di circa 50-60 metri con l'utilizzo di un semplice filo di antenna a codice singolo da 17 cm.
Caratteristiche del trasmettitore RF:
- Gamma di frequenza: 433 Mhz
- Potenza in uscita: 4-16 dBm
- Alimentazione in ingresso: da 3 a 12 volt cc
Descrizione pin di RF Tx:
- GND - Alimentazione a terra
- Ingresso dati: questo pin accetta dati seriali dall'encoder
- Vcc - +5 Volt dovrebbe essere collegato a questo pin
- Antenna - Una connessione avvolta a questo pin per una corretta trasmissione dei dati
Caratteristiche del ricevitore RF:
- Sensibilità: -105dBm
- Frequenza IF: 1 MHz
- Basso consumo energetico
- Corrente 3,5 mA
- Tensione di alimentazione: 5 volt
Descrizione pin di RF Rx:
- GND - Terra
- Data In - Questo pin fornisce i dati seriali in uscita al decoder
- Data In - Questo pin fornisce i dati seriali in uscita al decoder
- Vcc - +5 Volt dovrebbe essere collegato a questo pin
- Vcc - +5 Volt dovrebbe essere collegato a questo pin
- GND - Terra
- GND - Terra
- Antenna - Una connessione avvolta a questo pin per una corretta ricezione dei dati
Spiegazione di lavoro:
Lavorare a questo progetto è molto semplice. In questo progetto abbiamo utilizzato quattro pulsanti sul lato del trasmettitore (funge da telecomando) per controllare i quattro LED all'estremità del ricevitore. Quando premiamo uno dei quattro pulsanti, l'encoder IC codifica il segnale e lo invia al trasmettitore RF e il trasmettitore RF lo trasmette nell'ambiente. Ora il ricevitore RF riceve il segnale trasmesso e lo decodifica utilizzando il decodificatore IC HT12D e invia la sua uscita a 4 bit a Raspberry Pi. Quindi Raspberry Pi legge questi bit ed esegue l'attività correlata e accende il rispettivo LED. Un cicalino suona per un secondo ogni volta che viene premuto un tasto. Un LCD 16x2 viene utilizzato anche per visualizzare lo stato "ON o OFF" di tutti i LED.
In questo progetto, abbiamo utilizzato quattro LED solo a scopo dimostrativo, possiamo attivare qualsiasi attività premendo il rispettivo pulsante in "RF Remote". Come possiamo anche collegare gli elettrodomestici AC al posto dei LED, usando il relè e possiamo controllare quegli apparecchi usando lo stesso "telecomando RF" in modalità wireless. Quindi questo stesso circuito può funzionare come un progetto di automazione domestica basato su RF utilizzando Raspberry Pi. Abbiamo già sviluppato molti progetti di automazione domestica controllati tramite Bluetooth, DTMF, GSM ecc., Puoi controllare tutti qui progetti di automazione domestica.
Spiegazione del circuito:
Il circuito di questo telecomando RF Raspberry Pi è semplice e contiene scheda Raspberry Pi, pulsante e LCD, coppia RF e codificatore / decodificatore IC. Raspberry Pi controlla l'LCD, legge l'input e invia l'output in base all'input. Abbiamo usato Raspberry Pi 3 qui, ma qualsiasi modello Raspberry dovrebbe funzionare. Il circuito è diviso in due parti, una è il circuito del ricevitore RF e l'altra è il circuito del trasmettitore RF. Entrambi i circuiti sono mostrati nel diagramma sottostante.
Nella parte Ricevitore, i pin LCD rs, en, d4, d5, d6, d7 sono collegati a wiringPi GPIO Pin 11, 10, 6, 5, 4, 1 in modalità 4 bit. Il ricevitore RF riceve il segnale dal trasmettitore RF e HT12D IC lo decodifica. D8, D9, D10, D11 dell'IC del decodificatore HT12D sono collegati direttamente al cablaggio PI GPIO pin 25, 24, 23 e 22. I LED di uscita sono collegati al cablaggioPi GPIO pin 26, 27, 28 e 29. Viene anche utilizzato un cicalino per l'avviso tasto premuto al cablaggioPi GPIO 0.
Il circuito del trasmettitore RF contiene il CI dell'encoder HT12E e 4 pulsanti per controllare i 4 LED. In Encoder e Decoder IC tutte le linee di indirizzo sono collegate a massa.
Installazione della libreria wiringPi in Raspberry Pi:
Come in Python importiamo RPi.GPIO come file di intestazione IO per utilizzare i pin GPIO di Raspberry Pi, qui in linguaggio C dobbiamo utilizzare la libreria wiringPi per utilizzare i pin GPIO nel nostro programma C. Possiamo installarlo usando i seguenti comandi uno per uno, puoi eseguire questo comando da Terminale o da alcuni client SSH come Putty (se stai usando Windows). Segui il nostro tutorial Primi passi con Raspberry Pi per saperne di più sulla gestione e la configurazione del Raspberry Pi.
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git clone git: //git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi./build
Testare l'installazione della libreria wiringPi, utilizzare i seguenti comandi:
gpio -v gpio readall
Spiegazione della programmazione:
Prima di tutto includiamo i file di intestazione e definiamo i pin per LCD, quindi inizializziamo alcune variabili e pin per prendere input e indicazioni LED.
#includere
Dopo di ciò, diamo indicazioni a tutti i pin GPIO usati nelle funzioni void setup () .
void setup () {if (wiringPiSetup () == -1) {clear (); print ("Impossibile avviare"); setCursor (0,1); print ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
Nel codice abbiamo utilizzato la funzione digitalRead per leggere l'uscita del Decoder e digitalWrite per inviare l'uscita al LED o al dispositivo.
…………….. while (1) {setCursor (0,0); stampa ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Ecco alcune altre funzioni che sono state utilizzate in questo progetto.
La funzione void lcdcmd viene utilizzata per inviare comandi all'LCD e la funzione void write viene utilizzata per inviare dati all'LCD .
La funzione void clear () viene utilizzata per cancellare l'LCD, void setCursor viene utilizzata per impostare la posizione del cursore e void print per inviare la stringa all'LCD .
La funzione void begin viene utilizzata per inizializzare l'LCD in modalità a 4 bit e void buzzer () per emettere il buzzer.
Controlla il codice completo per questo telecomando RF Raspberry di seguito.