- Komponen Diperlukan
- Software yang Digunakan
- Modul Pemancar dan Penerima RF 433MHz
- Diagram Sirkuit
- Membuat Proyek untuk Atmega 8 menggunakan CodeVision
- KODE dan Penjelasan
- Unggah kode ke Atmega8
Menjadikan proyek kami Nirkabel selalu membuatnya terlihat keren dan juga memperluas jangkauan yang dapat dikontrolnya. Mulai dari menggunakan LED IR normal untuk kontrol nirkabel jarak pendek hingga ESP8266 untuk kontrol HTTP di seluruh dunia, ada banyak cara untuk mengontrol sesuatu secara nirkabel. Dalam proyek ini kita belajar bagaimana membangun proyek nirkabel menggunakan modul RF 433 MHz dan mikrokontroler AVR.
Dalam proyek ini kami melakukan hal-hal berikut: -
- Kami menggunakan Atmega8 untuk Pemancar RF dan Atmega8 untuk bagian Penerima RF.
- Kami menghubungkan LED dan tombol tekan dengan mikrokontroler Atmega8.
- Di sisi pemancar, kami Menghubungkan Tombol Tekan dengan Atmega dan mengirimkan data. Di sisi penerima, kami akan menerima data secara nirkabel dan menampilkan output pada LED.
- Kami menggunakan IC encoder dan decoder untuk mengirimkan data 4 bit.
- Frekuensi Penerimaan adalah 433Mhz menggunakan modul RF TX-RX murah yang tersedia di pasaran.
Komponen Diperlukan
- Mikrokontroler AVR Atmega8 (2)
- Pemrogram USBASP
- Kabel FRC 10-pin
- Papan roti (2)
- LED (2)
- Tombol tekan (1)
- Pasangan HT12D dan HT12E
- Modul RF RX-TX
- Resistor (10k, 47k, 1M)
- Kabel Jumper
- Catu daya 5V
Software yang Digunakan
Kami menggunakan perangkat lunak CodeVisionAVR untuk menulis kode kami dan perangkat lunak SinaProg untuk mengunggah kode kami ke Atmega8 menggunakan programmer USBASP.
Anda dapat mengunduh perangkat lunak ini dari tautan yang diberikan:
CodeVisionAVR :
SinaProg:
Sebelum masuk ke skema dan kodenya, mari kita pahami cara kerja modul RF dengan IC Encoder-Decoder.
Modul Pemancar dan Penerima RF 433MHz
Itu adalah modul pemancar dan penerima yang kami gunakan dalam proyek ini. Ini adalah modul termurah yang tersedia untuk 433 MHz. Modul ini menerima data serial dalam satu saluran.
Jika kita melihat spesifikasi modul, pemancar diberi nilai untuk operasi 3,5-12V sebagai tegangan input dan jarak pancar 20-200 meter. Itu mengirimkan dalam protokol AM (Audio Modulation) pada frekuensi 433 MHz. Kami dapat mentransfer data dengan kecepatan 4KB / S dengan daya 10mW.
Pada gambar atas kita bisa melihat pin-out dari modul Transmitter. Dari kiri ke kanan pinnya adalah VCC, DATA, dan GND. Kami juga dapat menambahkan antena dan menyoldernya pada titik yang ditunjukkan pada gambar di atas.
Untuk spesifikasi Receiver, Receiver tersebut memiliki rating 5V dc dan arus diam 4MA sebagai input. Frekuensi penerimaan adalah 433,92 MHz dengan sensitivitas -105DB.
Pada gambar di atas kita bisa melihat pin-out dari modul receiver. Keempat pin tersebut adalah dari Kiri ke kanan, VCC, DATA, DATA dan GND. Dua pin tengah tersebut terhubung secara internal. Kita bisa menggunakan salah satu atau keduanya. Tetapi merupakan praktik yang baik untuk menggunakan keduanya untuk menurunkan kopling noise.
Juga, satu hal yang tidak disebutkan dalam lembar data, induktor variabel atau POT di tengah modul digunakan untuk kalibrasi frekuensi. Jika kami tidak dapat menerima data yang ditransmisikan, ada kemungkinan frekuensi pemancar dan penerima tidak cocok. Ini adalah rangkaian RF dan kita perlu menyetel pemancar pada titik frekuensi transmisi yang sempurna. Selain itu, sama seperti transmitter, modul ini juga memiliki port Antena; kita bisa menyolder kawat dalam bentuk melingkar untuk penerimaan lebih lama.
Jangkauan transmisi bergantung pada tegangan yang disuplai ke Pemancar dan panjang antena di kedua sisi. Untuk proyek khusus ini kami tidak menggunakan antena eksternal dan menggunakan 5V di sisi pemancar. Kami memeriksa dengan jarak 5 meter dan itu bekerja dengan sempurna.
Pelajari lebih lanjut tentang pasangan RF di Sirkuit Pemancar dan Penerima RF. Anda dapat memahami lebih lanjut tentang kerja RF dengan memeriksa proyek-proyek berikut yang menggunakan pasangan RF:
- Robot Kontrol RF
- Sirkuit Konverter IR ke RF
- LED RF Remote Controlled Menggunakan Raspberry Pi
- Peralatan Rumah Tangga yang Dikendalikan RF
Diagram Sirkuit
Diagram Sirkuit untuk sisi Pemancar RF
- Pin D7 dari atmega8 -> Pin13 HT12E
- Pin D6 atmega8 -> Pin12 HT12E
- Pin D5 atmega8 -> Pin11 HT12E
- Pin D4 atmega8 -> Pin10 HT12E
- Tombol tekan untuk Pin B0 dari Atmega.
- Resistor 1M-ohm antara pin15 dan 16 dari HT12E.
- Pin17 dari HT12E ke pin data modul pemancar RF.
- Pin 18 dari HT12E ke 5V.
- Pin GND 1-9 dan Pin 14 HT12E serta Pin 8 Atmega.
Diagram Sirkuit untuk Sisi Penerima RF
- Pin D7 dari atmega8 -> Pin13 HT12D
- Pin D6 atmega8 -> Pin12 HT12D
- Pin D5 atmega8 -> Pin11 HT12D
- Pin D4 atmega8 -> Pin10 HT12d
- LED ke Pin B0 dari Atmega.
- Pin14 dari HT12D ke pin data modul penerima RF.
- 47Kohm resistor antara pin15 dan 16 dari HT12D.
- Pin GND 1-9 dari HT12D dan Pin 8 dari Atmega.
- LED ke pin 17 dari HT12D.
- 5V ke pin 7 dari Atmega dan pin 18 dari HT12D.
Membuat Proyek untuk Atmega 8 menggunakan CodeVision
Setelah menginstal perangkat lunak ini, ikuti langkah-langkah di bawah ini untuk membuat proyek dan menulis kode:
LANGKAH 1. Buka CodeVision Klik File -> New -> Project . Kotak Dialog Konfirmasi akan muncul. Klik Ya
Langkah 2. CodeWizard akan terbuka. Klik pada opsi pertama yaitu AT90 , dan klik OK.
Langkah 3. Pilih chip mikrokontroler Anda, di sini kita akan mengambil Atmega8 seperti yang ditunjukkan.
Langkah 4: - Klik pada Ports. Di bagian Transmitter, Pushbutton adalah input kami dan 4 jalur data adalah output. Jadi, kita harus menginisialisasi 4 pin Atmega sebagai output. Klik pada Port D. Buatlah Bit 7, 6, 5 dan 4 dengan mengkliknya.
Langkah 5: - Klik Program -> Generate, Save and Exit . Sekarang, lebih dari separuh pekerjaan kami telah selesai
Langkah 6: - Buat folder baru di desktop agar file kita tetap ada di folder jika tidak maka akan tersebar di seluruh jendela desktop. Beri nama folder Anda sesuai keinginan dan saya sarankan gunakan nama yang sama untuk menyimpan file program.
Kami akan memiliki tiga kotak dialog satu demi satu untuk menyimpan file. Lakukan hal yang sama dengan dua kotak dialog lainnya yang akan muncul setelah Anda menyimpan yang pertama.
Sekarang, ruang kerja Anda terlihat seperti ini.
Sebagian besar pekerjaan kami diselesaikan dengan bantuan Wizard. Sekarang, kita hanya perlu menulis beberapa baris kode untuk bagian pemancar dan penerima dan Itu saja…
Ikuti langkah-langkah yang sama untuk membuat file untuk bagian Penerima. Pada bagian receiver, hanya Led yang menjadi keluaran kita jadi buatlah Port B0 sedikit keluar.
KODE dan Penjelasan
Kami akan menulis kode untuk mengaktifkan LED secara nirkabel menggunakan RF. Kode lengkap untuk Atmega di sisi pemancar dan Penerima diberikan di akhir artikel ini.
Kode Atmega8 untuk Pemancar RF:
Pertama Sertakan file header delay.h untuk menggunakan penundaan dalam kode kita.
#include
Sekarang, sampai pada baris kode terakhir di mana Anda akan menemukan while loop. Kode utama kita akan ada di loop ini.
Pada loop While , kita akan mengirimkan 0x10 byte ke PORTD ketika tombol ditekan dan, akan mengirim 0x20 jika tombol tidak ditekan. Anda dapat menggunakan nilai apa pun untuk mengirim.
sedangkan (1) { if (PINB.0 == 1) { PORTD = 0x10; } jika (PINB.0 == 0) { PORTD = 0x20; } } }
Kode Atmega untuk Penerima RF
Pertama-tama deklarasikan variabel di atas membatalkan fungsi utama untuk menyimpan karakter yang masuk dari modul RF.
#include
Sekarang sampai pada while loop. Dalam loop ini, simpan byte yang masuk ke byte variabel char dan periksa apakah byte yang masuk sama dengan yang kita tulis di bagian pemancar kita. Jika byte sama, buat PortB.0 tinggi dan BUKAN dari PORTB.0 untuk menyalakan LED.
sementara (1) { byte = PIND; jika (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; delay_ms (1000); }}}
Bangun Proyek
Kode kami selesai. Sekarang, kita harus membangun proyek kita . Klik pada Build the project icon seperti yang ditunjukkan.
Setelah membangun proyek, file HEX dibuat di folder Debug-> Exe yang dapat ditemukan di folder yang telah Anda buat sebelumnya untuk menyimpan proyek Anda. Kami akan menggunakan file HEX ini untuk mengunggah di Atmega8 menggunakan perangkat lunak Sinaprog.
Unggah kode ke Atmega8
Hubungkan sirkuit Anda sesuai dengan diagram yang diberikan untuk memprogram Atmega8. Sambungkan satu sisi kabel FRC ke programmer USBASP dan sisi lainnya akan terhubung ke pin SPI mikrokontroler seperti yang dijelaskan di bawah ini:
- Pin1 konektor FRC perempuan -> Pin 17, MOSI dari Atmega8
- Pin 2 terhubung ke Vcc dari atmega8 yaitu Pin 7
- Pin 5 terhubung ke Reset atmega8 yaitu Pin 1
- Pin 7 terhubung ke SCK atmega8 yaitu Pin 19
- Pin 9 terhubung ke MISO atmega8 yaitu Pin 18
- Pin 8 terhubung ke GND atmega8 yaitu Pin 8
Hubungkan komponen yang tersisa di papan tempat memotong roti sesuai diagram sirkuit dan buka Sinaprog.
Kami akan mengunggah file Hex yang dihasilkan di atas menggunakan Sinaprog, jadi buka dan Pilih Atmega8 dari menu drop-down Perangkat. Pilih file HEX dari folder Debug-> Exe seperti yang ditunjukkan.
Sekarang, Klik Program.
Anda selesai dan Mikrokontroler Anda diprogram. Gunakan langkah yang sama untuk memprogram Atmega lain di sisi penerima.
Kode lengkap dan Video demonstrasi diberikan di bawah ini.