Daftar Isi:

Radio Dua Arah NRF24 untuk Telemetri: 9 Langkah (dengan Gambar)
Radio Dua Arah NRF24 untuk Telemetri: 9 Langkah (dengan Gambar)

Video: Radio Dua Arah NRF24 untuk Telemetri: 9 Langkah (dengan Gambar)

Video: Radio Dua Arah NRF24 untuk Telemetri: 9 Langkah (dengan Gambar)
Video: Cara menghubungkan NRF24L01 dengan Arduino Nano/Uno, 2 NRF24L01 berkomunikasi dan mengirim pesan 2024, Juli
Anonim
Radio Dua Arah NRF24 untuk Telemetri
Radio Dua Arah NRF24 untuk Telemetri

Hai teman-teman, nama saya Pedro Castelani dan saya membawakan Anda instruksi pertama saya: membangun radio dua arah dengan arduino untuk, yah, apa pun yang Anda butuhkan.

Dalam proyek ini, kami akan membuat dua sirkuit terpisah yang akan bertindak sebagai penerima dan pemancar. Komponen yang paling penting adalah dua papan arduino (semuanya berfungsi) dan dua modul transciever nrf24. Dalam kasus saya, saya mengontrol servo dengan potensiometer dari arduino lain dan mengirim tegangan baterai lipo dua sel kembali ke yang pertama.

Saya bermaksud menggunakannya sebagai tambahan untuk drone saya, yang tidak memiliki telemetri atau kontrol servo gimbal. Namun, Anda dapat menggunakannya untuk hal lain, seperti membangun quadcopter, pesawat, mobil rc Anda sendiri, dll. Dari kode yang diberikan Anda juga dapat membuat modifikasi yang Anda inginkan sesuai dengan kebutuhan Anda. Saya juga akan mencoba menjelaskan cara memodifikasinya dengan benar (yang membutuhkan waktu untuk saya pelajari sendiri, karena saya terbiasa dengan penggunaan lain untuk chip nrf24).

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Untuk memulai proyek kita, kita perlu mengetahui semua bagian yang dibutuhkan. Di bawah ini adalah daftar kebutuhan dasar. Saya membeli sebagian besar dari mereka di toko elektronik lokal tempat saya tinggal, jadi saya tidak akan dapat merekomendasikan Anda tempat untuk membelinya. Anda bisa mencoba Amazon, atau tempat lain. Saya tidak mengatakan Anda harus memesannya di sana, tetapi itu hanya saran.

  1. Dua papan Arduino (siapa pun harus bekerja. Saya memiliki dua arduino pro mini, yang sangat saya sukai karena mereka memiliki 13 pin digital dan 8 analog, sedangkan Uno hanya memiliki 6 pin analog).
  2. Dua modul Nrf24. Ada beberapa dengan antena eksternal yang memiliki jangkauan transmisi lebih besar. Pilih yang paling Anda sukai.
  3. Kabel jumper wanita-wanita dan wanita-pria.
  4. Papan prototipe.
  5. Programmer Arduino (untuk arduino pro mini, jika Anda memilikinya dengan koneksi usb, Anda tidak akan membutuhkannya).
  6. Arduino IDE (Perangkat Lunak). Unduh dari sini.
  7. Dalam kasus saya, saya juga menggunakan:
  • Servo. Siapa pun yang bisa Anda dapatkan. Saya suka SG90, yang kecil dirancang untuk arduino.
  • Potensiometer (antara 10k dan 20k ohm). Dapat dibeli di toko elektronik lokal atau Anda dapat menggunakan joystick yang dibuat untuk arduino. Ada beberapa gambar yang saya miliki. Saya juga mendapatkannya dari pengontrol rc drone yang rusak, hanya untuk memberi Anda beberapa ide
  • 4 resistor normal yang sama. Saya menggunakan 10rb yang saya dapatkan dari rumah kakek saya. Saya menggunakan mereka sebagai pembagi tegangan.
  • Perfboard pad tembaga kecil (yang juga saya dapatkan dari kakek saya) untuk menyolder resistor bersama-sama.
  • pin. Digunakan untuk menghubungkan kabel jumper dari arduino ke resistor dengan mudah.
  • baterai lipo 2s. Saya menggunakannya untuk menyalakan salah satu arduino saya. Resistor terhubung dengannya dan membaca voltasenya. Saya bermaksud arduino saya untuk terhubung ke baterai 2s drone saya, karena tidak memerlukan sumber daya eksternal dan pada saat yang sama memberi tahu saya berapa banyak baterai yang tersisa.
  • Solder Besi dan solder. Diperlukan untuk menyolder resistor, perfboard, dan pin bersama-sama.

Langkah 2: Fungsi dan Kode

Fungsi dan Kode
Fungsi dan Kode

Setelah semua materi disebutkan, mari kita mulai berbicara tentang fungsi modul.

Cara kerjanya: Mari kita panggil satu arduino "A" dan yang lainnya "B". Dalam kasus saya, setelah memprogram keduanya, saya menghubungkannya ke chip radio yang sesuai dan menambahkan potensiometer ke arduino A dan resistor serta servo ke arduino B. Modul A mengirimkan nilai ke B dan memindahkan Servo. B membaca tegangan baterai 2s dan mengirimkannya kembali ke A. Kemudian seluruh lingkaran dimulai lagi. Karena A menerima nilai yang tidak diekspresikan secara mekanis, ia terhubung ke programmer, di mana kita dapat membacanya dengan monitor serial (termasuk dalam Arduino IDE)

Kode: Saya menyebut sketsa untuk arduino A (terhubung dengan programmer dan potensiometer) TwoWayRadio_1, dan sketsa untuk arduino B TwoWayRadio_2WithServo

TwoWayRadio_1 dan TwoWayRadio_2WithServo dapat ditemukan tepat di bawah paragraf ini. Ada penjelasan di dalam setiap kode hanya untuk membuat semuanya lebih mudah dipahami.

Langkah 3: Modul Solder: Pembagi Tegangan dan Potensiometer

Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer
Modul Solder: Pembagi Tegangan dan Potensiometer

Langkah ini opsional, karena Anda mungkin hanya ingin menggunakan potensiometer-joystick yang dirancang khusus untuk arduino dan menggunakan modul lain sebagai pengganti pembagi tegangan. Saya, bagaimanapun, merencanakan semuanya (termasuk kode) untuk modul-modul ini.

Potensiometer:

Bagian ini adalah bagian yang paling mudah dalam langkah penyolderan. Anda hanya perlu menyolder beberapa kabel jumper ke potensiometer Anda. Jika mau, Anda bisa menyolder potensiometer ke perfboard terlebih dahulu dan kemudian menyolder beberapa pin. Saat Anda perlu menggunakannya, cukup sambungkan kabel jumper ke arduino lalu ke pin di perfboard. Saat tidak digunakan, Anda dapat melepas kabel dan menggunakannya untuk proyek lain. Namun, jika Anda melakukan seperti yang saya lakukan, Anda dapat membiarkan potensiometer disolder langsung ke kabel

  • Jika Anda melakukan seperti yang saya lakukan, dapatkan tiga kabel jumper wanita-wanita, potong salah satu ujungnya dan lepaskan insulasi di sana, sisakan sepotong kecil kabel tembaga di setiap kabel.
  • Panaskan besi solder Anda dan solder jumper yang dimodifikasi ke pin potensiometer Anda. Jika bisa, cobalah untuk mendapatkan warna yang berbeda sehingga Anda dapat mengingat yang mana vcc, gnd dan yang "sinyal" (yang tengah). Hubungkan kabel ini ke pin analog yang sesuai pada arduino. Ada beberapa gambar di awal langkah bagaimana tampilan akhirnya. Potensiometer bukan yang biasa, sebenarnya adalah roda kecil yang memiliki lima pin. Butuh beberapa waktu untuk mencari tahu yang mana. Cobalah untuk melakukannya lebih mudah dan gunakan potensiometer biasa seperti yang ditunjukkan pada langkah BAHAN.
  • Jika Anda menyoldernya ke perfboard, dapatkan potensiometer dan perfboard dan solder bersama dengan besi solder Anda.
  • Dapatkan pin (tiga) dan letakkan di tempat yang paling nyaman. Gunakan solder untuk membuat sambungan antara setiap pin dan pin potensiometer. Jangan membuat sambungan antara lebih dari dua pin atau tidak akan bekerja (itu akan bertindak sebagai korsleting).
  • Dapatkan beberapa kabel jumper perempuan-perempuan atau perempuan-laki-laki dan hubungkan dari arduino Anda ke modul potensiometer baru Anda (ingat yang mana).

2. Pembagi Tegangan:

  • Bagian ini sedikit lebih rumit. Anda perlu mendapatkan empat resistor, lima pin, dan perfboard. Saya merancang kode untuk digunakan untuk baterai 2s (dua sel), tetapi Anda juga dapat menggunakannya untuk 1s dengan mengubah sedikit sketsa arduino dan perangkat kerasnya. Saya menyertakan gambar dua pembagi tegangan yang saya buat, satu dengan hanya 2 resistor (untuk baterai 1s) dan satu dengan empat (Anda dapat menebaknya: baterai 2s).
  • Mari kita mulai dengan yang 2s. Saya tidak memiliki gambar proses pembangunan sejak saya mulai membaca instruksi ini beberapa saat setelah selesai menyoldernya. Saya menyertakan gambar hasil akhir, jadi saya akan berusaha sejelas mungkin.
  • Mulailah dengan mendapatkan perfboard dan 5 pin. Solder mereka dekat ke samping dan jangan biarkan mereka saling menyentuh.
  • Solder resistor seperti yang ditunjukkan pada gambar terakhir di awal langkah (diagram rangkaian kecil). Sambungan antara setiap resistor dan pin dibuat dengan solder. Cobalah untuk menempati ruang sesedikit mungkin.
  • Ketika Anda selesai, itu akan terlihat seperti gambar pembagi tegangan jadi yang saya posting di atas.
  • Pembagi Tegangan 1s pada dasarnya sama, kecuali Anda hanya menggunakan tiga pin dan dua resistor. Saya menyertakan gambar tampilannya setelah selesai. Lihat saja diagram untuk 2s dan bayangkan tanpa kabel sinyal 1, kabel tengah, dan resistor r2 dan r3 dan di sana, Anda memilikinya!
  • Jadi, jika Anda menginginkan pembagi tegangan 1s, mungkin sedikit lebih rumit daripada hanya menggunakan yang 2s.

Langkah 4: Memprogram Arduino Anda

Memprogram Arduino Anda
Memprogram Arduino Anda
  1. Kami hampir selesai!
  2. Setelah mengunduh perangkat lunak Arduino IDE dari situs yang ditautkan pada langkah MATERIAL, unduh sketsa dari langkah FUNGSI DAN KODE.
  3. Selanjutnya, buka di Arduino IDE.
  4. Buka "Alat" di salah satu tab dan klik "Papan". Pilih papan Anda dari daftar. Klik "Prosesor" dan kemudian "Programmer", pilih masing-masing sesuai dengan papan Anda. Kemudian kembali ke sketsa. Cukup nyaman untuk melihat informasi papan Anda di Internet. Lihat saja namanya dan lihat spesifikasinya.
  5. Klik "sketsa" (di atas), lalu "sertakan perpustakaan", lalu "kelola perpustakaan". Sebuah jendela kecil akan terbuka di tengah layar. Masukkan opsi pencarian "rf24". Unduh perpustakaan yang Anda inginkan. Ini akan diperlukan untuk dapat mengunggah kode ke papan arduino.
  6. Hanya untuk memastikan, klik simbol "Centang" (kiri atas) untuk memverifikasi tidak ada kesalahan. Kemudian lanjutkan untuk mengunggahnya dengan menekan panah yang mengarah ke kanan, di sebelah simbol "Centang".
  7. Jika papan Anda adalah Pro Mini, saya akan menjelaskan sebentar bagaimana menghubungkan semuanya. Jika tidak, cukup unggah dan, setelah selesai memprogram kedua arduino, lanjutkan ke langkah berikutnya, setelah membaca peringatan di bawah ini.
  8. Karena Anda memiliki dua papan, INGAT dengan kode yang masing-masing diprogram, untuk menghindari masalah di masa mendatang.
  9. Jadi, jika Anda memiliki Pro Mini, Anda memerlukan seorang programmer. Ada dua jenis programmer: 5 pin dan 6 pin. Saya akan fokus pada 5 pin karena merekalah yang saya miliki. Koneksinya adalah sebagai berikut (pin pertama dari programmer, kemudian arduino): Gnd--Gnd; 5v-Vcc (kecuali jika Pro Mini Anda adalah 3.3v, dalam hal ini adalah 3.3v--Vcc); Rxd--Terima kasih; Txd--Rxi. Saya menyertakan gambar papan dan pemrogram, untuk berjaga-jaga jika Anda perlu memeriksanya.
  10. Hubungkan Arduino Anda ke programmer dan programmer ke komputer Anda. Buka IDE dan klik tombol unggah. Jika Anda melihat ke kiri bawah layar, Anda akan melihat pesan yang mengatakan "kompilasi". Saat pesan ini berubah menjadi "upload", tekan tombol reset pada arduino Pro Mini. Setelah beberapa saat, sketsa akan selesai dan akan muncul pesan yang mengatakan "Selesai mengunggah". Setelah ini terjadi, Anda selesai dan siap untuk melanjutkan ke langkah berikutnya.

Langkah 5: Menghubungkan Semuanya

Menghubungkan Semuanya
Menghubungkan Semuanya
Menghubungkan Semuanya
Menghubungkan Semuanya
Menghubungkan Semuanya
Menghubungkan Semuanya
Menghubungkan Semuanya
Menghubungkan Semuanya
  1. Setelah memprogram kedua arduino, kita perlu menghubungkan semuanya agar berfungsi. Di sini kita akan membutuhkan semua yang disebutkan sebelumnya: arduino, modul nrf24, kabel, servo, programmer, pembagi tegangan, potensiometer, dll.
  2. Pertama-tama kita akan menghubungkan arduino yang bekerja dengan programmer. Di awal langkah adalah gambar koneksi nrf24. Pin irq yang konon menuju ke pin 8 pada arduino tidak terhubung sama sekali. Selebihnya seperti pada gambar untuk kedua arduino (Anda dapat membaca catatan di dalam gambar untuk info lebih lanjut)
  3. Vcc untuk radio dapat dihubungkan ke 3,3 atau 5v. Kadang-kadang hanya bekerja dengan salah satu dari mereka. Coba dengan 3.3 dan kemudian 5 jika tidak berhasil. Untuk 3.3, gunakan pin 3.3v dari programmer. Saya harus melakukan ini, seperti yang akan Anda lihat pada gambar produk jadi.
  4. Hubungkan programmer ke arduino seperti yang dikatakan pada langkah sebelumnya.
  5. Hubungkan kabel "sinyal" potensiometer ke pin analog A0.
  6. Hubungkan "Positif" potensiometer ke Vcc (hanya 5v, bukan 3,3) dan "Negatif" ke Gnd.
  7. Lulus ke arduino lainnya.
  8. Hubungkan radio seperti yang dikatakan sebelumnya, sesuai dengan gambar.
  9. Hubungkan kabel sinyal servo (oranye-kuning-putih. Periksa spesifikasi servo) ke pin digital 2, dan gndnya ke Gnd arduino, dan positifnya ke Vcc arduino.
  10. Hubungkan kabel sinyal 1 dari pembagi tegangan ke pin A0 dan kabel sinyal 2 ke pin A1.
  11. Hubungkan, menggunakan protoboard, kabel negatif pembagi tegangan, gnd arduino dan gnd baterai (kabel hitam pada steker jst).
  12. Hubungkan "kabel tengah" dari pembagi tegangan ke baterai tengah, antara kabel merah dan hitam colokan jst (warna putih).
  13. Hubungkan kabel 'positif' dari pembagi tegangan ke terminal positif baterai dan ke Raw arduino. Jangan sambungkan langsung ke Vcc, karena pin ini khusus untuk 5v. Raw pin menggunakan tegangan di atas 3,3 atau 5v hingga 12v dan mengaturnya.pin Vcc kemudian menjadi output dengan 5v.

Anda hampir selesai! Produk jadi Anda akan terlihat seperti gambar di atas. Periksa kembali setiap sambungan untuk menghindari korsleting.

Langkah 6: Nyalakan Proyek Anda

  • Arduino Anda dengan servo mendapat daya pada langkah terakhir ketika Anda menghubungkan baterai ke seluruh rangkaian. Jadi, Anda hanya perlu menghubungkan arduino lain ke port usb dan selesai!
  • Pindahkan potensiometer dan Anda akan melihat bagaimana servo juga bergerak. Dalam kasus saya, servo terpasang ke gimbal kamera 1 sumbu, yang membatasi sudut, jadi saya harus menyesuaikan parameternya. Bagaimanapun, Anda akan menemukannya dalam kode.
  • Untuk melihat voltase, setelah Anda menghubungkan programmer ke komputer, buka perangkat lunak arduino dan tekan "Ctrl+Shift+m". Sebuah jendela yang mengatakan "Serial Monitor" akan terbuka. Di bagian bawah jendela ini adalah opsi yang berbunyi "(angka) baud". Klik dan pilih "9600". Tutup monitor dan buka lagi dengan menekan tombol yang sama dan Anda akan mulai melihat banyak nilai yang masuk. Anda tidak akan dapat melihat nilai ini karena kecepatan datangnya, tetapi jika Anda memutuskan sambungan programmer mereka akan berhenti dan Anda dapat membacanya. Saya mencoba mendapatkan sesuatu yang dapat digunakan untuk membuat grafik secara otomatis untuk melihat voltase atau mewakilinya dengan led, tetapi itu masih dalam proses.
  • Meskipun Anda mungkin tidak melihat nilainya dengan jelas, karena nilainya berlalu begitu cepat, ketahuilah bahwa itu akhirnya berfungsi dan Anda dapat memodifikasinya untuk mengakomodasi kebutuhan Anda!

Langkah 7: Demo

Nah, ini adalah video saya menyalakannya dan menggunakannya sedikit untuk menunjukkan cara kerjanya.

Langkah 8: Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini

Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini
Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini
Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini
Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini
Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini
Lebih Banyak Ide tentang Cara Menggunakan Proyek Ini

Berikut adalah beberapa ide yang dapat Anda bangun menggunakan ini sebagai dasarnya. Beritahu saya jika Anda membuat salah satunya atau jika Anda mencoba dan tidak bisa jadi saya bisa membantu!

  • Alih-alih membaca voltase, ubah kodenya sehingga mengirimkan kembali suhu, tekanan, ketinggian, dll. Saya menemukan chip BMP180 cukup berguna untuk ini.
  • Ukur jarak dengan modul HC-SR04 dan kirimkan kembali ke arduino pertama. Gunakan servo untuk mengarahkan sensor ke mana pun Anda inginkan.
  • Tambahkan saluran servo lain untuk menggerakkan kamera ke atas dan ke samping; misalnya pada mobil rc.
  • Tambahkan tiga saluran servo lainnya (atau lebih!) dan buat pemancar dan penerima rc Anda sendiri untuk quadcopter, pesawat, helikopter, mobil rc, dll!
  • Ubah servo untuk lampu sorot dan tambahkan ke drone Anda! Anda juga akan dapat mengontrol intensitas cahaya (mungkin memerlukan beberapa transistor dan beberapa perubahan kode)
  • Alih-alih membaca tegangan di komputer, berkreasilah dan tambahkan modul lcd, atau Anda dapat membuat papan 6-led (dua hijau, dua kuning dan dua merah) yang akan mematikannya satu per satu saat baterai semakin rendah dan akan mulai berkedip ketika level baterai turun di bawah voltase yang Anda pilih. Saya membuat papan kecil ini dan memposting gambar di awal langkah.

Untuk memperjelas semuanya, jika Anda akan membuat salah satu dari proyek ini, ingatlah bahwa Anda harus memodifikasi kedua kode dan mungkin beberapa koneksi. Harap coba ingat untuk tidak menggoreng papan Anda melakukan sesuatu yang bodoh.

Jika Anda memiliki ide lagi atau butuh bantuan untuk melaksanakan salah satu proyek ini, silakan posting di bagian pertanyaan!

Langkah 9: Pemecahan Masalah

Penyelesaian masalah
Penyelesaian masalah

Sejujurnya, sebagian besar masalah yang saya temui sejauh ini terkait dengan bagian sketsa, yang telah Anda pecahkan. Saya akan mencoba memberi tahu Anda sebanyak mungkin masalah untuk membantu Anda sebanyak mungkin.

Pertama, jika Anda mencoba mengunggah sketsa dan tidak bisa, coba ini:

Pastikan Anda mengunduh pustaka yang diperlukan (dan pustaka yang benar!).

Pastikan Anda telah memilih papan, prosesor, dan pemrogram yang benar.

Pastikan koneksi antara pc dan programmer dan programmer dan arduino baik.

Jika Anda menggunakan pro mini, coba tekan tombol reset sesegera mungkin setelah pesan "mengunggah" muncul.

Semua hal ini dibicarakan dalam langkah PEMROGRAMAN ARDUINO ANDA.

Kedua, periksa semua koneksi antara semuanya:

Jika arduino Anda tidak menyala, itu jelas masalah tegangan. Periksa apakah kabel tidak terhubung dengan benar dan apakah ada korsleting.

Jika menyala tetapi tidak berfungsi, pastikan semua koneksi berada di tempat yang seharusnya, bahwa arduino yang diprogram untuk terhubung ke servo dan pembagi tegangan benar-benar terhubung (dengan kata lain, pastikan Anda tidak mencampur mereka), coba tekan tombol reset pada keduanya dan lihat apa yang terjadi. Dalam kasus yang sangat jarang terjadi, seluruh kesalahan dapat terjadi pada modul NRF24. Saya menemukan salah satu milik saya yang hanya berfungsi pada 5 volt dan yang lain hanya berfungsi pada 3.3v. Periksa apakah ini menyelesaikan sesuatu. Itu juga terjadi pada saya bahwa hanya satu arduino yang bekerja dengan radio 3.3v dan yang lainnya hanya bekerja dengan yang 5v. Mengejutkan, bukan?

Ketiga, jika Anda dapat memindahkan servo tetapi tegangannya salah, periksa koneksi ke pembagi tegangan seperti pada diagram di langkah 3, dan koneksi ke arduino. Sebaliknya, jika Anda mendapatkan tegangan tetapi Anda tidak dapat menggerakkan servo dengan benar, periksa potensiometer dan sambungannya, sambungan servo ke pin digital dan ke Vcc dan Gnd, dan jika servo macet, rusak atau dalam sirkuit pendek. Coba ganti dengan servo lain. Pastikan pin digital sama dengan yang ditentukan dalam kode

Nah, itu hanya tentang semua hal yang bisa muncul di benak saya tentang masalah yang mungkin Anda hadapi. Semoga itu tidak pernah terjadi dan Selamat Proyek!

Terima kasih telah membaca Instruksi saya! Silakan bagikan dan pilih untuk Kontes PENULIS PERTAMA KALI!

Direkomendasikan: