- Požadované komponenty:
- RF modul:
- Pracovní vysvětlení:
- Vysvětlení obvodu:
- Instalace knihovny wiringPi do Raspberry Pi:
- Vysvětlení programování:
V této relaci se chystáme vyvinout RF dálkové ovládání pomocí Raspberry Pi, které lze použít k bezdrátovému ovládání zařízení. Pomocí tohoto RF dálkového ovládání můžeme zařízení zapínat a vypínat. Dříve jsme vyvinuli mnoho projektů využívajících RF modul, jako je RF Controlled Robot, Hand Gesture Controlled Robot atd., Zkontrolujte je, abyste porozuměli fungování RF modulu.
Požadované komponenty:
Strana vysílače:
- RF vysílač (hybridní vysílač ASK)
- HT12E IC
- 4 Tlačítka
- 750k rezistor
- 9voltová baterie
Strana přijímače:
- Raspberry Pi
- 16x2 LCD
- 10K POT
- Chlebová deska
- 1K rezistor (pět)
- 33K rezistor
- HT12D IC
- RF přijímač (hybridní přijímač ASK)
- LED diody (pět)
- 10K rezistor (čtyři)
- Připojovací vodič
- Zdroj napájení
RF modul:
Jedná se o hybridní vysílač a přijímač ASK, který pracuje na frekvenci 433 MHz. Tento modul má krystalem stabilizovaný oscilátor pro udržení přesné regulace frekvence pro nejlepší dosah. Tam musíme pro tento modul potřebovat pouze jednu anténu externě.
Tento modul je velmi nákladově efektivní tam, kde je vyžadována vysokofrekvenční RF komunikace. Tento modul neposílá data pomocí komunikace UART z počítače nebo mikrokontroléru přímo, protože na této frekvenci a její analogové technologii je spousta šumu. Tento modul můžeme použít pomocí integrovaných obvodů kodéru a dekodéru, které extrahují data z hluku.
Dosah vysílače je asi 100 metrů při maximálním napájecím napětí a pro 5 voltů je dosah vysílače asi 50-60 metrů při použití jednoduchého drátu o délce 17 cm s jednoduchou anténou.
Funkce RF vysílače:
- Frekvenční rozsah: 433 Mhz
- Výstupní výkon: 4-16 dBm
- Vstupní napájení: 3 až 12 voltů stejnosměrného proudu
Pin Popis RF Tx:
- GND - uzemnění
- Data In - Tento pin přijímá sériová data z kodéru
- K tomuto kolíku by mělo být připojeno Vcc - +5 voltů
- Anténa - zabalené připojení k tomuto kolíku pro správný přenos dat
Funkce RF přijímače:
- Citlivost: -105 dBm
- IF frekvence: 1MHz
- Nízká spotřeba energie
- Proud 3,5 mA
- Napájecí napětí: 5 voltů
Pin Popis RF Rx:
- GND - zem
- Data In - Tento pin poskytuje výstupní sériová data dekodéru
- Data In - Tento pin poskytuje výstupní sériová data dekodéru
- K tomuto kolíku by mělo být připojeno Vcc - +5 voltů
- K tomuto kolíku by mělo být připojeno Vcc - +5 voltů
- GND - zem
- GND - zem
- Anténa - zabalené připojení k tomuto kolíku pro správný příjem dat
Pracovní vysvětlení:
Práce na tomto projektu je velmi snadná. V tomto projektu jsme použili čtyři tlačítka na straně vysílače (slouží jako dálkové ovládání) k ovládání čtyř LED na konci přijímače. Když stiskneme kterékoli ze čtyř tlačítek, pak Encoder IC kóduje signál a odešle jej do RF vysílače a RF Transmitter jej vysílá v prostředí. Nyní RF přijímač přijímá vysílaný signál a dekóduje jej pomocí dekodéru IC HT12D a odesílá svůj 4bitový výstup na Raspberry Pi. Poté Raspberry Pi načte tyto bity a provede související úkol a rozsvítí příslušnou LED. Bzučák na sekundu pípne, kdykoli stisknete libovolnou klávesu. 16x2 LCD se také používá k zobrazení stavu „ZAPNUTO nebo VYPNUTO“ všech LED diod.
V tomto projektu jsme použili čtyři LED diody pouze pro demonstrační účely, můžeme spustit jakýkoli úkol stisknutím příslušného tlačítka na 'RF Remote'. Stejně jako můžeme také připojit domácí domácí spotřebiče namísto LED, pomocí relé a můžeme ovládat tato zařízení pomocí stejného „RF Remote“ bezdrátově. Stejný obvod tedy může fungovat jako RF projekt domácí automatizace využívající Raspberry Pi. Dříve jsme vyvinuli mnoho projektů domácí automatizace ovládaných pomocí Bluetooth, DTMF, GSM atd., Můžete si zde prohlédnout všechny projekty domácí automatizace.
Vysvětlení obvodu:
Obvod tohoto dálkového ovládání Raspberry Pi RF je jednoduchý, který obsahuje desku Raspberry Pi, tlačítko a LCD, RF pár a kodér / dekodér IC. Raspberry Pi ovládá LCD, čte vstup a odesílá výstup podle vstupu. Zde jsme použili Raspberry Pi 3, ale každý model Raspberry by měl fungovat. Obvod je rozdělen na dvě části, jedna je obvod RF přijímače a druhá je obvod RF vysílače. Oba obvody jsou zobrazeny v následujícím diagramu.
V části přijímače jsou LCD piny rs, en, d4, d5, d6, d7 připojeny k zapojení Pi GPIO Pin 11, 10, 6, 5, 4, 1 ve 4bitovém režimu. RF přijímač přijímá signál z RF vysílače a HT12D IC jej dekóduje. D8, D9, D10, D11 dekodéru HT12D IC jsou přímo připojeny k zapojení PI GPIO pin 25, 24, 23 a 22. Výstupní LED diody jsou připojeny k zapojení Pi GPIO pin 26, 27, 28 a 29. Bzučák se také používá pro upozornění na klávesa stisknutá při zapojení Pi GPIO 0.
Obvod RF vysílače obsahuje IC kodéru HT12E a 4 tlačítka pro ovládání 4 LED diod. V kodéru a dekodéru IC jsou všechny adresní linky připojeny k zemi.
Instalace knihovny wiringPi do Raspberry Pi:
Stejně jako v Pythonu importujeme import RPi.GPIO jako záhlaví souboru IO pro použití GPIO pinů Raspberry Pi, zde v jazyce C musíme použít knihovnu wiringPi k použití GPIO pinů v našem C programu. Můžeme jej nainstalovat pomocí níže uvedených příkazů jeden po druhém, můžete tento příkaz spustit z Terminálu nebo z některých klientů SSH, jako je Putty (pokud používáte Windows). Projděte si náš návod Začínáme s Raspberry Pi, kde se dozvíte více o manipulaci a konfiguraci 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
Vyzkoušejte instalaci knihovny wiringPi, použijte níže uvedené příkazy:
gpio -v gpio readall
Vysvětlení programování:
Nejprve zahrneme hlavičkové soubory a definujeme piny pro LCD, poté inicializujeme některé proměnné a piny pro přijímání vstupních a LED indikací.
#zahrnout
Poté dáme směr všem použitým pinům GPIO ve funkcích void setup () .
void setup () {if (wiringPiSetup () == -1) {clear (); tisk ("Nelze spustit"); setCursor (0,1); print ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, VÝSTUP); pinMode (led3, VÝSTUP); pinMode (led4, VÝSTUP);……………….
V kódu jsme použili funkci digitalRead ke čtení výstupu dekodéru a digitalWrite k odeslání výstupu na LED nebo zařízení.
…………….. while (1) {setCursor (0,0); tisk ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Zde je několik dalších funkcí, které byly použity v tomto projektu.
Funkce void lcdcmd se používá pro odesílání příkazu na LCD a funkce void write se používá pro odesílání dat na LCD.
Funkce void clear () se používá k vymazání LCD, void setCursor se používá k nastavení polohy kurzoru a neplatného tisku pro odeslání řetězce na LCD.
Funkce void begin se používá k inicializaci LCD ve 4bitovém režimu a void buzzer () pro pípnutí bzučáku.
Níže zkontrolujte úplný kód pro toto dálkové ovládání Raspberry RF.