- Požadované komponenty:
- RF modul:
- Pracovné vysvetlenie:
- Vysvetlenie obvodu:
- Inštalácia knižnice wiring Pi v Raspberry Pi:
- Vysvetlenie programovania:
V tejto relácii sa chystáme vyvinúť RF diaľkové ovládanie pomocou Raspberry Pi, ktoré je možné použiť na bezdrôtové ovládanie zariadení. Pomocou tohto RF diaľkového ovládača môžeme zariadenia zapínať a vypínať. Predtým sme vyvinuli veľa projektov využívajúcich RF modul ako RF Controlled Robot, Hand Gesture Controlled Robot atď., Skontrolujte ich, aby ste pochopili fungovanie RF modulu.
Požadované komponenty:
Strana vysielača:
- RF vysielač (hybridný vysielač ASK)
- HT12E IC
- 4 tlačidlá
- 750k rezistor
- 9 voltová batéria
Strana prijímača:
- Malinový koláč
- 16x2 LCD
- 10K POT
- Chlebová doska
- 1K rezistor (päť)
- Rezistor 33K
- HT12D IC
- RF prijímač (hybridný prijímač ASK)
- LED diódy (päť)
- 10K rezistor (štyri)
- Pripojovací drôt
- Zdroj
RF modul:
Jedná sa o hybridný vysielací a prijímací modul ASK, ktorý pracuje na frekvencii 433 MHz. Tento modul má kryštálovo stabilizovaný oscilátor pre udržanie presnej frekvenčnej kontroly pre najlepší dosah. Tam pre tento modul musíme externe potrebovať iba jednu anténu.
Tento modul je veľmi nákladovo efektívny tam, kde sa vyžaduje vysokofrekvenčná komunikácia na veľké vzdialenosti. Tento modul neposiela dáta pomocou UART komunikácie PC alebo mikrokontroléra priamo, pretože na tejto frekvencii a jej analógovej technológii je veľa šumu. Tento modul môžeme použiť pomocou integrovaných obvodov kódovača a dekodéra, ktoré extrahujú údaje zo šumu.
Dosah vysielača je asi 100 metrov pri maximálnom napájacom napätí a pre 5 voltov je dosah vysielača asi 50-60 metrov pomocou jednoduchého drôtu s jednoduchou anténou s dĺžkou 17 cm.
Vlastnosti RF vysielača:
- Frekvenčný rozsah: 433 Mhz
- Výstupný výkon: 4-16 dBm
- Vstupné napájanie: 3 až 12 voltov ss
Pin Popis RF Tx:
- GND - napájanie na zem
- Data In - Tento pin prijíma sériové údaje z kódovacieho zariadenia
- K tomuto kolíku by malo byť pripojené Vcc - +5 voltov
- Anténa - k tomuto kolíku je pripojený obal, aby sa zabezpečil správny prenos údajov
Funkcie RF prijímača:
- Citlivosť: -105 dBm
- IF frekvencia: 1MHz
- Nízka spotreba energie
- Prúd 3,5 mA
- Napájacie napätie: 5 voltov
Pin Popis RF Rx:
- GND - zem
- Data In - Tento pin poskytuje výstupné sériové údaje dekodéru
- Data In - Tento pin poskytuje výstupné sériové údaje dekodéru
- K tomuto kolíku by malo byť pripojené Vcc - +5 voltov
- K tomuto kolíku by malo byť pripojené Vcc - +5 voltov
- GND - zem
- GND - zem
- Anténa - zabalené pripojenie k tomuto kolíku pre správny príjem dát
Pracovné vysvetlenie:
Práca na tomto projekte je veľmi jednoduchá. V tomto projekte sme použili štyri tlačidlá na strane vysielača (slúžia ako diaľkové) na ovládanie štyroch LED na konci prijímača. Keď stlačíme ktorékoľvek zo štyroch tlačidiel, potom kódovač IC kóduje signál a posiela ho do RF vysielača a RF Transmitter ho vysiela v prostredí. Teraz RF prijímač prijíma vysielaný signál a dekóduje ho pomocou dekodéra IC HT12D a posiela svoj 4-bitový výstup na Raspberry Pi. Potom Raspberry Pi načíta tieto bity a vykoná súvisiacu úlohu a rozsvieti príslušnú LED. Pri stlačení ľubovoľného klávesu bzučiak na sekundu pípne. 16x2 LCD sa tiež používa na zobrazenie stavu „ZAPNUTÉ alebo VYPNUTÉ“ všetkých LED diód.
V tomto projekte sme použili štyri LED diódy len na demonštračné účely, môžeme spustiť ľubovoľnú úlohu stlačením príslušného tlačidla na „RF Remote“. Rovnako ako môžeme tiež pripojiť domáce spotrebiče namiesto LED, pomocou relé a môžeme tieto spotrebiče ovládať pomocou rovnakého „RF diaľkového ovládača“ bezdrôtovo. Rovnaký obvod teda môže fungovať ako projekt domácej automatizácie založený na RF využívajúci Raspberry Pi. Predtým sme vyvinuli mnoho projektov domácej automatizácie ovládaných pomocou Bluetooth, DTMF, GSM atď., Môžete si tu pozrieť všetky projekty domácej automatizácie.
Vysvetlenie obvodu:
Obvod tohto diaľkového ovládania Raspberry Pi RF je jednoduchý, ktorý obsahuje dosku Raspberry Pi, tlačidlo a LCD, pár RF a kódovač / dekodér IC. Raspberry Pi ovláda LCD, číta vstup a odosiela výstup podľa vstupu. Použili sme tu Raspberry Pi 3, ale mal by fungovať každý model Raspberry. Obvod je rozdelený na dve časti, jedna je obvod RF prijímača a druhá je obvod RF vysielača. Obidva obvody sú znázornené na obrázku nižšie.
V časti Prijímač sú LCD piny rs, en, d4, d5, d6, d7 pripojené na kabeláž Pi GPIO Pin 11, 10, 6, 5, 4, 1 v 4-bitovom režime. RF prijímač prijíma signál z RF vysielača a HT12D IC ho dekóduje. D8, D9, D10, D11 dekodéra IC HT12D sú priamo pripojené k zapojeniu PI GPIO pin 25, 24, 23 a 22. Výstupné LED diódy sú pripojené k zapojeniu Pi GPIO pin 26, 27, 28 a 29. Pre výstrahu sa tiež používa bzučiak stlačené tlačidlo pri zapojeníPi GPIO 0.
Obvod RF vysielača obsahuje integrovaný obvod dekodéra HT12E a 4 tlačidlá na ovládanie 4 LED diód. V dekodéri a dekodéri IC sú všetky adresné riadky spojené so zemou.
Inštalácia knižnice wiring Pi v Raspberry Pi:
Rovnako ako v Pythone importujeme import RPi.GPIO ako hlavičkový súbor IO, aby sme mohli použiť GPIO piny Raspberry Pi, tu v jazyku C musíme na použitie GPIO pinov v našom C programe použiť wiringPi Library. Môžeme ho nainštalovať pomocou nasledujúcich príkazov jeden po druhom, tento príkaz môžete spustiť z terminálu alebo z niektorých klientov SSH, ako je Putty (ak používate Windows). Prejdite si náš tutoriál Začíname s Raspberry Pi a získajte viac informácií o manipulácii a konfigurácii 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
Vyskúšajte inštaláciu knižnice wiringPi, použite nasledujúce príkazy:
gpio -v gpio readall
Vysvetlenie programovania:
Najskôr zahrnieme hlavičkové súbory a definujeme piny pre LCD, potom inicializujeme niektoré premenné a piny pre vstupné a LED indikácie.
#include
Potom dáme smer všetkým použitým pinom GPIO vo funkciách void setup () .
void setup () {if (wiringPiSetup () == -1) {clear (); print ("Nie je možné spustiť"); setCursor (0,1); print ("wiringPi"); } pinMode (led1, VÝSTUP); pinMode (led2, VÝSTUP); pinMode (led3, VÝSTUP); pinMode (led4, VÝSTUP);……………….
V kóde sme použili funkciu digitalRead na načítanie výstupu dekodéra a digitalWrite na odoslanie výstupu na LED alebo do zariadenia.
…………….. while (1) {setCursor (0,0); tlač ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Tu je niekoľko ďalších funkcií, ktoré boli použité v tomto projekte.
Funkcia void lcdcmd sa používa na zasielanie príkazov na LCD a funkcia void write na zasielanie údajov na LCD.
Funkcia void clear () sa používa na vyčistenie LCD, void setCursor sa používa na nastavenie polohy kurzora a void print na odoslanie reťazca na LCD.
Funkcia void begin sa používa na inicializáciu LCD v 4-bitovom režime a void buzzer () na pípanie bzučiaka.
Nižšie nájdete úplný kód tohto diaľkového ovládača Raspberry RF.