Daftar Isi:

Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar)
Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar)

Video: Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar)

Video: Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2: 4 Langkah (dengan Gambar)
Video: Transmitter Receiver Kit RF Module 433 315 mhz 2024, Juli
Anonim
Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2
Komunikasi Nirkabel Menggunakan Modul RF 433MHz Murah dan Mikrokontroler Pic. Bagian 2

Pada bagian pertama instruksi ini, saya mendemonstrasikan cara memprogram PIC12F1822 menggunakan MPLAB IDE dan compiler XC8, untuk mengirim string sederhana secara nirkabel menggunakan modul TX/RX 433MHz yang murah.

Modul penerima dihubungkan melalui adaptor kabel USB ke UART TTL ke PC, dan data yang diterima ditampilkan di RealTerm. Komunikasi dilakukan pada 1200 baud dan jangkauan maksimum yang dicapai adalah sekitar 20 meter melalui dinding. Pengujian saya menunjukkan bahwa untuk aplikasi yang tidak memerlukan kecepatan data tinggi dan jarak jauh, dan untuk transmisi berkelanjutan, modul ini berkinerja sangat baik.

Bagian kedua dari proyek ini mendemonstrasikan cara menambahkan mikrokontroler PIC16F887 dan modul LCD karakter 16x2 pada receiver. Selain itu, pada pemancar, protokol sederhana diikuti dengan penambahan beberapa byte preample. Byte ini diperlukan untuk modul RX untuk menyesuaikan penguatannya sebelum mendapatkan muatan yang sebenarnya. Di sisi penerima, PIC bertanggung jawab untuk mendapatkan dan memvalidasi data yang ditampilkan di layar LCD.

Langkah 1: Modifikasi Pemancar

Modifikasi Pemancar
Modifikasi Pemancar
Modifikasi Pemancar
Modifikasi Pemancar
Modifikasi Pemancar
Modifikasi Pemancar

Pada bagian pertama, pemancar mengirimkan string sederhana setiap beberapa ms menggunakan delapan bit data, bit start, dan stop bit pada 1200 bit per detik. Karena transmisi hampir terus menerus, receiver tidak kesulitan menyesuaikan penguatannya dengan data yang diterima. Pada bagian kedua, firmware dimodifikasi sehingga transmisi dilakukan setiap 2,3 detik. Ini dicapai dengan menggunakan interupsi pengatur waktu pengawas (diatur ke 2.3s) untuk membangunkan mikrokontroler, yang ditempatkan dalam mode tidur di antara setiap transmisi.

Agar penerima memiliki waktu untuk menyempurnakan penguatannya, beberapa byte pembukaan dengan waktu LO singkat "(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xfa)" dikirim sebelum data aktual. Payload kemudian ditunjukkan dengan start '&' dan stop '*' byte.

Oleh karena itu, protokol sederhana dijelaskan sebagai berikut:

(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xf8)(0Xfa)&Halo Dunia Inst!*

Selain itu, kapasitor tantalum decoupling 10uF ditambahkan antara modul RF V+ dan GND untuk menghilangkan riak yang disebabkan oleh modul peningkatan dc-dc.

Baud rate tetap sama, namun pengujian saya menunjukkan bahwa pada 2400 baud juga, transmisinya efisien.

Langkah 2: Modifikasi Penerima: Menambahkan PIC16F887 dan HD44780 LCD

Modifikasi Penerima: Menambahkan LCD PIC16F887 dan HD44780
Modifikasi Penerima: Menambahkan LCD PIC16F887 dan HD44780
Modifikasi Penerima: Menambahkan LCD PIC16F887 dan HD44780
Modifikasi Penerima: Menambahkan LCD PIC16F887 dan HD44780
Modifikasi Penerima: Menambahkan LCD PIC16F887 dan HD44780
Modifikasi Penerima: Menambahkan LCD PIC16F887 dan HD44780

Desain penerima didasarkan pada PIC16F887, tetapi Anda dapat menggunakan PIC yang berbeda dengan sedikit modifikasi. Dalam proyek saya, saya menggunakan 40 pin C ini, karena saya akan membutuhkan pin tambahan untuk proyek-proyek masa depan berdasarkan desain ini. Output modul RF dihubungkan ke pin rx UART, sedangkan lcd 16x2 karakter (HD44780) dihubungkan melalui pin PORTB b2-b7 untuk menampilkan data yang diterima.

Seperti Bagian 1, data yang diterima juga ditampilkan di RealTerm. Ini dicapai dengan menggunakan pin tx UART yang terhubung melalui adaptor kabel USB ke UART TTL ke PC.

Melihat ke firmware, ketika interupsi UART terjadi, program memeriksa apakah byte yang diterima adalah byte awal ('&'). Jika ya, ia mulai merekam byte berikutnya, hingga stop byte ditangkap ('*'). Segera setelah seluruh kalimat diperoleh, dan jika sesuai dengan protokol sederhana yang dijelaskan sebelumnya, maka dikirim ke layar lcd, serta ke port tx UART.

Sebelum menerima byte awal, penerima telah menyesuaikan penguatannya menggunakan byte pembukaan sebelumnya. Ini sangat penting untuk kelancaran pengoperasian receiver. Pemeriksaan kesalahan overrun dan pembingkaian sederhana dilakukan, namun ini hanya implementasi penanganan kesalahan UART dasar.

Dalam hal perangkat keras, beberapa bagian yang diperlukan untuk penerima:

1 x PIC16F887

1 x HD44780

1 x modul RF Rx 433Mhz

1 x 10 F kapasitor tantalum (decoupling)

Pemangkas 1 x 10 K (kecerahan font LCD)

1 x 220 1/4 W resistor (Lampu latar LCD)

1 x 1 KΩ 1/4 W

1 x Antena 433Mhz, 3dbi

Dalam praktiknya, penerima bekerja dengan sangat baik dalam jarak hingga 20 meter melalui dinding.

Langkah 3: Beberapa Referensi…

Ada banyak blog di web yang memberikan tips tentang pemrograman PIC dan pemecahan masalah selain situs web resmi Microschip. Saya menemukan yang berikut ini sangat membantu:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

Langkah 4: Kesimpulan dan Pekerjaan Masa Depan

Saya harap instruksi ini membantu Anda memahami cara menggunakan modul RF dan mikrokontroler Pic. Anda dapat menyesuaikan firmware Anda dengan kebutuhan Anda sendiri dan menyertakan CRC dan enkripsi. Jika Anda ingin membuat desain Anda lebih canggih, Anda dapat menggunakan teknologi Keeloq Microschip. Jika aplikasi Anda membutuhkan data dua arah, Anda perlu memiliki sepasang TX/RX di kedua mikrokontroler, atau Anda dapat menggunakan transceiver yang lebih canggih modul. Namun, dengan menggunakan modul 433MHz murah semacam ini, hanya komunikasi setengah dupleks yang dapat dilakukan. Selanjutnya, untuk membuat komunikasi lebih andal, Anda perlu memiliki beberapa bentuk jabat tangan antara TX dan RX.

Pada instruksi berikutnya, saya akan menunjukkan aplikasi praktis di mana sensor lingkungan dengan suhu, tekanan udara dan kelembaban ditambahkan pada pemancar. Di sini, data yang dikirimkan akan menyertakan crc dan akan memiliki enkripsi dasar.

Sensor akan menggunakan port i2c dari PIC12F1822, sedangkan implementasi pemancar dan penerima akan diekspos melalui skema dan file PCB. Terima kasih telah membaca saya!

Direkomendasikan: