- Kinakailangan ang Mga Bahagi
- Ginamit na Software
- 433MHz RF Transmitter at Receiver Module
- Diagram ng Circuit
- Lumilikha ng Proyekto para sa Atmega 8 gamit ang CodeVision
- CODE at Paliwanag
- I-upload ang code sa Atmega8
Ang paggawa ng aming mga proyekto sa Wireless ay palaging ginagawa itong mukhang cool at pinalawak din ang saklaw kung saan ito maaaring makontrol. Simula mula sa paggamit ng isang normal na IR LED para sa maikling distansya na wireless control hanggang sa isang ESP8266 para sa buong mundo na HTTP control, maraming mga paraan upang makontrol ang isang bagay nang wireless. Sa proyektong ito natututunan namin kung paano bumuo ng mga wireless na proyekto gamit ang isang 433 MHz RF module at AVR microcontroller.
Sa proyektong ito ginagawa namin ang mga sumusunod na bagay: -
- Ginagamit namin ang Atmega8 para sa RF Transmitter at Atmega8 para sa seksyon ng RF Receiver.
- Nag-iinterface kami ng isang LED at isang Pushbutton na may Atmega8 microcontrollers.
- Sa panig ng transmiter, binibigyan namin ng Interface Pushbutton ang Atmega at ihatid ang data. Sa panig ng tatanggap, makakatanggap kami ng data nang wireless at ipapakita ang output sa LED.
- Gumagamit kami ng encoder at decoder IC upang magpadala ng 4 na data.
- Ang Frequency ng Receiver ay 433Mhz gamit ang murang module ng RF TX-RX na magagamit sa merkado.
Kinakailangan ang Mga Bahagi
- Atmega8 AVR Microcontroller (2)
- Programmer ng USBASP
- 10-pin na FRC cable
- Bread board (2)
- Mga LED (2)
- Pushbutton (1)
- Pares ng HT12D at HT12E
- RX-TX RF Module
- Mga Resistor (10k, 47k, 1M)
- Jumper Wires
- 5V supply ng kuryente
Ginamit na Software
Gumagamit kami ng CodeVisionAVR software para sa pagsusulat ng aming code at SinaProg software para sa pag-upload ng aming code sa Atmega8 gamit ang USBASP programmer.
Maaari mong i-download ang mga softwares na ito mula sa mga naibigay na link:
CodeVisionAVR :
SinaProg:
Bago pumunta sa mga eskematiko at code, unawain natin ang pagtatrabaho ng module ng RF sa mga Encoder-Decoder ICs.
433MHz RF Transmitter at Receiver Module
Iyon ang mga module ng transmiter at tatanggap na ginagamit namin sa proyekto. Ito ang pinakamurang module na magagamit para sa 433 MHz Ang mga modyul na ito ay tumatanggap ng serial data sa isang channel.
Kung nakita namin ang mga pagtutukoy ng mga module, ang transmitter ay na-rate para sa 3.5-12V na operasyon bilang input boltahe at ang distansya ng paghahatid ay 20-200 metro. Nagpapadala ito sa AM (Audio Modulation) na protocol sa dalas ng 433 MHz. Maaari naming ilipat ang data sa isang bilis ng 4KB / S na may 10mW lakas.
Sa itaas na imahe maaari nating makita ang pin-out ng module ng Transmitter. Mula kaliwa hanggang kanan ang mga pin ay VCC, DATA at GND. Maaari din naming idagdag ang antena at solder ito sa puntong na-denote sa imahe sa itaas.
Para sa detalye ng Receiver, ang Receiver ay mayroong rating na 5V dc at 4MA Quiescent kasalukuyang bilang input. Ang dalas ng pagtanggap ay 433.92 MHz na may isang -105DB pagiging sensitibo.
Sa imahe sa itaas maaari nating makita ang pin-out ng module ng tatanggap. Ang apat na mga pin ay mula Kaliwa hanggang kanan, VCC, DATA, DATA at GND. Ang mga gitnang dalawang mga pin ay konektado sa loob. Maaari kaming gumamit ng anuman o pareho. Ngunit ito ay isang mahusay na kasanayan na gamitin ang pareho para sa pagbaba ng pagkabit ng ingay.
Gayundin, ang isang bagay ay hindi nabanggit sa datasheet, ang variable inductor o POT sa gitna ng module ay ginagamit para sa pagkakalibrate ng dalas. Kung hindi namin matanggap ang naihatid na data, may mga posibilidad na hindi maitugma ang paghahatid at pagtanggap ng mga frequency. Ito ay isang RF circuit at kailangan nating ibagay ang transmitter sa perpektong naihatid na punto ng dalas. Gayundin, kapareho ng transmiter, ang modyul na ito ay mayroon ding Antenna port; maaari kaming maghinang wire sa coiled form para sa mas mahabang pagtanggap.
Ang saklaw ng paghahatid ay maaasahan sa boltahe na ibinigay sa Transmitter at sa haba ng mga antena sa magkabilang panig. Para sa partikular na proyekto na ito hindi kami gumamit ng panlabas na antena at gumamit ng 5V sa panig ng transmiter. Nag-check kami na may 5 metro ang distansya at ito ay ganap na gumana.
Matuto nang higit pa tungkol sa pares ng RF sa RF Transmitter at Receiver Circuit. Maaari mong maunawaan ang tungkol sa pagtatrabaho ng RF sa pamamagitan ng pag-check sa mga sumusunod na proyekto na gumagamit ng RF pares:
- Kinokontrol na Robot ng RF
- IR sa RF Converter Circuit
- RF Remote Controlled LEDs Gamit ang Raspberry Pi
- Mga Kinokontrol na RF na Home Appliances
Diagram ng Circuit
Circuit Diagram para sa panig ng RF Transmitter
- Pin D7 ng atmega8 -> Pin13 HT12E
- Pin D6 ng atmega8 -> Pin12 HT12E
- Pin D5 ng atmega8 -> Pin11 HT12E
- I-pin ang D4 ng atmega8 -> Pin10 HT12E
- Pushbutton sa Pin B0 ng Atmega.
- Ang resistor ng 1M-ohm sa pagitan ng pin15 at 16 ng HT12E.
- Pin17 ng HT12E sa pin ng data ng module ng RF transmitter.
- I-pin ang 18 ng HT12E hanggang 5V.
- Ang GND pin 1-9 at Pin 14 ng HT12E at Pin 8 ng Atmega.
Circuit Diagram para sa RF Receiver Side
- I-pin ang D7 ng atmega8 -> Pin13 HT12D
- Pin D6 ng atmega8 -> Pin12 HT12D
- I-pin ang D5 ng atmega8 -> Pin11 HT12D
- I-pin ang D4 ng atmega8 -> Pin10 HT12d
- LED to Pin B0 ng Atmega.
- Pin14 ng HT12D sa pin ng data ng module ng RF receiver.
- 47Kohm risistor sa pagitan ng pin15 at 16 ng HT12D.
- Ang GND pin 1-9 ng HT12D at Pin 8 ng Atmega.
- LED upang i-pin ang 17 ng HT12D.
- 5V sa pin 7 ng Atmega at pin 18 ng HT12D.
Lumilikha ng Proyekto para sa Atmega 8 gamit ang CodeVision
Matapos i-install ang mga softwares na ito sundin ang mga hakbang sa ibaba upang lumikha ng proyekto at pagsulat ng code:
Hakbang 1. Buksan ang CodeVision Mag-click sa File -> Bago -> Project . Lilitaw ang kahon ng Kumpirmasyon ng Dialog. Mag-click sa Oo
Hakbang 2. Magbubukas ang CodeWizard. Mag-click sa unang pagpipilian ie AT90 , at i-click ang OK.
Hakbang 3. Piliin ang iyong microcontroller chip, narito kukuha kami ng Atmega8 tulad ng ipinakita.
Hakbang 4: - Mag - click sa Mga Port. Sa bahagi ng Transmitter, ang Pushbutton ang aming input at 4 na linya ng data ang output. Kaya, kailangan nating simulan ang 4 na mga pin ng Atmega bilang output. Mag-click sa Port D. Gumawa ng Bit 7, 6, 5 at 4 tulad ng pag-click dito.
Hakbang 5: - Mag - click sa Program -> Bumuo, Makatipid at Lumabas . Ngayon, higit sa kalahati ng aming trabaho ay nakumpleto
Hakbang 6: - Gumawa ng isang Bagong folder sa desktop nang sa gayon, na ang aming mga file ay mananatili sa folder kung hindi man ay makakalat sa buong window ng desktop. Pangalanan ang iyong folder ayon sa gusto mo at iminumungkahi ko na gamitin ang parehong pangalan upang i-save ang mga file ng programa.
Magkakaroon kami ng tatlong mga kahon ng diyalogo nang sunud-sunod upang makatipid ng mga file. Gawin ang pareho sa iba pang dalawang mga kahon ng pag-uusap na lilitaw pagkatapos mong mai-save ang una.
Ngayon, ganito ang hitsura ng iyong workspace.
Ang aming karamihan sa gawain ay nakumpleto sa tulong ng Wizard. Ngayon, kailangan naming magsulat lamang ng ilang mga linya ng code para sa bahagi ng transmitter at receiver at Iyon lang…
Sundin ang parehong mga hakbang upang lumikha ng mga file para sa bahagi ng Receiver. Sa bahagi ng tatanggap, ang Led lamang ang aming output kaya gawin ang Port B0 na medyo lumabas.
CODE at Paliwanag
Susulat kami ng code para sa pag- toggle ng LED nang wireless gamit ang RF. Ang kumpletong code para sa parehong panig ng Atmega sa transmitter at Receiver ay ibinibigay sa pagtatapos ng artikulong ito.
Atmega8 code para sa RF Transmitter:
Una Isama ang file ng header na delay.h upang magamit ang pagkaantala sa aming code.
# isama
Ngayon, dumating sa huling mga linya ng code kung saan makakahanap ka ng isang habang loop. Ang aming pangunahing code ay nasa loop na ito.
Sa Habang loop, magpapadala kami ng 0x10 byte sa PORTD kapag ang pindutan ay pinindot at, magpapadala ng 0x20 kapag ang pindutan ay hindi pinindot. Maaari mong gamitin ang anumang halaga upang maipadala.
habang (1) { kung (PINB.0 == 1) { PORTD = 0x10; } kung (PINB.0 == 0) { PORTD = 0x20; } } }
Atmega code para sa RF Receiver
Una ideklara ang mga variable sa itaas na walang bisa ang pangunahing pag- andar para sa pagtatago ng papasok na character mula sa RF module.
# isama
Ngayon dumating sa habang loop. Sa loop na ito, mag-imbak ng mga papasok na byte sa isang char variable byte at suriin kung ang papasok na byte ay pareho sa pagsusulat namin sa aming bahagi ng transmitter. Kung ang mga byte ay pareho, gawing mataas ang PortB.0 at kumuha ng HINDI sa PORTB.0 para sa pag-toggle ng LED.
habang (1) { byte = PIND; kung (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; delay_ms (1000); }}}
Buuin ang Proyekto
Nakumpleto ang aming code. Ngayon, kailangan nating Itayo ang aming proyekto . Mag-click sa Bumuo ng icon ng proyekto tulad ng ipinakita.
Matapos itaguyod ang proyekto, isang HEX file ang nabuo sa Debug-> Exe folder na matatagpuan sa folder na nagawa mo dati upang mai-save ang iyong proyekto. Gagamitin namin ang HEX file na ito upang mai-upload sa Atmega8 gamit ang Sinaprog software.
I-upload ang code sa Atmega8
Ikonekta ang iyong mga circuit ayon sa ibinigay na diagram sa program na Atmega8. I-hookup ang isang gilid ng FRC cable sa USBASP programmer at iba pang panig ay kumokonekta sa SPI pin ng microcontroller tulad ng inilarawan sa ibaba:
- Pin1 ng FRC babaeng konektor -> Pin 17, MOSI ng Atmega8
- Ang Pin 2 ay konektado sa Vcc ng atmega8 ie Pin 7
- Ang Pin 5 ay konektado sa I-reset ang atmega8 ie Pin 1
- Ang Pin 7 ay konektado sa SCK ng atmega8 ie Pin 19
- Ang Pin 9 ay konektado sa MISO ng atmega8 ie Pin 18
- Ang Pin 8 ay konektado sa GND ng atmega8 ie Pin 8
Ikonekta ang natitirang mga bahagi sa breadboard ayon sa bawat diagram ng circuit at buksan ang Sinaprog.
I-upload namin ang nabuong Hex file sa itaas gamit ang Sinaprog, kaya buksan ito at Piliin ang Atmega8 mula sa drop down na menu ng Device. Piliin ang HEX file mula sa Debug-> Exe folder tulad ng ipinakita.
Ngayon, Mag-click sa Program.
Tapos ka na at na-program ang iyong Microcontroller. Gumamit ng parehong mga hakbang upang mag-program ng isa pang Atmega sa panig ng tatanggap.
Kumpletong code at pagpapakita Ang video ay ibinibigay sa ibaba.