- Potrebne komponente:
- RF modul:
- Radno objašnjenje:
- Objašnjenje sklopa:
- Instaliranje knjižnice wiringPi u Raspberry Pi:
- Objašnjenje programiranja:
U ovoj ćemo sesiji razviti RF daljinski upravljač pomoću Raspberry Pi, koji se može koristiti za bežično upravljanje uređajima. Uređaje možemo uključivati i isključivati pomoću ovog RF daljinskog upravljača. Prethodno smo razvili mnoge projekte koji koriste RF modul poput RF kontroliranog robota, ručnog gesta kontroliranog robota itd., Provjerite da li razumiju rad RF modula.
Potrebne komponente:
Strana odašiljača:
- RF odašiljač (ASK hibridni odašiljač)
- HT12E IC
- 4 Tipke
- Otpornik 750k
- 9-voltna baterija
Strana prijemnika:
- Raspberry Pi
- LCD 16x2
- 10K LONAC
- Daska za kruh
- 1K otpornik (pet)
- Otpornik 33K
- HT12D IC
- RF prijemnik (ASK hibridni prijemnik)
- LED diode (pet)
- 10K otpornik (četiri)
- Spojna žica
- Napajanje
RF modul:
Ovo je ASK hibridni odašiljač i modul prijemnika koji radi na frekvenciji 433 MHz. Ovaj modul ima kristalno stabilizirani oscilator za održavanje precizne regulacije frekvencije za najbolji domet. Tamo nam za ovaj modul treba samo jedna antena izvana.

Ovaj je modul vrlo isplativ gdje je potrebna RF komunikacija velikog dometa. Ovaj modul ne šalje podatke putem UART komunikacije računala ili mikrokontrolera izravno jer na ovoj frekvenciji i analognoj tehnologiji ima puno šuma. Ovaj modul možemo koristiti uz pomoć IC-a kodera i dekodera koji izvlače podatke iz šuma.
Domet odašiljača je oko 100 metara pri maksimalnom opskrbnom naponu, a za 5 volti domet odašiljača je oko 50-60 metara pomoću jednostavne žice antene duljine 17 cm.
Značajke RF odašiljača:
- Raspon frekvencije: 433 MHz
- Izlazna snaga: 4-16dBm
- Ulazno napajanje: 3 do 12 volta istosmjerne struje
Opis RF Tx pribadače:
- GND - Opskrba zemljom
- Podaci u - Ovaj pin prihvaća serijske podatke kodera
- Vcc - +5 V treba biti spojen na ovaj pin
- Antena - omotani spoj na ovaj pin za pravilan prijenos podataka

Značajke RF prijemnika:
- Osjetljivost: -105dBm
- AKO Frekvencija: 1MHz
- Niska potrošnja energije
- Struja 3,5 mA
- Napon napajanja: 5 volti
Opis RF Rx pribadače:
- GND - Prizemlje
- Podaci u - Ovaj pin daje izlazne serijske podatke dekoderu
- Podaci u - Ovaj pin daje izlazne serijske podatke dekoderu
- Vcc - +5 V treba biti spojen na ovaj pin
- Vcc - +5 V treba biti spojen na ovaj pin
- GND - Prizemlje
- GND - Prizemlje
- Antena - omotani spoj na ovaj pin za pravilan prijem podataka
Radno objašnjenje:
Rad na ovom projektu je vrlo jednostavan. U ovom smo projektu koristili četiri gumba na strani odašiljača (služi kao daljinski upravljač) za upravljanje s četiri LED na kraju prijemnika. Kada pritisnemo bilo koju od četiri tipke, tada enkoder IC kodira signal i šalje ga RF odašiljaču, a RF odašiljač ga prenosi u okruženju. Sada RF prijemnik prima odašiljani signal i dekodira ga pomoću dekodera IC HT12D i šalje svoj 4-bitni izlaz na Raspberry Pi. Zatim Raspberry Pi pročita te bitove i izvrši povezani zadatak te zasvijetli odgovarajuću LED diodu. Zvučni signal oglasi se sekundu kad god se pritisne bilo koja tipka. LCD 16x2 također se koristi za prikaz statusa 'UKLJUČENO ili ISKLJUČENO' svih LED dioda.

U ovom smo projektu koristili četiri LED diode samo u svrhu demonstracije, bilo koji zadatak možemo pokrenuti pritiskom na odgovarajući gumb na 'RF daljinskom upravljaču'. Kao što također možemo spojiti AC kućanske uređaje umjesto LED-a, pomoću releja i bežično možemo upravljati tim uređajima pomoću istog RF daljinskog upravljača. Dakle, ovaj isti sklop može raditi kao projekt kućne automatizacije na bazi RF-a koji koristi Raspberry Pi. Prethodno smo razvili mnoge projekte automatizacije kuće kontrolirane pomoću Bluetootha, DTMF-a, GSM-a itd. Sve ovdje možete provjeriti.
Objašnjenje sklopa:
Krug ovog Raspberry Pi RF daljinskog upravljača je jednostavan koji sadrži Raspberry Pi ploču, tipku i LCD, RF par i IC koder / dekoder. Raspberry Pi kontrolira LCD, čita ulaz i šalje izlaz prema ulazu. Ovdje smo koristili Raspberry Pi 3, ali bilo koji model Raspberryja trebao bi raditi. Krug je podijeljen u dva dijela, jedan je krug RF prijemnika, a drugi je krug RF odašiljača. Oba kruga prikazana su na donjem dijagramu.

U dijelu prijemnika, LCD pin rs, en, d4, d5, d6, d7 povezani su na wiringPi GPIO Pin 11, 10, 6, 5, 4, 1 u 4-bitnom načinu. RF prijemnik prima signal od RF odašiljača i HT12D IC ga dekodira. D8, D9, D10, D11 HT12D IC dekodera izravno su povezani na ožičenjePI GPIO pin 25, 24, 23 i 22. Izlazne LED diode spojene su na ožičenjePi GPIO pin 26, 27, 28 i 29. Zujalica se također koristi za upozorenje na tipka pritisnuta na ožičenjuPi GPIO 0.
Krug RF odašiljača sadrži IC12 koder HT12E i 4 tipke za upravljanje 4 LED diode. U koderu i dekoderu IC svi su adresni vodovi spojeni na masu.
Instaliranje knjižnice wiringPi u Raspberry Pi:
Kao i u Pythonu, uvozimo RPi.GPIO kao IO datoteku zaglavlja da bismo koristili GPIO pinove Raspberry Pi, ovdje na C jeziku moramo koristiti wiringPi Library da bismo koristili GPIO Pinove u našem C programu. Možemo ga instalirati pomoću naredbi dolje jednu po jednu, ovu naredbu možete pokrenuti s terminala ili s nekih SSH klijenata poput Putty-a (ako koristite Windows). Prođite kroz naš vodič za početak rada s Raspberry Pi kako biste saznali više o rukovanju i konfiguriranju Raspberry Pi.
sudo apt-get instaliranje git-core sudo apt-get update sudo apt-get nadogradnja git clone git: //git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi./build
Testirajte instalaciju knjižnice wiringPi, upotrijebite naredbe u nastavku:
gpio -v gpio readall
Objašnjenje programiranja:
Prije svega uključujemo datoteke zaglavlja i definiramo pribadače za LCD, a zatim inicijaliziramo neke varijable i pribadače za uzimanje ulaznih i LED indikacija.
#include
Nakon njega dajemo smjer svim korištenim GPIO pinovima u funkcijama void setup () .
void setup () {if (wiringPiSetup () == -1) {clear (); ispis ("Nije moguće pokrenuti"); setCursor (0,1); ispis ("wiringPi"); } pinMode (led1, IZLAZ); pinMode (led2, IZLAZ); pinMode (led3, IZLAZ); pinMode (led4, IZLAZ);……………….
U kodu smo koristili funkciju digitalRead za čitanje izlaza dekodera i digitalWrite za slanje izlaza na LED ili uređaj.
…………….. while (1) {setCursor (0,0); ispis ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Evo još nekih funkcija koje su korištene u ovom projektu.
Funkcija void lcdcmd koristi se za slanje naredbe na LCD, a funkcija void write za slanje podataka na LCD.
Funkcija void clear () koristi se za brisanje LCD-a, void setCursor služi za postavljanje položaja kursora i void ispisa za slanje niza na LCD.
Funkcija void start koristi se za inicijalizaciju LCD-a u 4-bitnom načinu i void zujalo () za zvučno oglašavanje zvučnika.
U nastavku pogledajte cjeloviti kod ovog daljinskog upravljača Raspberry RF.
