- Nepieciešamās sastāvdaļas
- Izmantotā programmatūra
- 433MHz RF raidītājs un uztvērēja modulis
- Ķēdes shēma
- Atmega 8 projekta izveide, izmantojot CodeVision
- KODS un skaidrojums
- Augšupielādējiet kodu vietnē Atmega8
Izveidojot mūsu projektus bezvadu tīklā, tas vienmēr izskatās lieliski, kā arī paplašina diapazonu, kurā to var kontrolēt. Sākot no parastā IR LED izmantošanas neliela attāluma bezvadu kontrolei, līdz ESP8266 visā pasaulē paredzētajai HTTP kontrolei, ir daudz veidu, kā kaut ko vadīt bezvadu režīmā. Šajā projektā mēs uzzinām, kā veidot bezvadu projektus, izmantojot 433 MHz RF moduli un AVR mikrokontrolleru.
Šajā projektā mēs rīkojamies šādi: -
- Mēs izmantojam Atmega8 RF raidītājam un Atmega8 RF uztvērēja sadaļai.
- Mēs mijiedarbojamies ar LED un spiedpogu ar Atmega8 mikrokontrolleriem.
- Raidītāja pusē mēs saspiežam pogu ar Atmega un pārsūtām datus. Uztvērēja pusē mēs saņemsim datus bezvadu režīmā un parādīsim izeju uz LED.
- Mēs izmantojam kodētāju un dekodētāja IC, lai pārsūtītu 4 bitu datus.
- Pieņemšanas frekvence ir 433 MHz, izmantojot tirgū pieejamo lēto RF TX-RX moduli.
Nepieciešamās sastāvdaļas
- Atmega8 AVR mikrokontrolleris (2)
- USBASP programmētājs
- 10 kontaktu FRC kabelis
- Maizes dēlis (2)
- Gaismas diodes (2)
- Spiedpoga (1)
- HT12D un HT12E pāris
- RX-TX RF modulis
- Rezistori (10k, 47k, 1M)
- Džemperu vadi
- 5V barošanas avots
Izmantotā programmatūra
Mēs izmantojam CodeVisionAVR programmatūru koda ierakstīšanai un SinaProg programmatūru koda augšupielādēšanai Atmega8, izmantojot USBASP programmētāju.
Šīs programmatūras varat lejupielādēt no norādītajām saitēm:
CodeVisionAVR :
SinaProg:
Pirms iedziļināties shēmās un kodos, sapratīsim RF moduļa darbību ar kodētāja-dekodētāja IC.
433MHz RF raidītājs un uztvērēja modulis
Tie ir raidītāja un uztvērēja moduļi, kurus mēs izmantojam projektā. Tas ir lētākais pieejamais modulis 433 MHz frekvencē. Šie moduļi pieņem sērijas datus vienā kanālā.
Ja mēs redzam moduļu specifikācijas, raidītājs ir paredzēts 3,5-12 V darbībai kā ieejas spriegums un pārraides attālums ir 20-200 metri. Tas pārraida AM (Audio Modulation) protokolā ar 433 MHz frekvenci. Mēs varam pārsūtīt datus ar ātrumu 4KB / S ar 10mW jaudu.
Augšējā attēlā mēs varam redzēt raidītāja moduļa piespraudi. No kreisās uz labo tapas ir VCC, DATA un GND. Mēs varam pievienot arī antenu un pielodēt to punktā, kas norādīts iepriekšējā attēlā.
Attiecībā uz uztvērēju specifikācijā, uztvērējs ir reitingu 5V DC un 4mA kluss pašreizējais kā priekšnodokli. Saņemšanas frekvence ir 433,92 MHz ar jutību -105DB.
Iepriekš redzamajā attēlā mēs varam redzēt uztvērēja moduļa tapu. Četri tapas ir no kreisās uz labo, VCC, DATA, DATA un GND. Šie vidējie divi tapas ir iekšēji savienoti. Mēs varam izmantot jebkuru vai abus. Bet laba prakse ir izmantot abus trokšņa sakabes pazemināšanai.
Turklāt viena lieta datu lapā nav pieminēta, mainīgais induktors vai POT moduļa vidū tiek izmantots frekvences kalibrēšanai. Ja mēs nevarējām saņemt pārsūtītos datus, pastāv iespējas, ka raidīšanas un saņemšanas frekvences nav saskaņotas. Šī ir RF ķēde, un mums jānoskaņo raidītājs ideālā pārraidītā frekvences punktā. Tāpat kā raidītājam, šim modulim ir arī Antenas ports; mēs varam lodēt stiepli ruļļos ilgākai uztveršanai.
Pārraides diapazons ir atkarīgs no raidītājam piegādātā sprieguma un antenu garuma abās pusēs. Šajā konkrētajā projektā mēs neizmantojām ārējo antenu un raidītāja pusē izmantojām 5V. Mēs pārbaudījām ar 5 metru attālumu, un tas darbojās perfekti.
Uzziniet vairāk par RF pāri RF raidītāja un uztvērēja ķēdē. Lai uzzinātu vairāk par RF darbību, pārbaudiet šādus projektus, kas izmanto RF pāri:
- RF vadāms robots
- IR uz RF pārveidotāja shēma
- RF tālvadības LED, izmantojot Raspberry Pi
- RF kontrolēta sadzīves tehnika
Ķēdes shēma
RF raidītāja puses shēmas shēma
- Atmega8 tapa D7 -> Pin13 HT12E
- Atmega8 tapa D6 -> Pin12 HT12E
- Atmega8 tapa D5 -> Pin11 HT12E
- Atmega8 tapa D4 -> Pin10 HT12E
- Spiedpoga līdz Atmega tapai B0.
- 1M omu rezistors starp HT12E tapām15 un 16.
- HT12E 17. tapa RF raidītāja moduļa adatai.
- HT12E 18. tapa līdz 5 V.
- GND tapas 1–9 un tapas HT12E un tapas 8 no Atmega.
RF uztvērēja puses shēmas shēma
- Atmega8 tapa D7 -> Pin13 HT12D
- Atmega8 tapa D6 -> Pin12 HT12D
- Atmega8 tapa D5 -> Pin11 HT12D
- Atmega8 tapa D4 -> Pin10 HT12d
- LED līdz Atmega tapai B0.
- HT12D 14. kontakts ar RF uztvērēja moduļa adatu.
- 47ohm rezistors starp HT12D tapām15 un 16.
- HT12D GND 1. – 9. Tapa un Atmega 8. tapa.
- LED, lai piestiprinātu HT12D 17. kontaktu.
- 5 V uz Atmega 7. kontaktu un HT12D 18. kontaktu.
Atmega 8 projekta izveide, izmantojot CodeVision
Pēc šo programmatūru instalēšanas veiciet tālāk norādītās darbības, lai izveidotu projektu un uzrakstītu kodu:
1. solis. Atveriet CodeVision Noklikšķiniet uz File -> New -> Project . Parādīsies dialoglodziņš Apstiprinājums. Noklikšķiniet uz Jā
2. solis. Tiks atvērts CodeWizard. Noklikšķiniet uz pirmās opcijas, ti, AT90 , un noklikšķiniet uz Labi.
3. solis. Izvēlieties savu mikrokontrollera mikroshēmu, šeit mēs ņemsim Atmega8, kā parādīts.
4. solis: - noklikšķiniet uz Ports. Ar raidītāju daļā, Spiedpogas ir mūsu ieguldījums, un 4 datu līnijas ir izeja. Tātad kā izeja mums ir jāinicializē 4 Atmega tapas. Noklikšķiniet uz Port D. Izveidojiet 7., 6., 5. un 4. bitu, noklikšķinot uz tā.
5. solis: - noklikšķiniet uz Programma -> Ģenerēt, Saglabāt un Iziet . Tagad ir pabeigta vairāk nekā puse mūsu darba
6. solis: - izveidojiet jaunu mapi darbvirsmā, lai mūsu faili paliktu mapē, pretējā gadījumā tā tiks izkaisīta visā darbvirsmas logā. Piešķiriet mapei nosaukumu, kā vēlaties, un es iesaku izmantot to pašu nosaukumu, lai saglabātu programmas failus.
Failu saglabāšanai viens pēc otra būs trīs dialoglodziņi. Dariet to pašu ar pārējiem diviem dialoglodziņiem, kas parādīsies pēc pirmā saglabāšanas.
Tagad jūsu darba telpa izskatās šādi.
Lielākā daļa mūsu darbu tiek pabeigta ar vedņa palīdzību. Tagad mums ir jāuzraksta tikai dažas koda rindiņas raidītāja un uztvērēja daļai, un viss.
Veiciet tās pašas darbības, lai izveidotu failus uztvērēja daļai. Uztvērēja daļā tikai Led ir mūsu izeja, tāpēc padariet B0 portu mazliet ārā.
KODS un skaidrojums
Mēs rakstīsim kodu gaismas pārslēgšanai bezvadu režīmā, izmantojot RF. Pilnīgs kods gan Atmega raidītājā, gan uztvērējā ir norādīts šī raksta beigās.
RF raidītāja kods Atmega8:
Vispirms iekļaujiet delay.h galvenes failu, lai mūsu kodā izmantotu kavēšanos.
# iekļaut
Tagad nāciet pie pēdējām koda rindām, kur atradīsit kādu laiku . Mūsu galvenais kods būs šajā cilpā.
Jo kamēr cilpa, mēs nosūtīsim 0x10 baitu PORTD kad poga tiek nospiesta, un sūtīs 0x20 ja poga netiek nospiesta. Nosūtīšanai varat izmantot jebkuru vērtību.
while (1) { if (PINB.0 == 1) { PORTD = 0x10; } if (PINB.0 == 0) { PORTD = 0x20; } } }
RF uztvērēja Atmega kods
Vispirms deklarējiet mainīgos virs galvenās funkcijas, lai saglabātu ienākošo rakstzīmi no RF moduļa.
# iekļaut
Tagad pienācis pie kamēr cilpa. Šajā ciklā saglabājiet ienākošos baitus uz char mainīgā baita un pārbaudiet, vai ienākošais baits ir tāds pats kā mēs rakstām raidītāja daļā. Ja baiti ir vienādi, padariet PortB.0 augstu un ņemiet NAV no PORTB.0, lai pārslēgtu LED.
while (1) { baits = PIND; ja (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; kavēšanās_ms (1000); }}}
Veidojiet projektu
Mūsu kods ir pabeigts. Tagad mums ir jāveido savs projekts . Noklikšķiniet uz Izveidot projekta ikonu, kā parādīts.
Pēc projekta izveides mapē Debug-> Exe tiek ģenerēts HEX fails, kuru var atrast mapē, kuru iepriekš esat izveidojis, lai saglabātu savu projektu. Mēs izmantosim šo HEX failu, lai augšupielādētu vietnē Atmega8, izmantojot Sinaprog programmatūru.
Augšupielādējiet kodu vietnē Atmega8
Pievienojiet savas shēmas atbilstoši dotajai shēmai, lai programmētu Atmega8. FRC kabeļa vienas puses pievienošana USBASP programmētājam un otra puse tiks savienota ar mikrokontrollera SPI tapām, kā aprakstīts zemāk:
- FRC sieviešu savienotāja 1. kontakts -> Atmega8 17. kontakts, MOSI
- 2. tapa ir savienota ar atmega8 Vcc, ti, 7. tapa
- 5. tapa ir savienota ar atmega8 atiestatīšanu, ti, 1. tapa
- 7. tapa ir savienota ar atmega8 SCK, ti, 19. tapa
- 9. tapa ir savienota ar atmega8 MISO, ti, 18. tapa
- 8. tapa ir savienota ar atmega8 GND, ti, 8. tapa
Savienojiet pārējos paneļus uz paneļa, kā norādīts shēmā, un atveriet Sinaprog.
Mēs augšupielādēsim iepriekš izveidoto Hex failu, izmantojot Sinaprog, tāpēc atveriet to un nolaižamajā izvēlnē Ierīce izvēlieties Atmega8. Mapē Debug-> Exe atlasiet HEX failu, kā parādīts.
Tagad noklikšķiniet uz Programma.
Jūs esat pabeidzis un jūsu mikrokontrolleris ir ieprogrammēts. Veiciet tās pašas darbības, lai uztvērēja pusē ieprogrammētu citu Atmega.
Pilns kods un demonstrācijas video ir norādīts zemāk.