Daftar Isi:

ATtiny85 RF Remote Control: 3 Langkah
ATtiny85 RF Remote Control: 3 Langkah

Video: ATtiny85 RF Remote Control: 3 Langkah

Video: ATtiny85 RF Remote Control: 3 Langkah
Video: ATtiny85 simplest radio controller - 4 digital channels 2024, Juli
Anonim
ATtiny85 RF Remote Control
ATtiny85 RF Remote Control

CATATAN: "Permainan Petak umpet Virtual" saya yang dapat diinstruksikan menunjukkan cara menggunakan remote jenis ini dengan modul RXC6 yang secara otomatis menerjemahkan pesan.

Seperti yang saya sebutkan di Instructable sebelumnya, saya baru-baru ini mulai bermain dengan beberapa chip ATtiny85. Proyek awal yang saya pikirkan adalah membuat remote control RF yang dapat beroperasi dengan baterai koin. Saya harus menggunakan chip mentah karena tidak ada Arduino yang saya miliki yang dapat memenuhi kebutuhan akan daya yang sangat rendah dan ukuran yang relatif kecil. LilyPad yang dimodifikasi mendekati tetapi chip adalah jawaban yang lebih baik. Idenya bukan untuk menduplikasi remote yang ada, tetapi untuk mendemonstrasikan bagaimana Anda dapat membuat perangkat pemancar dan penerima Anda sendiri. Selain menjadi proyek pembelajaran yang menyenangkan, ini juga memungkinkan Anda untuk membuat kombinasi kode "rahasia" Anda sendiri. Saya menempatkan "rahasia" dalam tanda kutip karena cukup mudah untuk memecahkan kode sederhana ini.

Langkah 1: Format Pesan RF

Format Pesan RF
Format Pesan RF

Untuk proyek ini saya memilih untuk mereplikasi sinyal untuk salah satu sakelar nirkabel Etekcity RF saya (lihat Instruksi saya pada modul tersebut). Saya melakukan itu karena saya dapat memverifikasi bahwa pemancar saya berfungsi dengan penerima Etekcity dan bahwa penerima saya berfungsi dengan remote Etekcity. Saya juga tahu persis apa kode dan format yang benar untuk perangkat itu karena saya menangkapnya sebelumnya. Lihat Instruksi "Arduino RF Sensor Decoder" saya untuk sketsa pengambilan kode.

Kode dan format untuk outlet Etekcity sangat khas dari perangkat RF murah. Saya memiliki perangkat keamanan murah yang menggunakan format yang sangat mirip dengan hanya beberapa variasi waktu. Panjang pesan adalah 24 bit yang nyaman dengan bit awal yang panjang dan bit stop yang pendek. Anda dapat dengan mudah memodifikasi kode untuk menambahkan lebih banyak byte data dan untuk mengubah waktu sinkronisasi dan bit data. Sekali lagi, sketsa ini hanyalah template awal.

Langkah 2: Perangkat Keras

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras

Pemancar bekerja dengan baterai koin (2032) sehingga konsumsi daya yang rendah adalah kuncinya. Sebagian besar dicapai dalam perangkat lunak tetapi dibantu oleh fakta bahwa ATtiny85 biasanya berjalan pada jam internal 1-MHz. Aturannya adalah bahwa frekuensi clock yang lebih rendah membutuhkan daya yang lebih sedikit dan 1-MHz sangat cocok untuk logika pemancar.

Modul pemancar RF aktual yang ingin saya gunakan adalah FS1000A yang tersedia secara umum. Muncul dalam versi 433-MHz dan 315-MHz. Perangkat lunak tidak peduli yang mana yang Anda gunakan, tetapi Anda perlu memastikan bahwa papan penerima beroperasi pada frekuensi yang sama. Sebagian besar proyek saya menggunakan perangkat 433-MHz karena itulah yang digunakan oleh berbagai perangkat nirkabel murah yang saya kumpulkan. Tata letak papan pemancar yang ditunjukkan pada gambar sangat cocok dengan botol pil tua. Itu tidak cantik tapi cukup bagus untuk pembuktian konsep.

Penerima berada pada papan tempat memotong roti tanpa solder karena satu-satunya tujuannya adalah untuk menunjukkan cara menerima sinyal dan cara menghidupkan/mematikan sesuatu berdasarkan kode yang diterima. Ini menggunakan LED untuk menunjukkan status hidup/mati tetapi Anda dapat menggantinya dengan driver relai, dll. Arduino apa pun dapat digunakan untuk penerima karena tidak perlu kehabisan baterai. Jika ukuran masih menjadi pertimbangan Anda dapat menggunakan chip ATtiny85 lain. Kuncinya adalah ATtiny85 harus berjalan pada 8-MHz di receiver. Lihat Instruksi ATtiny85 saya sebelumnya untuk sketsa sederhana yang memverifikasi bahwa Anda telah berhasil mengubah jam internal menjadi 8-MHz. Di akhir Instruksi saya tentang decoding sensor, saya menyertakan versi Arduino Nano dari perangkat lunak penerima. Ini identik dengan versi ATtiny85 yang disertakan di sini kecuali untuk beberapa perbedaan register chip.

Seperti yang saya jelaskan dalam Instruksi RF saya sebelumnya, saya lebih suka menggunakan receiver seperti RXB6 biasa. Ini adalah penerima super-heterodyne yang bekerja jauh lebih baik daripada penerima super-regeneratif yang biasanya dibundel dengan pemancar FS1000A.

Modul pemancar dan penerima bekerja lebih baik dengan antena yang tepat tetapi sering kali tidak disertakan. Anda dapat membelinya (mendapatkan frekuensi yang benar) atau Anda dapat membuatnya sendiri. Pada 433-MHz, panjang kanan sekitar 16 cm untuk antena kabel lurus. Untuk membuat yang melingkar, ambil sekitar 16 cm kawat inti padat berinsulasi dan bungkus di sekitar sesuatu seperti mata bor 5/32 inci dalam satu lapisan. Lepaskan insulasi dari bagian lurus pendek di salah satu ujungnya dan sambungkan ke papan pemancar/penerima Anda. Saya telah menemukan bahwa kabel dari kabel Ethernet bekas berfungsi dengan baik untuk antena. Papan pemancar biasanya memiliki tempat untuk menyolder antena tetapi papan penerima mungkin hanya memiliki pin (seperti RXB6). Pastikan saja koneksinya aman jika Anda tidak menyoldernya.

Langkah 3: Perangkat Lunak

Perangkat lunak pemancar menggunakan teknik umum untuk menempatkan chip ke mode tidur. Dalam mode itu ia menarik arus kurang dari 0.2ua. Input sakelar (D1-D4) memiliki resistor pull-up internal yang dihidupkan tetapi mereka tidak menarik arus apa pun sampai sakelar ditekan. Input dikonfigurasi untuk interupsi-on-change (IOC). Ketika sakelar ditekan, interupsi dihasilkan dan memaksa chip untuk bangun. Handler interupsi melakukan penundaan sekitar 48 mdtk untuk memungkinkan sakelar melakukan debounce. Pemeriksaan kemudian dilakukan untuk menentukan sakelar mana yang ditekan dan rutinitas yang sesuai dipanggil. Pesan yang dikirimkan diulang beberapa kali (saya memilih 5 kali). Ini tipikal pemancar komersial karena ada begitu banyak lalu lintas RF pada 433-MHz dan 315-MHz di luar sana. Pesan yang diulang membantu memastikan bahwa setidaknya satu pesan sampai ke penerima.

Sinkronisasi dan waktu bit ditentukan di bagian depan perangkat lunak pemancar tetapi byte data disematkan di masing-masing dari empat rutinitas tombol. Mereka jelas dan mudah diubah dan menambahkan byte untuk membuat pesan yang lebih panjang juga mudah. Semua definisi yang sama disertakan dalam perangkat lunak penerima serta definisi byte data. Jika Anda menambahkan byte data ke pesan Anda, Anda perlu mengubah definisi untuk "Msg_Length" dan menambahkan byte ke variabel "RF_Message". Anda juga perlu menambahkan kode ke pemeriksaan "RF_Message" di "loop" untuk memverifikasi penerimaan yang tepat dari byte tambahan dan menentukan byte tersebut.

Direkomendasikan: