- Komponente potrebne
- Korišteni softver
- Modul RF odašiljača i prijemnika od 433 MHz
- Kružni dijagram
- Izrada projekta za Atmega 8 pomoću CodeVision
- ŠIFRA i objašnjenje
- Učitajte kod na Atmega8
Izrada naših projekata Wireless čini nas uvijek izgledima cool, a također proširuje raspon u kojem se njime može upravljati. Počevši od korištenja normalne IR LED diode za bežičnu kontrolu na kratkim udaljenostima do ESP8266 za globalnu HTTP kontrolu, postoji mnogo načina za bežično upravljanje nečim. U ovom projektu naučimo kako graditi bežične projekte pomoću RF modula od 433 MHz i AVR mikrokontrolera.
U ovom projektu radimo sljedeće stvari: -
- Koristimo Atmega8 za RF odašiljač, a Atmega8 za odjeljak RF prijemnik.
- Povezujemo LED i tipku s Atmega8 mikrokontrolerima.
- Na strani odašiljača tipku povezujemo s Atmegom i prenosimo podatke. Na strani prijemnika primit ćemo podatke bežično i prikazati izlaz na LED.
- Za prijenos 4-bitnih podataka koristimo IC koder i dekoder IC.
- Frekvencija prijema je 433 MHz, koristeći jeftini RF TX-RX modul dostupan na tržištu.
Komponente potrebne
- Atmega8 AVR mikrokontroler (2)
- USBASP programer
- 10-pinski FRC kabel
- Daska za kruh (2)
- LED diode (2)
- Tipkalo (1)
- Par HT12D i HT12E
- RX-TX RF modul
- Otpornici (10k, 47k, 1M)
- Jumper žice
- Napajanje od 5V
Korišteni softver
Mi koristimo CodeVisionAVR softver za pisanje koda te SinaProg softver za upload našu šifru za Atmega8 pomoću USBASP programer.
Ove softvere možete preuzeti s danih poveznica:
CodeVisionAVR :
SinaProg:
Prije ulaska u sheme i kodove, shvatimo rad RF modula s enkoderima-dekoderima.
Modul RF odašiljača i prijemnika od 433 MHz

To su odašiljački i prijamni moduli koje koristimo u projektu. To je najjeftiniji modul dostupan za 433 MHz. Ovi moduli prihvaćaju serijske podatke u jednom kanalu.
Ako vidimo specifikacije modula, odašiljač je predviđen za rad od 3,5-12 V kao ulazni napon, a udaljenost odašiljanja je 20-200 metara. Prenosi se u AM (Audio Modulation) protokolu na frekvenciji 433 MHz. Podatke možemo prenositi brzinom od 4KB / S sa snagom od 10mW.

Na gornjoj slici vidimo pin-out modula Transmiter. S lijeva na desno pribadače su VCC, DATA i GND. Također možemo dodati antenu i zalemiti je na točku označenu na gornjoj slici.
Za specifikaciju prijemnika, prijamnik ima napon od 5V jednosmjerne struje i 4MA struje mirovanja kao ulaz. Prijemna frekvencija je 433,92 MHz s osjetljivošću od -105DB.

Na gornjoj slici možemo vidjeti pin-out modula prijemnika. Četiri igle su slijeva udesno, VCC, DATA, DATA i GND. Te srednje dvije iglice međusobno su povezane. Možemo koristiti bilo koji ili oboje. Ali dobra je praksa koristiti obje za snižavanje sprege buke.
Također, jedna stvar nije navedena u tehničkom listu, varijabilna induktivnost ili POT na sredini modula koriste se za kalibraciju frekvencije. Ako nismo mogli primiti prenesene podatke, postoje mogućnosti da se frekvencije odašiljanja i prijema ne podudaraju. Ovo je RF krug i moramo podesiti odašiljač na savršenu točku odašiljane frekvencije. Također, isto kao i odašiljač, ovaj modul također ima antenski priključak; možemo lemiti žicu u namotanom obliku za dulji prijem.
Opseg prijenosa ovisi o naponu koji se isporučuje na odašiljač i duljini antena s obje strane. Za ovaj specifični projekt nismo koristili vanjsku antenu i koristili smo 5V na strani odašiljača. Provjerili smo s udaljenosti od 5 metara i to je savršeno uspjelo.
Saznajte više o RF paru u krugu RF odašiljača i prijemnika. Više o radu RF možete razumjeti provjerom sljedećih projekata koji koriste RF par:
- RF kontrolirani robot
- Krug pretvarača IR u RF
- RF daljinsko upravljane LED diode pomoću Raspberry Pi
- RF uređaji kontrolirani kućanstvom
Kružni dijagram
Kružni dijagram na strani RF odašiljača

- Pin D7 od atmega8 -> Pin13 HT12E
- Pin D6 od atmega8 -> Pin12 HT12E
- Pin D5 atmega8 -> Pin11 HT12E
- Pin D4 atmega8 -> Pin10 HT12E
- Tipka za pin B0 od Atmege.
- 1M-omski otpor između pin15 i 16 HT12E.
- Pin17 HT12E na podatkovni pin modula RF odašiljača.
- Pin 18 od HT12E na 5V.
- GND pin 1-9 i pin 14 HT12E i pin 8 Atmega.
Kružni dijagram na strani RF prijemnika

- Pin D7 od atmega8 -> Pin13 HT12D
- Pin D6 od atmega8 -> Pin12 HT12D
- Pin D5 od atmega8 -> Pin11 HT12D
- Pin D4 atmega8 -> Pin10 HT12d
- LED na pin B0 od Atmege.
- Pin14 HT12D na podatkovni pin modula RF prijemnika.
- Otpor 47Kohm između pin15 i 16 HT12D.
- GND pin 1-9 od HT12D i pin 8 od Atmega.
- LED na pin 17 HT12D.
- 5V na pin 7 Atmege i pin 18 HT12D.

Izrada projekta za Atmega 8 pomoću CodeVision
Nakon instalacije ovih softvera slijedite korake u nastavku za stvaranje projekta i pisanje koda:
Korak 1. Otvorite CodeVision Kliknite Datoteka -> Novo -> Projekt . Pojavit će se dijaloški okvir za potvrdu. Kliknite Da

Korak 2. Otvorit će se CodeWizard. Kliknite prvu opciju, tj. AT90 , i kliknite U redu.

Korak 3. Odaberite svoj mikrokontrolerski čip, ovdje ćemo uzeti Atmega8 kao što je prikazano.

Korak 4: - Kliknite Ports. U dijelu odašiljača, gumb je naš ulaz i izlaze 4 podatkovne linije. Dakle, moramo inicijalizirati 4 pina Atmege kao izlaz. Kliknite na port D. Izradite bit 7, 6, 5 i 4 kao van klikom na njega.

Korak 5: - Kliknite Program -> Generiraj, spremi i izađi . Sada je više od polovice našeg posla završeno

Korak 6: - Napravite novu mapu na radnoj površini tako da naše datoteke ostanu u mapi, inače će biti razbacane po cijelom prozoru radne površine. Nazovite mapu kako želite i predlažem da koristite isto ime za spremanje programskih datoteka.
Imat ćemo tri dijaloška okvira jedan za drugim za spremanje datoteka. Učinite isto s druga dva dijaloška okvira koja će se pojaviti nakon što spremite prvi.
Sada vaš radni prostor izgleda ovako.

Naš najveći dio posla dovršen je uz pomoć čarobnjaka. Sada moramo napisati samo nekoliko redaka koda za dio odašiljača i prijemnika i to je to…
Slijedite iste korake za stvaranje datoteka za dio prijemnika. U dijelu prijemnika, samo je Led naš izlaz, pa napravite da je B0 bit prema van.
ŠIFRA i objašnjenje
Napisat ćemo kod za bežično uključivanje LED diode pomoću RF-a. Potpuni kod za Atmegu na strani odašiljača i prijemnika dan je na kraju ovog članka.
Atmega8 kod za RF odašiljač:
Prvo uključite datoteku zaglavlja delay.h da biste upotrijebili kašnjenje u našem kodu.
#include
Sada dođite do posljednjih redaka koda gdje ćete pronaći while petlju. Naš glavni kôd bit će u ovoj petlji.
U petlji While poslati ćemo 0x10 bajta u PORTD kad se pritisne tipka i, poslat ćemo 0x20 kad tipka nije pritisnuta. Za slanje možete koristiti bilo koju vrijednost.
while (1) { if (PINB.0 == 1) { PORTD = 0x10; } ako (PINB.0 == 0) { PORTD = 0x20; } } }
Atmega kod za RF prijemnik
Prvo deklarirajte varijable iznad void glavne funkcije za spremanje dolaznih znakova iz RF modula.
#include
Sada dođite do while petlje. U ovoj petlji spremite dolazne bajtove u bajt varijable char i provjerite je li dolazni bajt isti kao što zapisujemo u našem dijelu odašiljača. Ako su bajtovi isti, povećajte PortB.0 i uzmite NOT od PORTB.0 za prebacivanje LED-a.
while (1) { byte = PIND; ako (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; kašnjenje_ms (1000); }}}
Izradite projekt
Naš kod je dovršen. Sada moramo izgraditi svoj projekt . Kliknite na Izgradi ikonu projekta kao što je prikazano.

Nakon izgradnje projekta, u mapi Debug-> Exe generira se HEX datoteka koja se nalazi u mapi koju ste prethodno napravili za spremanje projekta. Upotrijebit ćemo ovu HEX datoteku za prijenos u Atmega8 pomoću softvera Sinaprog.
Učitajte kod na Atmega8
Spojite svoje krugove prema zadanom dijagramu na program Atmega8. Priključite jednu stranu FRC kabela na USBASP programer, a drugu stranu spojit ćete na SPI pinove mikrokontrolera kako je opisano u nastavku:

- Pin1 ženskog konektora FRC -> Pin 17, MOSI od Atmega8
- Pin 2 povezan s Vcc atmega8 tj. Pin 7
- Pin 5 spojen je na Resetiranje atmega8 tj. Pin 1
- Pin 7 spojen na SCK atmega8 tj. Pin 19
- Pin 9 povezan s MISO atmega8, tj. Pin 18
- Pin 8 spojen na GND atmega8 tj. Pin 8
Spojite preostale komponente na ploči prema shemi spojeva i otvorite Sinaprog.
Prenijet ćemo gore generiranu hex datoteku pomoću Sinaproga, pa je otvorite i s padajućeg izbornika Device odaberite Atmega8. Odaberite HEX datoteku iz mape Debug-> Exe kao što je prikazano.

Sada kliknite na Program.

Gotovi ste i vaš mikrokontroler je programiran. Upotrijebite iste korake za programiranje drugog Atmega na strani prijemnika.
Kompletni kod i demonstracijski video prikazan je u nastavku.
