- Nødvendige komponenter:
- RF-modul:
- Arbeidsforklaring:
- Kretsforklaring:
- Installere wiringPi Library i Raspberry Pi:
- Programmeringsforklaring:
I denne økten skal vi utvikle en RF-fjernkontroll ved hjelp av Raspberry Pi, som kan brukes til å kontrollere enhetene trådløst. Vi kan slå på og av enhetene ved hjelp av denne RF-fjernkontrollen. Vi har tidligere utviklet mange prosjekter ved hjelp av RF-modul som RF-kontrollert robot, håndbevegelsesstyrt robot etc., sjekk dem for å forstå hvordan RF-modul fungerer.
Nødvendige komponenter:
Senderside:
- RF-sender (ASK Hybrid-sender)
- HT12E IC
- 4 Trykknapper
- 750k motstand
- 9 Volt batteri
Mottakerside:
- Bringebær Pi
- 16x2 LCD
- 10K POTTE
- Brettbrett
- 1K motstand (fem)
- 33K motstand
- HT12D IC
- RF-mottaker (ASK hybridmottaker)
- Lysdioder (fem)
- 10K motstand (fire)
- Koblingsledning
- Strømforsyning
RF-modul:
Dette er en ASK Hybrid-sender og mottaker modul som opererer med 433MHz frekvens. Denne modulen har en krystallstabilisert oscillator for å opprettholde nøyaktig frekvenskontroll for best rekkevidde. Der trenger vi bare en antenne eksternt for denne modulen.
Denne modulen er veldig kostnadseffektiv der RF-kommunikasjon over lang rekkevidde er nødvendig. Denne modulen sender ikke data ved bruk av UART-kommunikasjon fra PC eller mikrokontroller direkte fordi det er mye støy ved denne frekvensen og dens analoge teknologi. Vi kan bruke denne modulen ved hjelp av kodere og dekoder-IC-er som trekker ut data fra støyen.
Senderens rekkevidde er omtrent 100 meter ved maksimal forsyningsspenning, og for 5 volt er rekkevidden til senderen omtrent 50-60 meter ved bruk av en enkel ledning med enkeltkode 17 cm lang antenne.
RF-senderegenskaper:
- Frekvensområde: 433 Mhz
- Utgangseffekt: 4-16dBm
- Inngangsforsyning: 3 til 12 volt likestrøm
Pin Beskrivelse av RF Tx:
- GND - Jordforsyning
- Data In - Denne pinnen godtar seriell data fra koderen
- Vcc - +5 Volt skal kobles til denne pinnen
- Antenne - En innpakket kobling til denne pinnen for riktig overføring av data
RF-mottakerfunksjoner:
- Følsomhet: -105dBm
- HVIS frekvens: 1MHz
- Lavt energiforbruk
- Strøm 3,5 mA
- Forsyningsspenning: 5 volt
Pin Beskrivelse av RF Rx:
- GND - bakken
- Data In - Denne pinnen gir seriell utdata til dekoderen
- Data In - Denne pinnen gir seriell utdata til dekoderen
- Vcc - +5 Volt skal kobles til denne pinnen
- Vcc - +5 Volt skal kobles til denne pinnen
- GND - bakken
- GND - bakken
- Antenne - En innpakket kobling til denne pinnen for riktig mottak av data
Arbeidsforklaring:
Arbeidet med dette prosjektet er veldig enkelt. I dette prosjektet har vi brukt fire knapper på sendersiden (fungerer som fjernkontroll) for å kontrollere de fire lysdiodene på mottakerenden. Når vi trykker på en av de fire knappene, koder Encoder IC signalet og sender det til RF-senderen, og RF-senderen sender det i miljøet. Nå mottar RF-mottaker det sendte signalet og dekoder det ved hjelp av dekoder IC HT12D og sender sin 4-bits utgang til Raspberry Pi. Deretter leser Raspberry Pi disse bitene og utfører relaterte oppgaver og lyser den respektive LED-en. En summer piper et sekund hver gang du trykker på en tast. En 16x2 LCD brukes også til å vise statusen 'PÅ eller AV' for alle lysdiodene.
I dette prosjektet har vi brukt fire lysdioder bare for demonstrasjonsformål. Vi kan utløse en hvilken som helst oppgave ved å trykke på den respektive knappen på 'RF Remote'. Som om vi også kan koble til AC-husholdningsapparater i stedet for lysdioder, ved hjelp av reléet og kan styre disse apparatene trådløst med samme 'RF-fjernkontroll'. Så den samme kretsen kan fungere som et RF-basert hjemmeautomatiseringsprosjekt ved hjelp av Raspberry Pi. Vi har tidligere utviklet mange hjemmeautomatiseringsprosjekter som styres ved hjelp av Bluetooth, DTMF, GSM etc., du kan sjekke alt her Hjemmeautomatiseringsprosjekter.
Kretsforklaring:
Kretsløpet til denne Raspberry Pi RF-fjernkontrollen er enkel som inneholder Raspberry Pi Board, trykknapp og LCD, RF-par og koder / dekoder IC. Raspberry Pi styrer LCD-skjermen, leser inngang og sender utdata i henhold til inngang. Vi har brukt Raspberry Pi 3 her, men enhver Raspberry-modell skal fungere. Kretsen er delt i to deler, den ene er RF-mottakerkrets og den andre er RF-senderkrets. Begge kretsene er vist i diagrammet nedenfor.
I mottakerdelen er LCD-pinnen rs, en, d4, d5, d6, d7 koblet til ledningen Pi GPIO Pin 11, 10, 6, 5, 4, 1 i 4-biters modus. RF-mottaker mottar signalet fra RF-senderen og HT12D IC dekoder det. D8, D9, D10, D11 av HT12D-dekoder IC er direkte koblet til ledningPI GPIO-pinne 25, 24, 23 og 22. Utgangs-LED-er er koblet til ledningPi GPIO-pinne 26, 27, 28 og 29. En summer brukes også til varsel på tasten trykket på ledningen Pi GPIO 0.
RF-senderkrets inneholder HT12E Encoder IC og 4 trykknapper for å kontrollere de 4 lysdiodene. I Encoder og Decoder IC er alle adresselinjene koblet til bakken.
Installere wiringPi Library i Raspberry Pi:
Som i Python importerer vi import RPi.GPIO som IO- headerfil for å bruke GPIO Pins av Raspberry Pi, her på C-språk trenger vi å bruke wiringPi Library for å bruke GPIO Pins i C-programmet vårt. Vi kan installere det ved å bruke kommandoer nedenfor en etter en, du kan kjøre denne kommandoen fra Terminal eller fra noen SSH-klienter som Putty (hvis du bruker Windows). Gå gjennom Kom i gang med Raspberry Pi-veiledningen for å lære mer om håndtering og konfigurering av 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
Test installasjonen av wiringPi-biblioteket, bruk kommandoene nedenfor:
gpio -v gpio readall
Programmeringsforklaring:
Først og fremst inkluderer vi headerfiler og definerer pins for LCD, deretter initialiserer vi noen variabler og pins for å ta inngangs- og LED-indikasjoner.
#inkludere
Etter det gir vi retning til alle brukte GPIO Pins i ugyldige oppsett () -funksjoner.
ugyldig oppsett () {if (wiringPiSetup () == -1) {clear (); utskrift ("Kan ikke starte"); setCursor (0,1); utskrift ("wiringPi"); } pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT);……………….
I kode har vi brukt digitalRead- funksjonen til å lese utgangen fra dekoder og digitalWrite for å sende utgangen til LED eller enhet.
…………….. mens (1) {setCursor (0,0); utskrift ("D1 D2 D3 D4"); hvis (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); hvis (flagg1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Her er noen flere funksjoner som har blitt brukt i dette prosjektet.
Funksjon void lcdcmd brukes til å sende kommando til LCD og void write- funksjon brukes til å sende data til LCD.
Funksjon void clear () brukes til å tømme LCD-skjermen, void setCursor brukes til å stille inn markørposisjon og ugyldig utskrift for å sende streng til LCD.
Funksjon void begin brukes til å initialisere LCD i 4-biters modus og ugyldig summer () for å pippe lyden.
Sjekk hele koden for denne Raspberry RF-fjernkontrollen nedenfor.