- Komponen Diperlukan
- Perisian Yang Digunakan
- Modul Pemancar dan Penerima RF 433MHz
- Rajah Litar
- Membuat Projek untuk Atmega 8 menggunakan CodeVision
- KOD dan Penjelasan
- Muat naik kod ke Atmega8
Membuat projek kami tanpa wayar selalu menjadikannya kelihatan keren dan juga memperluas jangkauan di mana ia dapat dikendalikan. Bermula dari menggunakan LED IR biasa untuk kawalan tanpa wayar jarak pendek hingga ESP8266 untuk kawalan HTTP di seluruh dunia, terdapat banyak cara untuk mengawal sesuatu tanpa wayar. Dalam projek ini kita belajar bagaimana membina projek tanpa wayar menggunakan modul RF 433 MHz dan mikrokontroler AVR.
Dalam projek ini kami melakukan perkara berikut: -
- Kami menggunakan Atmega8 untuk pemancar RF dan Atmega8 untuk bahagian Penerima RF.
- Kami antara muka LED dan Tombol Tekan dengan mikrokontroler Atmega8.
- Di sisi pemancar, kami Memadankan Tombol Tekan dengan Atmega dan menghantar data. Di sisi penerima, kami akan menerima data tanpa wayar dan menunjukkan output pada LED.
- Kami menggunakan IC pengekod dan penyahkod untuk menghantar data 4 bit.
- Kekerapan Penerimaan ialah 433Mhz menggunakan modul RF TX-RX murah yang terdapat di pasaran.
Komponen Diperlukan
- Atmega8 AVR Mikrokontroler (2)
- Pengaturcara USBASP
- Kabel FRC 10-pin
- Papan roti (2)
- LED (2)
- Butang tekan (1)
- Pasangan HT12D dan HT12E
- Modul RF RX-TX
- Perintang (10k, 47k, 1M)
- Wayar Pelompat
- Bekalan kuasa 5V
Perisian Yang Digunakan
Kami menggunakan perisian CodeVisionAVR untuk menulis kod kami dan perisian SinaProg untuk memuat naik kod kami ke Atmega8 menggunakan pengaturcara USBASP.
Anda boleh memuat turun perisian ini dari pautan yang diberikan:
CodeVisionAVR :
SinaProg:
Sebelum memasuki skema dan kod, mari kita fahami cara kerja modul RF dengan IC Encoder-Decoder.
Modul Pemancar dan Penerima RF 433MHz
Itu adalah modul pemancar dan penerima yang kami gunakan dalam projek. Ia adalah modul termurah yang tersedia untuk 433 MHz. Modul ini menerima data bersiri dalam satu saluran.
Sekiranya kita melihat spesifikasi modul, pemancar dinilai untuk operasi 3.5-12V sebagai voltan masukan dan jarak penghantaran adalah 20-200 meter. Ia menghantar dalam protokol AM (Modulasi Audio) pada frekuensi 433 MHz. Kami dapat memindahkan data pada kelajuan 4KB / S dengan kuasa 10mW.
Pada gambar atas kita dapat melihat pin keluar modul Pemancar. Dari kiri ke kanan pin adalah VCC, DATA dan GND. Kami juga dapat menambahkan antena dan menyoldernya pada titik yang ditunjukkan dalam gambar di atas.
Untuk spesifikasi Penerima, Penerima mempunyai penilaian arus 5V dc dan 4MA Quiescent sebagai input. Frekuensi penerimaan adalah 433.92 MHz dengan kepekaan -105DB.
Pada gambar di atas kita dapat melihat pin-out modul penerima. Empat pin adalah dari Kiri ke kanan, VCC, DATA, DATA dan GND. Dua pin tengah itu dihubungkan secara dalaman. Kita boleh menggunakan salah satu atau kedua-duanya. Tetapi adalah amalan yang baik untuk menggunakan kedua-duanya untuk menurunkan gandingan bunyi.
Juga, satu perkara tidak disebutkan dalam lembar data, induktor pemboleh ubah atau POT di tengah modul digunakan untuk penentukuran frekuensi. Sekiranya kita tidak dapat menerima data yang dikirimkan, ada kemungkinan frekuensi pengiriman dan penerimaan tidak sesuai. Ini adalah litar RF dan kita perlu menyetel pemancar pada titik frekuensi pemancaran yang sempurna. Juga, seperti pemancar, modul ini juga mempunyai port Antena; kita boleh menyolder wayar dalam bentuk melingkar untuk penerimaan yang lebih lama.
Julat transmisi bergantung pada voltan yang diberikan ke Pemancar dan panjang antena di kedua sisi. Untuk projek khusus ini, kami tidak menggunakan antena luaran dan menggunakan 5V di bahagian pemancar. Kami memeriksa dengan jarak 5 meter dan ia berfungsi dengan sempurna.
Ketahui lebih lanjut mengenai pasangan RF di Litar Pemancar dan Penerima RF. Anda boleh memahami lebih lanjut mengenai kerja RF dengan memeriksa projek berikut yang menggunakan pasangan RF:
- Robot Terkawal RF
- Litar Penukar IR ke RF
- LED Kawalan Jauh RF Menggunakan Raspberry Pi
- Peralatan Rumah Terkawal RF
Rajah Litar
Diagram Litar untuk sisi Pemancar RF
- Pin D7 dari atmega8 -> Pin13 HT12E
- Pin D6 dari atmega8 -> Pin12 HT12E
- Pin D5 dari atmega8 -> Pin11 HT12E
- Pin D4 dari atmega8 -> Pin10 HT12E
- Tekan butang ke Pin B0 dari Atmega.
- Perintang 1M-ohm antara pin15 dan 16 HT12E.
- Pin17 dari HT12E ke pin data modul pemancar RF.
- Pin 18 dari HT12E hingga 5V.
- Pin GND 1-9 dan Pin 14 dari HT12E dan Pin 8 dari Atmega.
Diagram Litar untuk Bahagian Penerima RF
- Pin D7 dari atmega8 -> Pin13 HT12D
- Pin D6 dari atmega8 -> Pin12 HT12D
- Pin D5 dari atmega8 -> Pin11 HT12D
- Pin D4 dari atmega8 -> Pin10 HT12d
- LED ke Pin B0 dari Atmega.
- Pin14 HT12D ke pin data modul penerima RF.
- Perintang 47Kohm antara pin15 dan 16 HT12D.
- Pin GND 1-9 dari HT12D dan Pin 8 dari Atmega.
- LED ke pin 17 dari HT12D.
- 5V untuk pin 7 Atmega dan pin 18 HT12D.
Membuat Projek untuk Atmega 8 menggunakan CodeVision
Setelah memasang perisian ini ikuti langkah-langkah berikut untuk membuat projek dan menulis kod:
Langkah 1. Buka CodeVision Klik pada Fail -> Baru -> Projek . Kotak Dialog Pengesahan akan muncul. Klik Ya
Langkah 2. CodeWizard akan dibuka. Klik pada pilihan pertama iaitu AT90 , dan klik OK.
Langkah 3. Pilih cip mikrokontroler anda, di sini kita akan mengambil Atmega8 seperti yang ditunjukkan.
Langkah 4: - Klik pada Port. Di bahagian Pemancar, Pushbutton adalah input kami dan 4 baris data adalah output. Oleh itu, kita harus memulakan 4 pin Atmega sebagai output. Klik pada Port D. Buat Bit 7, 6, 5 dan 4 sebagai keluar dengan mengklik padanya.
Langkah 5: - Klik Program -> Hasilkan, Simpan dan Keluar . Kini, lebih daripada separuh kerja kita selesai
Langkah 6: - Buat folder Baru di desktop, supaya fail kita tetap dalam folder jika tidak, ia akan tersebar di seluruh tetingkap desktop. Namakan folder anda seperti yang anda mahukan dan saya cadangkan gunakan nama yang sama untuk menyimpan fail program.
Kami akan mempunyai tiga kotak dialog satu demi satu untuk menyimpan fail. Lakukan perkara yang sama dengan dua kotak dialog lain yang akan muncul setelah anda menyimpan yang pertama.
Sekarang, ruang kerja anda kelihatan seperti ini.
Sebilangan besar kerja kami diselesaikan dengan bantuan Ahli Sihir. Sekarang, kita hanya perlu menulis beberapa baris kod untuk bahagian pemancar dan penerima dan Itu sahaja…
Ikuti langkah yang sama untuk membuat fail untuk bahagian Penerima. Di bahagian penerima, hanya Led sahaja keluaran kami sehingga menjadikan Port B0 sedikit keluar.
KOD dan Penjelasan
Kami akan menulis kod untuk menukar LED secara wayarles menggunakan RF. Kod lengkap untuk kedua-dua sisi Atmega di pemancar dan Penerima diberikan pada akhir artikel ini.
Kod Atmega8 untuk Pemancar RF:
Pertama masukkan fail header delay.h untuk menggunakan kelewatan dalam kod kami.
#sertakan
Sekarang, sampai ke baris terakhir kod di mana anda akan menemui gelung sementara . Kod utama kami akan berada di gelung ini.
Dalam loop sementara , kami akan menghantar bait 0x10 ke PORTD apabila butang ditekan dan, akan menghantar 0x20 apabila butang tidak ditekan. Anda boleh menggunakan sebarang nilai untuk menghantar.
sementara (1) { if (PINB.0 == 1) { PORTD = 0x10; } jika (PINB.0 == 0) { PORTD = 0x20; } } }
Kod Atmega untuk Penerima RF
Mula-mula menyatakan pemboleh ubah di atas kekosongan fungsi utama untuk menyimpan watak masuk dari modul RF.
#sertakan
Sekarang datang ke gelung sementara . Dalam gelung ini, simpan bait masuk ke bait pemboleh ubah char dan periksa sama ada bait masuk sama seperti yang kita tulis di bahagian pemancar kita. Sekiranya bait sama, menjadikan PortB.0 tinggi dan TIDAK mengambil PORTB.0 untuk menukar LED.
sementara (1) { byte = PIND; jika (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; kelewatan_ms (1000); }}}
Bina Projek
Kod kami selesai. Sekarang, kita mesti Bina projek kita . Klik pada ikon Bina projek seperti yang ditunjukkan.
Setelah membina projek, fail HEX dihasilkan dalam folder Debug-> Exe yang boleh didapati di folder yang telah anda buat sebelumnya untuk menyimpan projek anda. Kami akan menggunakan fail HEX ini untuk memuat naik di Atmega8 menggunakan perisian Sinaprog.
Muat naik kod ke Atmega8
Sambungkan litar anda mengikut gambarajah yang diberikan untuk program Atmega8. Sambungkan satu sisi kabel FRC ke pengaturcara USBASP dan bahagian lain akan disambungkan ke pin mikrokontroler SPI seperti yang dijelaskan di bawah:
- Pin1 penyambung wanita FRC -> Pin 17, MOSI Atmega8
- Pin 2 disambungkan ke Vcc atmega8 iaitu Pin 7
- Pin 5 disambungkan ke Reset atmega8 iaitu Pin 1
- Pin 7 disambungkan ke SCK atmega8 iaitu Pin 19
- Pin 9 disambungkan ke MISO atmega8 iaitu Pin 18
- Pin 8 disambungkan ke GND atmega8 iaitu Pin 8
Sambungkan komponen yang tinggal di papan roti seperti rajah litar dan buka Sinaprog.
Kami akan memuat naik fail Hex yang dihasilkan di atas menggunakan Sinaprog, jadi buka dan Pilih Atmega8 dari menu lungsur Peranti. Pilih fail HEX dari folder Debug-> Exe seperti yang ditunjukkan.
Sekarang, Klik Program.
Anda selesai dan Mikrokontroler anda diprogramkan. Gunakan langkah yang sama untuk memprogram Atmega lain di bahagian penerima.
Video kod dan demonstrasi lengkap diberikan di bawah.