- Tarvittavat komponentit
- Käytetty ohjelmisto
- 433 MHz: n RF-lähetin ja vastaanotinmoduuli
- Piirikaavio
- Projektin luominen Atmega 8: lle CodeVisionin avulla
- KOODI ja selitys
- Lataa koodi Atmega8: een
Projektimme tekeminen langattomaksi tekee siitä aina näyttävän viileältä ja laajentaa myös aluetta, jolla sitä voidaan ohjata. Alkaen tavallisen IR-LEDin käytöstä lyhyen matkan langattomalle ohjaukselle ESP8266: een maailmanlaajuiseen HTTP-ohjaukseen, on monia tapoja hallita jotain langattomasti. Tässä projektissa opitaan rakentamaan langattomia projekteja 433 MHz: n RF-moduulilla ja AVR-mikrokontrollerilla.
Tässä projektissa teemme seuraavia asioita: -
- Käytämme Atmega8- radiotaajuuslähetintä ja Atmega8- radiotaajuusvastaanotinta.
- Liitämme LEDin ja painikkeen Atmega8-mikrokontrollereihin.
- Lähettimen puolella liitämme painikkeen Atmegan kanssa ja välitämme tiedot. Vastaanottopuolella vastaanotamme tiedot langattomasti ja näytämme lähdön LED-valossa.
- Käytämme kooderia ja dekooderi-IC: tä 4-bittisen datan lähettämiseen.
- Vastaanottotaajuus on 433 MHz käyttämällä markkinoilla saatavaa halpaa RF TX-RX -moduulia.
Tarvittavat komponentit
- Atmega8 AVR-mikrokontrolleri (2)
- USBASP-ohjelmoija
- 10-napainen FRC-kaapeli
- Leipälauta (2)
- LEDit (2)
- Painike (1)
- HT12D- ja HT12E-pari
- RX-TX RF-moduuli
- Vastukset (10k, 47k, 1M)
- Neulalangat
- 5 V: n virtalähde
Käytetty ohjelmisto
Käytämme CodeVisionAVR- ohjelmistoa koodin kirjoittamiseen ja SinaProg- ohjelmistoa koodin lataamiseen Atmega8: een USBASP-ohjelmoijan avulla.
Voit ladata nämä ohjelmistot annetuista linkeistä:
CodeVisionAVR :
SinaProg:
Ennen kuin tarkastelemme kaavioita ja koodeja, ymmärretään RF-moduulin toiminta Encoder-Decoder IC: n kanssa.
433 MHz: n RF-lähetin ja vastaanotinmoduuli
Nämä ovat lähetin- ja vastaanotinmoduuleja, joita käytämme projektissa. Se on halvin käytettävissä oleva moduuli 433 MHz: lle. Nämä moduulit hyväksyvät sarjatiedot yhdellä kanavalla.
Jos näemme moduulien tekniset tiedot, lähetin on luokiteltu 3,5-12 V: n toimintaan tulojännitteeksi ja lähetysetäisyys on 20-200 metriä. Se lähettää AM (Audio Modulation) -protokollaa 433 MHz: n taajuudella. Voimme siirtää dataa 4KB / S nopeudella 10mW teholla.
Ylemmässä kuvassa näkyy lähetinmoduulin kiinnitys. Vasemmalta oikealle nastat ovat VCC, DATA ja GND. Voimme myös lisätä antennin ja juottaa sen yllä olevassa kuvassa merkittyyn pisteeseen.
Jotta vastaanotin selityksessä, vastaanotin on luokitus 5V DC ja 4MA Lepovirta syötteenä. Vastaanottava taajuus on 433,92 MHz kanssa -105DB herkkyys.
Yllä olevasta kuvasta näemme vastaanottimen moduulin kiinnityksen. Neljä nastaa ovat vasemmalta oikealle, VCC, DATA, DATA ja GND. Nämä kaksi keskimmäistä nastaa on kytketty sisäisesti. Voimme käyttää mitä tahansa tai molempia. Mutta on hyvä käytäntö käyttää molempia melukytkimen laskemiseen.
Yhtä asiaa ei myöskään mainita lomakkeessa, moduulin keskellä olevaa muuttuvaa induktoria tai POT: ta käytetään taajuuskalibrointiin. Jos emme pystyneet vastaanottamaan lähetettyä dataa, on mahdollista, että lähetys- ja vastaanottotaajuudet eivät täsmää. Tämä on RF-piiri, ja meidän on viritettävä lähetin täydelliseen lähetettyyn taajuuspisteeseen. Samoin kuin lähettimellä, tässä moduulissa on myös antenniportti; Voimme juottaa langan kelatussa muodossa pidempään vastaanottoon.
Lähetysalue on riippuvainen lähettimeen syötetystä jännitteestä ja molempien puolien antennien pituudesta. Tässä erityisessä projektissa emme käyttäneet ulkoista antennia ja käytimme 5 V lähettimen puolella. Tarkistimme 5 metrin etäisyydellä ja se toimi täydellisesti.
Lisätietoja RF-parista RF-lähetin- ja vastaanotinpiirissä. Voit ymmärtää lisää radiotaajuuden toiminnasta tarkistamalla seuraavat projektit, joissa käytetään RF-paria:
- RF-ohjattu robotti
- IR-RF-muunninpiiri
- RF-kauko-ohjattavat LED-valot Raspberry Pi -tekniikalla
- RF-ohjatut kodinkoneet
Piirikaavio
Kytkentäkaavio RF-lähettimen puolelta
- Atmega8: n nasta D7 -> Pin13 HT12E
- Atmega8: n nasta D6 -> Pin12 HT12E
- Atmega8: n nasta D5 -> Pin11 HT12E
- Atmega8: n nasta D4 -> Pin10 HT12E
- Painike Atmegan tapaan B0.
- 1M ohmin vastus HT12E: n nastojen 15 ja 16 välillä.
- HT12E: n nasta 17 RF-lähetinmoduulin datanastaan.
- Nasta 18 HT12E - 5V.
- GND-nastat 1-9 ja nasta 14 HT12E: stä ja nasta 8 Atmegasta.
RF-vastaanottimen puolen piirikaavio
- Atmega8: n nasta D7 -> Pin13 HT12D
- Atmega8: n nasta D6 -> Pin12 HT12D
- Atmega8: n nasta D5 -> Pin11 HT12D
- Atmega8: n nasta D4 -> Pin10 HT12d
- LED Atmegan tapaan B0.
- HT12D: n nasta 14 RF-vastaanotinmoduulin datanastaan.
- 47Kohmin vastus HT12D: n nastojen 15 ja 16 välillä.
- HT12D: n GND-nasta 1–9 ja Atmegan nasta 8.
- LED-merkintä HT12D: n tapaan 17.
- 5 V: n Atmegan nastaa 7 ja HT12D: n nastaa 18.
Projektin luominen Atmega 8: lle CodeVisionin avulla
Kun olet asentanut nämä ohjelmistot, luo projekti ja kirjoita koodi seuraavasti:
Vaihe 1. Avaa CodeVision Napsauta Tiedosto -> Uusi -> Projekti . Vahvistusvalintaikkuna tulee näkyviin. Napsauta Kyllä
Vaihe 2. CodeWizard avautuu. Napsauta ensimmäistä vaihtoehtoa eli AT90 ja napsauta OK.
Vaihe 3. Valitse mikrokontrollerisiru, tässä otamme Atmega8: n kuvan mukaisesti.
Vaihe 4: - Napsauta Portit. On lähetin osa, Painike on meidän tulo ja 4 tiedot linjat ovat ulostulo. Joten meidän on alustettava 4 nastaa Atmegaa tuotoksena. Napsauta Port D. Tee bitit 7, 6, 5 ja 4 ulos napsauttamalla sitä.
Vaihe 5: - Napsauta Ohjelma -> Luo, tallenna ja poistu . Nyt yli puolet työstämme on valmis
Vaihe 6: - Tee uusi kansio työpöydälle niin, että tiedostomme pysyvät kansiossa, muuten se hajautuu koko työpöydän ikkunaan. Nimeä kansio haluamallasi tavalla ja suosittelen, että tallennat ohjelmatiedostot samalla nimellä.
Meillä on kolme valintaikkunaa peräkkäin tiedostojen tallentamiseksi. Tee sama kahden muun valintaikkunan kanssa, jotka ilmestyvät ensimmäisen tallentamisen jälkeen.
Työtilasi näyttää tältä.
Suurin osa työstämme valmistuu ohjatun toiminnon avulla. Nyt meidän on kirjoitettava vain muutama rivi koodia lähetin- ja vastaanotinosaa varten, ja siinä kaikki.
Noudata samoja ohjeita luodaksesi tiedostoja Vastaanotin-osalle. Vastaanotinosassa vain Led on lähtö, joten tee portti B0 vähän ulospäin.
KOODI ja selitys
Kirjoitamme koodin LED: n vaihtamiseksi langattomasti RF: n avulla. Täydellinen koodi sekä Atmega lähettimessä että vastaanottimessa on tämän artikkelin lopussa.
RF-lähettimen Atmega8-koodi:
Lisää ensin delay.h- otsikkotiedosto viiveen käyttämiseksi koodissamme.
#sisältää
Tule nyt viimeisiin koodiriveihin, joista löydät jonkin aikaa silmukan. Pääkoodimme on tässä silmukassa.
In Vaikka silmukka, lähetämme 0x10 tavu PORTD kun painiketta painetaan, ja lähettää 0x20, kun painiketta ei paineta. Voit lähettää mitä tahansa arvoa.
while (1) { if (PINB.0 == 1) { PORTD = 0x10; } if (PINB.0 == 0) { PORTD = 0x20; } } }
RF-vastaanottimen Atmega- koodi
Ilmoita ensin muuttujat tyhjän päätoiminnon yläpuolella tulevien merkkien tallentamiseksi RF-moduulista.
#sisältää
Tule nyt taas silmukkaan. Tämän silmukan, tallentamaan saapuvat tavua char muuttuja tavu ja tarkista, onko tuleva tavu on sama kuin me kirjoittaa meidän lähetinosa. Jos tavut ovat samat, tee PortB.0 korkeaksi ja ota EI PORTB.0: sta LED: n vaihtamiseksi.
while (1) { tavu = PIND; jos (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; viive_ms (1000); }}}
Rakenna projekti
Koodimme on valmis. Nyt meidän on rakennettava projekti . Napsauta kohtaa Rakenna projektikuvake kuvan osoittamalla tavalla.
Projektin rakentamisen jälkeen HEX-tiedosto luodaan Debug-> Exe- kansioon, joka löytyy kansiosta, jonka olet aiemmin luonut projektin tallentamiseksi. Käytämme tätä HEX-tiedostoa ladataksesi Atmega8: een käyttäen Sinaprog-ohjelmistoa.
Lataa koodi Atmega8: een
Yhdistä piirit annetun kaavion mukaisesti ohjelmoimaan Atmega8. Liitäntä FRC-kaapelin toisella puolella USBASP-ohjelmoijaan ja toinen puoli yhdistetään mikro-ohjaimen SPI-nastoihin alla kuvatulla tavalla:
- FRC-naarasliittimen nasta 1 -> Nasta 17, Atmega8: n MOSI
- Tappi 2 kytketty atmega8: n Vcc: hen eli nasta 7
- Tappi 5 kytketty atmega8: n nollaamiseen eli nasta 1
- Tappi 7 kytketty atmega8: n SCK: han eli nasta 19
- Tappi 9 kytketty atmega8: n MISO: han eli nasta 18
- Tappi 8 kytketty atmega8: n GND: hen eli nasta 8
Liitä jäljellä olevat osat leipälaudalle piirikaavion mukaisesti ja avaa Sinaprog.
Lähetämme yllä luodun Hex-tiedoston Sinaprogin avulla, joten avaa se ja valitse avattavasta Laite-valikosta Atmega8. Valitse HEX-tiedosto Debug-> Exe- kansiosta kuvan osoittamalla tavalla.
Napsauta nyt Ohjelma.
Olet valmis ja mikrokontrolleri on ohjelmoitu. Ohjelmoi toinen Atmega vastaanottimen puolella samoilla vaiheilla.
Täydellinen koodi ja esittelyvideo on annettu alla.