- Mga Kinakailangan na Bahagi:
- Module ng RF:
- Paggawa ng Paliwanag:
- Paliwanag sa Circuit:
- Pag-install ng mga kablePi Library sa Raspberry Pi:
- Paliwanag sa Programming:
Sa sesyon na ito ay bubuo kami ng isang RF Remote Control gamit ang Raspberry Pi, na maaaring magamit upang makontrol ang mga Device nang wireless. Maaari naming I-on at I-off ang mga aparato gamit ang RF remote control na ito. Nakagawa na kami dati ng maraming mga proyekto gamit ang RF Module tulad ng RF Controlled Robot, Robot ng Pagkontrol ng Kilos ng Kamay atbp, suriin ang mga ito upang maunawaan ang pagtatrabaho ng RF Module.
Mga Kinakailangan na Bahagi:
Transmitter Side:
- RF Transmitter (ASK Hybrid Transmitter)
- HT12E IC
- 4 Push button
- 750k risistor
- 9 Volt na baterya
Tabi ng Tagatanggap:
- Raspberry Pi
- 16x2 LCD
- 10K POT
- Bread board
- 1K Resistor (Limang)
- 33K risistor
- HT12D IC
- RF Receiver (ASK Hybrid Receiver)
- Mga LED (Limang)
- 10K risistor (Apat)
- Nag-uugnay sa kawad
- Power Supply
Module ng RF:
Ito ay isang ASK Hybrid Transmitter at module ng tatanggap na nagpapatakbo sa dalas ng 433Mhz. Ang modyul na ito ay may isang kristal na nagpapatatag ng oscillator para mapanatili ang tumpak na dalas ng kontrol para sa pinakamahusay na saklaw. Doon kailangan nating kailangan lamang ng isang panlabas na antena para sa modyul na ito.
Ang Modyul na ito ay napakahusay sa gastos kung saan kinakailangan ang mahabang saklaw ng komunikasyon ng RF. Ang modyul na ito ay hindi nagpapadala ng data gamit ang komunikasyon ng UART ng PC o microcontroller nang direkta sapagkat maraming ingay sa dalas na ito at ng teknolohiyang Analog. Maaari naming gamitin ang modyul na ito sa tulong ng encoder at decoder ICs na kumukuha ng data mula sa ingay.
Ang saklaw ng transmiter ay tungkol sa 100 metro sa maximum na boltahe ng suplay at para sa 5 volt ang saklaw ng transmiter ay tungkol sa 50-60 metro na gumagamit ng isang simpleng kawad ng solong code na 17cm haba ng antena.
Mga Tampok ng RF Transmitter:
- Saklaw ng Dalas: 433 Mhz
- Output Power: 4-16dBm
- Pag-input ng suplay: 3 hanggang 12 volt dc
Paglalarawan ng Pin ng RF Tx:
- GND - Ground supply
- Data In - Tumatanggap ang pin na ito ng serial data mula sa encoder
- Ang Vcc - +5 Volt ay dapat na kumonekta sa pin na ito
- Antenna - Isang balot na kumonekta sa pin na ito para sa wastong paghahatid ng data
Mga Tampok ng RF Receiver:
- Pagkasensitibo: -105dBm
- KUNG Dalas: 1MHz
- Mababang Pagkonsumo ng Lakas
- Kasalukuyang 3.5 mA
- Supply boltahe: 5 volt
Paglalarawan ng Pin ng RF Rx:
- GND - Mababang
- Data In - Nagbibigay ang pin na ito ng output ng serial data sa Decoder
- Data In - Nagbibigay ang pin na ito ng output ng serial data sa Decoder
- Ang Vcc - +5 Volt ay dapat na kumonekta sa pin na ito
- Ang Vcc - +5 Volt ay dapat na kumonekta sa pin na ito
- GND - Mababang
- GND - Mababang
- Antenna - Isang balot na kumonekta sa pin na ito para sa tamang Pagtanggap ng data
Paggawa ng Paliwanag:
Ang pagtatrabaho ng proyektong ito ay napakadali. Sa proyektong ito, gumamit kami ng apat na mga pindutan sa bahagi ng transmiter (nagsisilbing remote) upang makontrol ang apat na LEDs sa Receiver end. Kapag pinindot namin ang anuman sa apat na mga pindutan pagkatapos ay naka-encode ng signal ang Encoder IC at ipinapadala ito sa RF transmitter at ipinapadala ito ng RF Transmitter sa kapaligiran. Ngayon ang RF Receiver ay tumatanggap ng naihatid na signal at na-decode ito gamit ang Decoder IC HT12D at ipinapadala ang 4 – bit na output nito sa Raspberry Pi. Pagkatapos ay binabasa ng Raspberry Pi ang mga piraso at gumanap ng kaugnay na gawain at iilaw ang kani-kanilang LED. Ang isang buzzer ay umiikot para sa isang segundo tuwing ang anumang key ay pinindot. Ginagamit din ang isang 16x2 LCD upang ipakita ang katayuan na 'ON o OFF' ng lahat ng mga LED.
Sa Proyekto na ito, gumamit kami ng apat na LEDs para lamang sa layunin ng pagpapakita, maaari naming ma-trigger ang anumang gawain sa pamamagitan ng pagpindot sa kani-kanilang pindutan sa 'RF Remote'. Tulad ng maaari naming ikonekta ang AC Home Appliances sa lugar ng mga LED, gamit ang Relay at makokontrol ang mga appliances na iyon gamit ang parehong 'RF Remote' nang walang wireless. Kaya't ang parehong circuit na ito ay maaaring gumana bilang isang RF batay sa Home automation Project gamit ang Raspberry Pi. Nakagawa na kami dati ng maraming Mga Proyekto sa Home Automation na kinokontrol gamit ang Bluetooth, DTMF, GSM atbp, maaari mong suriin ang lahat dito ng Mga Proyekto sa Home Automation.
Paliwanag sa Circuit:
Ang circuit ng Raspberry Pi RF Remote Control na ito ay simple na naglalaman ng Raspberry Pi Board, push button at LCD, RF Pair at encoder / decoder IC. Kinokontrol ng Raspberry Pi ang LCD, nagbabasa ng input at nagpapadala ng output ayon sa input. Ginamit namin ang Raspberry Pi 3 dito, ngunit ang anumang modelo ng Raspberry ay dapat na gumana. Ang circuit ay nahahati sa dalawang bahagi, ang isa ay RF Receiver circuit at ang iba pa ay RF transmitter circuit. Ang parehong mga circuit ay ipinapakita sa diagram sa ibaba.
Sa bahagi ng Receiver, ang LCD pin rs, en, d4, d5, d6, d7 ay konektado sa mga kablePi GPIO Pin 11, 10, 6, 5, 4, 1 sa 4-bit mode. Natatanggap ng RF Receiver ang signal mula sa RF Transmitter at HT12D IC na na-decode ito. Ang D8, D9, D10, D11 ng HT12D decoder IC ay direktang konektado sa mga kablePI GPIO pin 25, 24, 23 at 22. Ang mga output ng LED ay konektado sa mga kablePi GPIO pin 26, 27, 28 at 29. Ginagamit din ang isang buzzer para sa alerto sa pinindot ang key sa mga kablePi GPIO 0.
Naglalaman ang RF transmitter circuit ng HT12E Encoder IC at 4 push button upang makontrol ang 4 LEDs. Sa Encoder at Decoder IC lahat ng mga linya ng address ay konektado sa lupa.
Pag-install ng mga kablePi Library sa Raspberry Pi:
Tulad ng sa Python ina- import namin ang pag- import ng RPi.GPIO bilang IO header file upang magamit ang GPIO Pins ng Raspberry Pi, dito sa wikang C kailangan nating gumamit ng wiringPi Library upang magamit ang GPIO Pins sa aming C Program. Maaari naming mai-install ito sa pamamagitan ng paggamit ng mga utos sa ibaba isa-isa, maaari mong patakbuhin ang utos na ito mula sa Terminal o mula sa ilang mga kliyente ng SSH tulad ng Putty (kung gumagamit ka ng Windows). Dumaan sa aming Simula sa tutorial na Raspberry Pi upang malaman ang higit pa tungkol sa paghawak at pag-configure ng 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
Subukan ang pag-install ng mga kable ng library ngPi, gamitin sa ibaba ang mga utos:
gpio -v gpio readall
Paliwanag sa Programming:
Una sa lahat ay nagsasama kami ng mga file ng header at tinutukoy ang mga pin para sa LCD, pagkatapos ay pinasimulan ang ilang mga variable at pin para sa pagkuha ng mga input at LED na pahiwatig.
# isama
Pagkatapos nito ay nagbibigay kami ng direksyon sa lahat ng ginagamit na GPIO Pins sa mga walang bisa na pag-setup () na mga function.
void setup () {if (wiringPiSetup () == -1) {clear (); i-print ("Hindi masimulan"); setCursor (0,1); i-print ("mga kablePi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
Sa code ginamit namin ang pagpapaandar ng digitalRead upang basahin ang output ng Decoder at digitalWrite upang maipadala ang output sa LED o aparato.
…………….. habang (1) {setCursor (0,0); i-print ("D1 D2 D3 D4"); kung (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); kung (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, TAAS); }……………..
Narito ang ilang higit pang mga pagpapaandar na ginamit sa proyektong ito.
Ang pagpapaandar ng walang bisa na lcdcmd ay ginagamit para sa pagpapadala ng utos sa LCD at ang walang bisa na pagsulat na pag- andar ay ginagamit para sa pagpapadala ng data sa LCD.
Ang function void clear () ay ginagamit upang i-clear ang LCD, ang void setCursor ay ginagamit upang itakda ang posisyon ng cursor at void print para sa pagpapadala ng string sa LCD.
Ang pagsisimula ng walang bisa na pag- andar ay ginagamit upang simulan ang LCD sa 4-bit Mode at void buzzer () para sa beep ng buzzer.
Suriin ang Buong Code para sa Remote Control ng Raspberry RF na ito sa ibaba.