- Nepieciešamās sastāvdaļas:
- RF modulis:
- Darba skaidrojums:
- Ķēdes skaidrojums:
- WiringPi bibliotēkas instalēšana Raspberry Pi:
- Programmēšanas skaidrojums:
Šajā sesijā mēs izstrādāsim RF tālvadības pulti, izmantojot Raspberry Pi, ko var izmantot, lai bez vadiem vadītu ierīces. Mēs varam ieslēgt un izslēgt ierīces, izmantojot šo RF tālvadības pulti. Mēs jau iepriekš esam izstrādājuši daudzus projektus, izmantojot RF moduli, piemēram, RF vadāmu robotu, ar roku ar žestu vadītu robotu utt., Pārbaudiet tos, lai saprastu RF moduļa darbību.
Nepieciešamās sastāvdaļas:
Raidītāja puse:
- RF raidītājs (ASK hibrīds raidītājs)
- HT12E IC
- 4 Spiediet pogas
- 750k rezistors
- 9 voltu akumulators
Uztvērēja puse:
- Aveņu Pi
- 16x2 LCD
- 10K POT
- Maizes dēlis
- 1K rezistors (pieci)
- 33K rezistors
- HT12D IC
- RF uztvērējs (ASK hibrīdais uztvērējs)
- Gaismas diodes (piecas)
- 10K rezistors (četri)
- Savienojošais vads
- Enerģijas padeve
RF modulis:
Šis ir ASK hibrīda raidītāja un uztvērēja modulis, kas darbojas ar 433Mhz frekvenci. Šim modulim ir kristāla stabilizēts oscilators, lai uzturētu precīzu frekvences kontroli vislabākajā diapazonā. Šim modulim mums ārēji vajadzīga tikai viena antena.
Šis modulis ir ļoti rentabls, ja nepieciešama liela attāluma RF komunikācija. Šis modulis tieši nesūta datus, izmantojot datora vai mikrokontrollera UART sakarus, jo šajā frekvencē un tās analogajā tehnoloģijā ir daudz trokšņu. Mēs varam izmantot šo moduli ar kodētāja un dekodētāja IC palīdzību, kas iegūst datus no trokšņa.
Raidītāja darbības rādiuss ir aptuveni 100 metri pie maksimālā barošanas sprieguma, bet 5 voltu gadījumā raidītāja darbības rādiuss ir aptuveni 50-60 metri, izmantojot vienkāršu viencaņa kodu ar 17 cm garu antenu.
RF raidītāja funkcijas:
- Frekvenču diapazons: 433 Mhz
- Izejas jauda: 4-16dBm
- Ieejas padeve: no 3 līdz 12 voltiem līdzstrāvas
RF Tx tapas apraksts:
- GND - zemes padeve
- Data In - šī tapa pieņem sērijveida datus no kodētāja
- Vcc - +5 Volt jābūt savienotam ar šo tapu
- Antena - iesaiņots savienojums ar šo tapu pareizai datu pārraidei
RF uztvērēja funkcijas:
- Jutība: -105dBm
- IF frekvence: 1MHz
- Zems enerģijas patēriņš
- Strāva 3,5 mA
- Barošanas spriegums: 5 volti
RF Rx tapas apraksts:
- GND - zeme
- Data In - šī tapa dod izejas sērijas datus dekoderim
- Data In - šī tapa dod izejas sērijas datus dekoderim
- Vcc - +5 Volt jābūt savienotam ar šo tapu
- Vcc - +5 Volt jābūt savienotam ar šo tapu
- GND - zeme
- GND - zeme
- Antena - iesaiņots savienojums ar šo tapu, lai pareizi saņemtu datus
Darba skaidrojums:
Darbs ar šo projektu ir ļoti vienkāršs. Šajā projektā mēs esam izmantojuši četras pogas raidītāja pusē (kalpo kā tālvadības pults), lai kontrolētu četras gaismas diodes uztvērēja galā. Kad mēs nospiežam jebkuru no četrām pogām, tad Encoder IC kodē signālu un nosūta to uz RF raidītāju, un RF raidītājs to pārraida vidē. Tagad RF uztvērējs saņem pārraidīto signālu un dekodē to, izmantojot dekodētāju IC HT12D, un nosūta tā 4 bitu izvadi uz Raspberry Pi. Tad Raspberry Pi nolasa šos bitus, veic saistīto uzdevumu un spīd attiecīgo LED. Ikreiz, kad tiek nospiests kāds taustiņš, sekundē atskan pīkstulis. 16x2 LCD tiek izmantots arī, lai parādītu visu gaismas diodes statusu “ON” vai “OFF”.
Šajā projektā mēs esam izmantojuši četras gaismas diodes tikai demonstrācijas nolūkos, mēs varam aktivizēt jebkuru uzdevumu, nospiežot attiecīgo pogu pie “RF Remote”. Tāpat kā mēs varam arī pieslēgt maiņstrāvas sadzīves tehniku gaismas diožu vietā, izmantojot releju, un mēs varam bezvadu režīmā vadīt šīs ierīces, izmantojot to pašu “RF Remote”. Tātad šī pati shēma var darboties kā RF balstīts mājas automatizācijas projekts, izmantojot Raspberry Pi. Iepriekš mēs esam izstrādājuši daudzus mājas automatizācijas projektus, kurus kontrolē, izmantojot Bluetooth, DTMF, GSM utt., Visus šeit varat pārbaudīt.
Ķēdes skaidrojums:
Šīs Raspberry Pi RF tālvadības pults shēma ir vienkārša, kas satur Raspberry Pi paneli, spiedpogu un LCD, RF pāri un kodētāja / dekodētāja IC. Raspberry Pi kontrolē LCD, nolasa ievadi un nosūta izvadi atbilstoši ievadam. Mēs šeit esam izmantojuši Raspberry Pi 3, bet jebkuram Raspberry modelim vajadzētu darboties. Ķēde ir sadalīta divās daļās, viena ir RF uztvērēja ķēde un otra ir RF raidītāja ķēde. Abas shēmas ir parādītas zemāk esošajā diagrammā.
Uztvērēja daļā LCD kontaktu kontakti rs, en, d4, d5, d6, d7 ir savienoti ar elektroinstalācijuPi GPIO 11., 10., 6., 5., 4., 1. kontakts 4 bitu režīmā. RF uztvērējs saņem signālu no RF raidītāja, un HT12D IC to dekodē. HT12D dekodētāja IC D8, D9, D10, D11 ir tieši savienoti ar elektroinstalāciju. GP GPIO 25., 24., 23. un 22. kontakts. Izvades gaismas diodes ir savienotas ar vadu. Pi GPIO tapas 26, 27, 28 un 29. Brīdināšanai tiek izmantots arī skaņas signāls taustiņš tiek piespiests pie vadu instalēšanas.
RF raidītāja shēmā ir HT12E Encoder IC un 4 spiedpogas, lai vadītu 4 gaismas diodes. Kodētājā un dekodētājā IC visas adrešu līnijas ir savienotas ar zemi.
WiringPi bibliotēkas instalēšana Raspberry Pi:
Tāpat kā Python, mēs importējam RPi.GPIO kā IO galvenes failu, lai izmantotu Raspberry Pi GPIO tapas, šeit C valodā mums jāizmanto wiringPi bibliotēka, lai mūsu C programmā izmantotu GPIO Pins. Mēs varam to instalēt, izmantojot zemāk esošās komandas pa vienai, jūs varat palaist šo komandu no Terminal vai no dažiem SSH klientiem, piemēram, Putty (ja izmantojat Windows). Izmeklējiet mūsu pamācību Darba sākšana ar Raspberry Pi, lai uzzinātu vairāk par Raspberry Pi apstrādi un konfigurēšanu.
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
Pārbaudiet wiringPi bibliotēkas instalēšanu, izmantojiet zemāk norādītās komandas:
gpio -v gpio readall
Programmēšanas skaidrojums:
Vispirms mēs iekļaujam galvenes failus un definējam tapas LCD, pēc tam inicializējam dažus mainīgos un tapas ievades un LED indikāciju uzņemšanai.
# iekļaut
Pēc tam mēs dodam norādījumu visām izmantotajām GPIO tapām void setup () funkcijās.
void setup () {if (elektroinstalācijaPiSetup () == -1) {notīrīt (); drukāt ("Nevar sākt"); setCursor (0,1); druka ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
Kodā mēs esam izmantojuši digitalRead funkciju, lai nolasītu dekodera un digitalWrite izvadi, lai izvadi nosūtītu uz LED vai ierīci.
…………….. while (1) {setCursor (0,0); druka ("D1 D2 D3 D4"); ja (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {drukāt ("ON"); digitalWrite (led1, HIGH); }……………..
Šeit ir vēl dažas funkcijas, kas tika izmantotas šajā projektā.
Funkcija void lcdcmd tiek izmantota komandu nosūtīšanai uz LCD, un void write funkcija tiek izmantota datu nosūtīšanai uz LCD.
Funkcija void clear () tiek izmantota, lai notīrītu LCD, void setCursor tiek izmantota, lai iestatītu kursora pozīciju un tukšu druku virknes nosūtīšanai uz LCD.
Funkcija void begin tiek izmantota, lai inicializētu LCD 4 bitu režīmā, un void buzzer () skaņas signāla pīkstēšanai.
Tālāk pārbaudiet pilnu šīs Raspberry RF tālvadības pults kodu.