- Components necessaris:
- Mòdul RF:
- Explicació de treball:
- Explicació del circuit:
- Instal·lació de la biblioteca wiringPi a Raspberry Pi:
- Explicació de la programació:
En aquesta sessió desenvoluparem un control remot de RF mitjançant Raspberry Pi, que es pot utilitzar per controlar els dispositius sense fils. Podem encendre i apagar els dispositius mitjançant aquest comandament a distància RF. Anteriorment hem desenvolupat molts projectes amb mòduls de RF com ara el robot controlat per RF, el robot controlat per gest manual, etc., comproveu-los per comprendre el funcionament del mòdul RF.
Components necessaris:
Costat del transmissor:
- Transmissor de RF (transmissor híbrid ASK)
- HT12E IC
- 4 polsadors
- Resistència de 750 k
- Bateria de 9 volts
Cara del receptor:
- Raspberry Pi
- LCD de 16x2
- 10K POT
- Taula de pa
- 1K resistència (cinc)
- Resistència de 33K
- IC HT12D
- Receptor RF (receptor ASK híbrid)
- LED (cinc)
- Resistència de 10 K (quatre)
- Cable de connexió
- Font d'alimentació
Mòdul RF:
Es tracta d’un mòdul receptor i transmissor híbrid ASK que funciona a una freqüència de 433 MHz. Aquest mòdul té un oscil·lador estabilitzat de cristall per mantenir un control de freqüència precís per obtenir el millor rang. Allà només necessitem una antena externa per a aquest mòdul.

Aquest mòdul és molt rendible quan es requereix una comunicació RF de llarg abast. Aquest mòdul no envia dades directament mitjançant la comunicació UART de PC o microcontrolador perquè hi ha molt de soroll a aquesta freqüència i la seva tecnologia analògica. Podem utilitzar aquest mòdul amb l'ajut de codificadors i descodificadors IC que extreuen dades del soroll.
El rang del transmissor és d'aproximadament 100 metres a la tensió d'alimentació màxima i, per a 5 volts, el rang del transmissor és d'aproximadament 50-60 metres amb l'ús d'un cable senzill d'antena de 17cm de codi únic.
Característiques del transmissor de RF:
- Rang de freqüència: 433 Mhz
- Potència de sortida: 4-16dBm
- Alimentació d'entrada: de 3 a 12 volts de corrent continu
Pin Descripció de RF Tx:
- GND: subministrament a terra
- Data In: aquest pin accepta dades de sèrie del codificador
- Vcc - +5 volts hauria d’estar connectat a aquest pin
- Antena: connexió ajustada a aquest pin per a una correcta transmissió de dades

Característiques del receptor de RF:
- Sensibilitat: -105dBm
- Freqüència IF: 1 MHz
- Baix consum d'energia
- Corrent 3,5 mA
- Tensió d'alimentació: 5 volts
Pin Descripció de RF Rx:
- GND - Terra
- Data In: aquest pin proporciona dades de sortida al decodificador
- Data In: aquest pin proporciona dades de sortida al decodificador
- Vcc - +5 volts hauria d’estar connectat a aquest pin
- Vcc - +5 volts hauria d’estar connectat a aquest pin
- GND - Terra
- GND - Terra
- Antena: connexió ajustada a aquest pin per a una recepció adequada de les dades
Explicació de treball:
Treballar aquest projecte és molt fàcil. En aquest projecte hem utilitzat quatre botons al costat del transmissor (serveix de control remot) per controlar els quatre LEDs a l'extrem del receptor. Quan premem qualsevol dels quatre botons, el codificador IC codifica el senyal i l'envia al transmissor de RF i el transmissor de RF el transmet a l'entorn. Ara el receptor RF rep el senyal transmès i el descodifica mitjançant el decodificador IC HT12D i envia la seva sortida de 4 bits a Raspberry Pi. A continuació, Raspberry Pi llegeix aquests bits i realitza la tasca relacionada i il·lumina el LED corresponent. Un timbre emet un so durant un segon cada vegada que es prem qualsevol tecla. També s’utilitza una pantalla LCD de 16 x 2 per mostrar l’estat “ON o OFF” de tots els LED.

En aquest projecte, hem utilitzat quatre LEDs només per demostrar, podem activar qualsevol tasca prement el botó corresponent a 'RF Remote'. Igual que també podem connectar els electrodomèstics de CA en lloc dels LED mitjançant el relé i podem controlar aquests aparells mitjançant el mateix "comandament a distància RF" sense fils. Per tant, aquest mateix circuit pot funcionar com a projecte domòtic basat en RF mitjançant Raspberry Pi. Anteriorment hem desenvolupat molts projectes domòtics controlats mitjançant Bluetooth, DTMF, GSM, etc. Podeu consultar-ho tot aquí Projectes domòtics.
Explicació del circuit:
El circuit d’aquest control remot Raspberry Pi RF és senzill i conté placa Raspberry Pi, polsador i LCD, parell de RF i IC de codificador / descodificador. Raspberry Pi controla la pantalla LCD, llegeix l'entrada i envia la sortida segons l'entrada. Hem utilitzat Raspberry Pi 3 aquí, però qualsevol model de Raspberry hauria de funcionar. El circuit es divideix en dues parts, una és un circuit receptor de RF i una altra és un circuit transmissor de RF. Tots dos circuits es mostren al diagrama següent.

A la part del receptor, el pin LCD rs, en, d4, d5, d6, d7 es connecta al cablejat Pi GPIO Pin 11, 10, 6, 5, 4, 1 en mode de 4 bits. El receptor RF rep el senyal del transmissor RF i el HT12D IC el descodifica. D8, D9, D10, D11 del CI del descodificador HT12D es connecten directament al cablejat IP GPIO pin 25, 24, 23 i 22. Els LED de sortida es connecten al cablejatPi GPIO pin 26, 27, 28 i 29. També s’utilitza un buzzer per alertar tecla premuda al cablejat PI GPIO 0.
El circuit transmissor de RF conté l'IC del codificador HT12E i 4 polsadors per controlar els 4 LED. En el codificador i el descodificador IC totes les línies d’adreça estan connectades a terra.
Instal·lació de la biblioteca wiringPi a Raspberry Pi:
Com a Python, importem RPi.GPIO d'importació com a fitxer de capçalera IO per utilitzar els pins GPIO de Raspberry Pi, aquí en llenguatge C hem d'utilitzar la biblioteca wiringPi per utilitzar els pins GPIO al nostre programa C. El podem instal·lar utilitzant les ordres següents una per una, podeu executar-la des de Terminal o des d’alguns clients SSH com Putty (si utilitzeu Windows). Consulteu el nostre tutorial Introducció a Raspberry Pi per obtenir més informació sobre com manejar i configurar Raspberry Pi.
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git clonar git: //git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi./build
Proveu la instal·lació de la biblioteca wiringPi, utilitzeu les ordres següents:
gpio -v gpio readall
Explicació de la programació:
Primer de tot, incloem fitxers de capçalera i definim pins per a LCD, després inicialitzem algunes variables i pins per obtenir indicacions d’entrada i LED.
#incloure
Després, donem adreça a tots els pins GPIO utilitzats en les funcions void setup () .
void setup () {if (wiringPiSetup () == -1) {clear (); print ("No es pot iniciar"); setCursor (0,1); print ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
Al codi, hem utilitzat la funció digitalRead per llegir la sortida del descodificador i digitalWrite per enviar la sortida al LED o al dispositiu.
…………….. mentre que (1) {setCursor (0,0); imprimir ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ACTIVAT"); digitalWrite (led1, HIGH); }……………..
Aquí hi ha algunes funcions més que s’han utilitzat en aquest projecte.
La funció void lcdcmd s'utilitza per enviar comandes a LCD i la funció d' escriptura void s'utilitza per enviar dades a LCD.
La funció void clear () s’utilitza per esborrar la pantalla LCD, void setCursor s’utilitza per configurar la posició del cursor i la impressió buida per enviar la cadena a la pantalla LCD.
La funció void start s'utilitza per inicialitzar la pantalla LCD en mode de 4 bits i el buzzer buit () per fer sonar el buzzer.
Consulteu el codi complet d’aquest control remot Raspberry RF a continuació.
