Isi kandungan:

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

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

Video: Radio Dua Hala NRF24 untuk Telemetri: 9 Langkah (dengan Gambar)
Video: 🌹 Вяжем шикарный женский джемпер спицами по многочисленным просьбам! Подробный видео МК! Часть1. 2024, November
Anonim
Radio Dua Hala NRF24 untuk Telemetri
Radio Dua Hala NRF24 untuk Telemetri

Hai kawan-kawan, nama saya Pedro Castelani dan saya membawa anda arahan pertama saya: membina radio dua hala dengan arduino untuk, apa sahaja yang anda perlukan.

Dalam projek ini, kami akan membuat dua litar berasingan yang akan bertindak sebagai penerima dan pemancar. Komponen yang paling penting ialah dua papan arduino (semuanya berfungsi) dan dua modul transciever nrf24. Dalam kes saya, saya mengawal servo dengan potensiometer dari arduino yang lain dan menghantar voltan bateri lipo dua sel kembali ke yang pertama.

Saya berhasrat untuk menggunakannya sebagai alat tambahan untuk drone saya, yang tidak memiliki telemetri atau servo gimbal control. Anda boleh menggunakannya untuk perkara lain, seperti membuat quadcopter, pesawat, kereta rc, dan lain-lain. Dari kod yang diberikan, anda juga boleh membuat pengubahsuaian yang anda inginkan mengikut keperluan anda. Saya juga akan cuba menerangkan cara mengubahnya dengan betul (yang memerlukan saya sedikit masa untuk belajar sendiri, kerana saya terbiasa dengan jenis lain untuk cip nrf24).

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Untuk memulakan projek kami, kami perlu mengetahui semua bahagian yang diperlukan. Berikut adalah senarai asas yang diperlukan. Saya membeli sebahagian besar dari mereka di sebuah kedai elektronik tempatan di mana saya tinggal, jadi saya tidak dapat mengesyorkan anda tempat untuk membelinya. Anda boleh mencuba Amazon, atau tempat lain. Saya tidak mengatakan bahawa anda harus memesannya di sana, tetapi itu hanya cadangan.

  1. Dua papan Arduino (sesiapa sahaja mesti berfungsi. Saya mempunyai dua arduino pro mini, yang saya sangat suka kerana mereka mempunyai 13 pin digital dan 8 analog, sementara Uno hanya mempunyai 6 analog).
  2. Dua modul Nrf24. Terdapat beberapa antena luaran yang mempunyai jarak transmisi yang lebih besar. Pilih yang paling anda gemari.
  3. Kabel pelompat Perempuan-Perempuan dan Perempuan-Lelaki.
  4. Papan prototaip.
  5. Pengaturcara Arduino (untuk arduino pro mini, jika anda mempunyai satu dengan sambungan usb anda tidak memerlukannya).
  6. Arduino IDE (Perisian). Muat turun dari sini.
  7. Dalam kes saya, saya juga menggunakan:
  • Servo. Sesiapa sahaja yang anda dapat. Saya suka SG90, yang kecil direka untuk arduino.
  • Potensiometer (antara 10k dan 20k ohm). Boleh dibeli di kedai elektronik tempatan atau anda boleh menggunakan kayu bedik yang dibuat untuk arduino. Terdapat beberapa gambar yang saya ada. Saya juga mendapat satu dari pengawal rc drone yang rosak, hanya untuk memberi anda beberapa idea
  • 4 perintang normal yang sama. Saya menggunakan 10k yang saya dapat dari rumah datuk. Saya menggunakannya sebagai pembahagi voltan.
  • Papan tembaga pad tembaga kecil (yang juga saya dapat dari datuk saya) untuk menyolder perintang bersama-sama.
  • Pin. Digunakan untuk menyambungkan kabel pelompat dari arduino ke perintang dengan mudah.
  • Bateri lipo 2s. Saya menggunakannya untuk menggerakkan salah satu arduino saya. Perintang disambungkan kepadanya dan membaca voltannya. Saya bermaksud arduino saya disambungkan ke bateri drone 2s saya, kerana ia tidak memerlukan sumber kuasa luaran dan pada masa yang sama beritahu saya berapa banyak bateri yang tinggal.
  • Soldering Iron dan solder. Perlu menyatukan perintang, papan wangi dan pin bersama.

Langkah 2: Fungsi dan Kod

Fungsi dan Kod
Fungsi dan Kod

Setelah semua bahan telah disebutkan, mari mulakan pembahasan mengenai fungsi modul.

Cara kerjanya: Mari sebut satu arduino "A" dan yang lain "B". Dalam kes saya, setelah memprogram kedua-duanya, saya menghubungkannya ke cip radio yang sesuai dan menambahkan potensiometer ke arduino A dan perintang dan servo ke arduino B. Modul A menghantar nilai ke B dan menggerakkan Servo. B membaca voltan bateri 2s dan menghantarnya kembali ke A. Kemudian seluruh bulatan bermula semula. Oleh kerana A menerima nilai yang tidak dinyatakan secara mekanis, ia dihubungkan ke pengaturcara, di mana kita dapat membacanya dengan monitor bersiri (disertakan dalam Arduino IDE)

Kod: Saya memanggil lakaran untuk arduino A (dihubungkan dengan pengaturcara dan potensiometer) TwoWayRadio_1, dan lakaran untuk arduino B TwoWayRadio_2WithServo

TwoWayRadio_1 dan TwoWayRadio_2WithServo boleh didapati tepat di bawah perenggan ini. Terdapat penjelasan di dalam setiap kod hanya untuk menjadikan semuanya lebih mudah difahami.

Langkah 3: Modul Pematerian: Pembahagi Voltan dan Potensiometer

Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer
Modul Pematerian: Pembahagi Voltan dan Potensiometer

Langkah ini adalah pilihan, kerana anda mungkin hanya ingin menggunakan joystick potensiometer yang direka khas untuk arduino dan menggunakan modul lain dan bukannya pembahagi voltan. Namun, saya merancang semuanya (termasuk kod) untuk modul ini.

Potensiometer:

Bahagian ini adalah yang paling mudah dalam langkah pematerian. Anda hanya perlu memasangkan beberapa kabel pelompat ke potensiometer anda. Sekiranya anda mahu, pertama-tama anda boleh menyisipkan potensiometer ke papan wangi dan kemudian menyisipkan beberapa pin. Apabila anda perlu menggunakannya, sambungkan kabel pelompat ke arduino dan kemudian ke pin di papan wangi. Apabila tidak digunakan, anda boleh menanggalkan kabel dan menggunakannya untuk projek lain. Namun, jika anda melakukan seperti yang saya lakukan, anda boleh membiarkan potensiometer disolder terus ke kabel

  • Sekiranya anda melakukan seperti yang saya lakukan, dapatkan tiga kabel pelompat wanita-wanita, potong salah satu petua dan lepaskan penebat di sana, tinggalkan sekeping kecil tembaga pendawaian pada setiap wayar.
  • Panaskan besi pematerian anda dan pateri jumper yang diubah suai ke pin potensiometer. Sekiranya anda boleh, cuba dapatkan warna yang berbeza sehingga anda dapat mengingat yang mana satu adalah vcc, gnd dan "isyarat" yang satu (yang tengah). Sambungkan kabel ini ke pin analog yang sesuai di arduino. Terdapat beberapa gambar di awal langkah bagaimana ia kelihatan. Potensiometer bukan yang biasa, sebenarnya roda kecil yang mempunyai lima pin. Saya mengambil masa untuk mengetahui yang mana. Cuba lakukan dengan lebih mudah dan gunakan potensiometer biasa seperti yang ditunjukkan dalam langkah BAHAN.
  • Sekiranya anda menyoldernya ke papan wangi, dapatkan potensiometer dan papan wangi dan pateri bersama dengan besi pematerian anda.
  • Dapatkan pin (tiga) dan letakkan dengan cara yang paling mudah. Gunakan pateri untuk membuat sambungan antara setiap pin dan pin potensiometer. Jangan membuat sambungan antara lebih daripada dua pin atau tidak akan berfungsi (ia akan berfungsi sebagai litar pintas).
  • Dapatkan beberapa kabel pelompat wanita-wanita atau wanita-lelaki dan sambungkannya dari arduino anda ke modul potensiometer baru anda (ingat yang mana).

2. Pembahagi Voltan:

  • Bahagian ini sedikit lebih rumit. Anda perlu mendapatkan empat perintang, lima pin dan papan wangi. Saya merancang kod untuk digunakan untuk bateri 2s (dua sel), tetapi anda juga boleh menggunakannya untuk 1s dengan mengubah sedikit lakaran arduino dan perkakasan. Saya menyertakan gambar dua pembahagi voltan yang saya buat, satu dengan hanya 2 perintang (untuk bateri 1s) dan satu dengan empat (anda dapat meneka: bateri 2s).
  • Mari mulakan dengan yang 2s. Saya tidak mempunyai gambaran mengenai proses pembinaan sejak saya mula memperhatikan arahan ini setelah selesai menyoldernya. Saya menyertakan gambar hasil akhir, jadi saya akan berusaha sejelas mungkin.
  • Mulakan dengan mendapatkan papan wangi dan 5 pin. Memateri mereka berdekatan dan jangan biarkan mereka saling bersentuhan.
  • Memateri perintang seperti yang ditunjukkan pada gambar terakhir pada awal langkah (rajah litar kecil). Sambungan antara setiap perintang dan pin dibuat dengan pateri. Cubalah untuk menempati ruang paling sedikit.
  • Apabila anda selesai, ia akan kelihatan seperti gambar pembahagi voltan siap yang saya siarkan di atas.
  • Pembahagi voltan 1s pada dasarnya sama, dengan pengecualian bahawa anda hanya menggunakan tiga pin dan dua perintang. Saya menyertakan gambar bagaimana rupanya apabila selesai. Lihat sahaja gambar rajah 2s dan bayangkan tanpa wayar isyarat 1, wayar tengah, dan perintang r2 dan r3 dan di sana, anda memilikinya!
  • Oleh itu, jika anda mahukan pembahagi voltan 1s, ia mungkin sedikit lebih rumit daripada hanya menggunakan satu 2s.

Langkah 4: Memprogram Arduino Anda

Memprogram Arduino Anda
Memprogram Arduino Anda
  1. Kami hampir selesai!
  2. Setelah memuat turun perisian Arduino IDE dari laman web yang dihubungkan dalam langkah BAHAN, muat turun lakaran dari langkah FUNGSI DAN KOD.
  3. Seterusnya, buka di Arduino IDE.
  4. Buka "Alat" di salah satu daripada kedua-dua tab dan klik "Papan". Pilih papan anda dari senarai. Klik "Processor" dan kemudian "Programmer", memilih masing-masing mengikut papan kenyataan anda. Kemudian kembali ke lakaran. Cukup senang untuk melihat maklumat papan kenyataan anda di Internet. Cari sahaja namanya dan lihat spesifikasinya.
  5. Klik pada "sketsa" (atas), kemudian "sertakan perpustakaan", kemudian "uruskan perpustakaan". Tingkap kecil harus terbuka di tengah-tengah skrin. Masukkan dalam pilihan carian "rf24". Muat turun pustaka yang anda mahukan. Anda perlu memuat naik kod tersebut ke papan arduino.
  6. Untuk memastikannya, klik pada simbol "Tandakan" (kiri atas) untuk mengesahkan bahawa ia tidak mempunyai kesilapan. Kemudian terus memuat naiknya dengan menekan anak panah yang menunjuk ke kanan, di sebelah simbol "Tandakan".
  7. Sekiranya papan anda adalah Pro Mini, saya akan menerangkan sebentar lagi bagaimana menghubungkan semuanya. Sekiranya tidak, muat naik sahaja dan, setelah selesai memprogram kedua arduino, lulus ke langkah seterusnya, setelah membaca amaran di bawah.
  8. Oleh kerana anda mempunyai dua papan, INGAT kod yang masing-masing diprogramkan, untuk mengelakkan masalah di masa depan.
  9. Oleh itu, jika anda mempunyai Pro Mini, anda memerlukan pengaturcara. Terdapat dua jenis pengaturcara: 5 pin dan 6 pin. Saya akan memfokuskan pada 5 pin kerana ia adalah yang saya ada. Sambungannya adalah seperti berikut (pin pertama adalah dari pengaturcara, kemudian arduino): Gnd - Gnd; 5v-Vcc (kecuali jika Pro Mini anda adalah 3.3v, dalam hal ini 3.3v - Vcc); Rxd - Txo; Txd - Rxi. Saya memasukkan gambar papan dan pengaturcara, sekiranya anda perlu memeriksa.
  10. Sambungkan arduino anda ke programmer dan programmer ke komputer anda. Buka IDE dan klik butang muat naik. Sekiranya anda melihat bahagian bawah kiri skrin, anda akan melihat mesej yang mengatakan "menyusun". Pada saat mesej ini berubah menjadi "memuat naik", tekan butang reset pada arduino Pro Mini. Selepas beberapa ketika, lakaran akan selesai dan mesej akan muncul bertuliskan "Selesai memuat naik". Setelah ini berlaku, anda sudah selesai dan bersedia untuk melangkah ke langkah seterusnya.

Langkah 5: Menghubungkan Segalanya

Menghubungkan Segalanya
Menghubungkan Segalanya
Menghubungkan Segalanya
Menghubungkan Segalanya
Menghubungkan Segalanya
Menghubungkan Segalanya
Menghubungkan Segalanya
Menghubungkan Segalanya
  1. Setelah memprogram kedua-dua arduino, kami perlu menyambungkan segalanya untuk membuatnya berfungsi. Di sini kita akan memerlukan semua yang disebutkan sebelumnya: modul arduino, nrf24, kabel, servo, programmer, pembahagi voltan, potensiometer, dll.
  2. Kami pertama kali menghubungkan arduino yang berfungsi dengan pengaturcara. Pada awal langkah adalah gambar sambungan nrf24. Pin irq, yang dikatakan masuk ke pin 8 pada arduino, sama sekali tidak dihubungkan. Selebihnya sama seperti dalam gambar untuk kedua arduino (anda boleh membaca nota di dalam gambar untuk maklumat lebih lanjut)
  3. Vcc untuk radio boleh disambungkan ke 3.3 atau 5v. Kadang-kadang ia hanya berfungsi dengan salah satu daripadanya. Cuba dengan 3.3 dan kemudian 5 jika tidak berfungsi. Untuk 3.3, gunakan pin 3.3v pengaturcara. Saya terpaksa melakukan ini, seperti yang anda lihat dalam gambar produk siap.
  4. Sambungkan pengaturcara ke arduino seperti yang dinyatakan pada langkah sebelumnya.
  5. Sambungkan kabel "isyarat" potensiometer ke pin analog A0.
  6. Sambungkan potensiometer "Positif" ke Vcc (hanya 5v, bukan 3.3) dan "Negatif" ke Gnd.
  7. Lulus ke arduino yang lain.
  8. Sambungkan radio seperti yang dikatakan sebelumnya, mengikut gambar.
  9. Sambungkan kabel isyarat servo (oren-kuning-putih. Periksa spesifikasi servo) ke pin digital 2, dan gndnya ke Gdu arduino, dan positif untuk Vcc arduino.
  10. Sambungkan kabel isyarat 1 dari pembahagi voltan ke pin A0 dan wayar isyarat 2 ke pin A1.
  11. Sambungkan, menggunakan protoboard, kabel negatif pembahagi voltan, gdu arduino dan gnd bateri (kabel hitam pada palam jst).
  12. Sambungkan "kabel tengah" dari pembahagi voltan ke bahagian tengah bateri, di antara kabel merah dan hitam palam jst (warna putih).
  13. Sambungkan kabel 'positif' dari pembahagi voltan ke terminal positif bateri dan ke Raw arduino. Jangan sambungkan terus ke Vcc, kerana pin ini khusus untuk 5v. Pin mentah menggunakan voltan di atas 3.3 atau 5v hingga 12v dan mengaturnya Pin Vcc kemudian menjadi output dengan 5v.

Anda hampir selesai! Produk siap anda hendaklah seperti gambar di atas. Periksa semula setiap sambungan untuk mengelakkan litar pintas.

Langkah 6: Jana Projek Anda

  • Arduino anda dengan servo dihidupkan langkah terakhir ketika anda menyambungkan bateri ke seluruh litar. Jadi, anda hanya perlu menyambungkan arduino yang lain ke port usb dan anda sudah selesai!
  • Gerakkan potensiometer dan anda harus melihat bagaimana servo juga bergerak. Dalam kes saya, servo dipasang pada gimbal kamera 1 paksi, yang membatasi sudut, jadi saya harus menyesuaikan parameternya. Anda akan dapati dalam kod tersebut.
  • Untuk melihat voltan, setelah anda menghubungkan pengaturcara ke komputer, buka perisian arduino dan tekan "Ctrl + Shift + m". Tetingkap yang bertuliskan "Serial Monitor" akan dibuka. Di bahagian bawah tetingkap ini terdapat pilihan yang berbunyi "(number) baud". Klik di atasnya dan pilih "9600". Tutup monitor dan buka lagi dengan menekan kekunci yang sama dan anda akan mula melihat banyak nilai yang masuk. Anda tidak akan dapat melihat apa nilai-nilai ini kerana kelajuannya, tetapi jika anda memutuskan sambungan pengaturcara mereka akan berhenti dan anda boleh membacanya. Saya cuba mendapatkan sesuatu untuk membuat grafik secara automatik untuk melihat voltan atau merepresentasikannya dengan led, tetapi masih dalam proses.
  • Walaupun anda mungkin tidak melihat nilainya dengan jelas, karena nilai tersebut begitu cepat, ketahuilah bahawa akhirnya dapat berfungsi dan anda dapat mengubahnya untuk memenuhi keperluan anda!

Langkah 7: Demo

Baiklah, ini adalah video saya mengaktifkannya dan menggunakannya sedikit untuk menunjukkan kepada anda bagaimana ia berfungsi.

Langkah 8: Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini

Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini
Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini
Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini
Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini
Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini
Lebih Banyak Idea mengenai Cara Menggunakan Projek Ini

Berikut adalah beberapa idea yang boleh anda bina dengan menggunakan ini sebagai asas. Beritahu saya jika anda membuat salah satu daripada mereka atau jika anda mencuba dan tidak boleh jadi saya boleh membantu!

  • Daripada membaca voltan, ubah kodnya sehingga dapat menghantar kembali suhu, tekanan, ketinggian, dan lain-lain. Saya dapati cip BMP180 cukup berguna untuk ini.
  • Ukur jarak dengan modul HC-SR04 dan hantar kembali ke arduino pertama. Gunakan servo untuk mengarahkan sensor ke mana sahaja yang anda mahukan.
  • Tambahkan saluran servo lain untuk menggerakkan kamera ke atas dan ke sisi; contohnya, pada kereta rc.
  • Tambahkan tiga saluran servo lain (atau lebih!) Dan buat pemancar dan penerima rc anda sendiri untuk quadcopter, kapal terbang, helikopter, kereta rc, dan lain-lain!
  • Tukar servo untuk lampu carian dan tambahkannya ke drone anda! Anda juga dapat mengawal intensiti cahaya (mungkin memerlukan beberapa transistor dan beberapa perubahan kod)
  • Daripada membaca voltan pada komputer, kreatif dan tambahkan modul lcd, atau anda boleh membuat papan 6-led (dua hijau, dua kuning dan dua merah) yang akan mematikannya satu persatu apabila bateri semakin rendah dan akan mula berkelip apabila tahap bateri turun di bawah voltan pilihan anda. Saya membuat papan kecil ini dan menyiarkan gambar pada awal langkah.

Hanya untuk membuat semuanya jelas, jika anda akan membuat salah satu projek ini, ingatlah bahawa anda harus mengubah kedua kod dan mungkin beberapa sambungan. Harap ingat untuk tidak menggoreng papan anda melakukan sesuatu yang bodoh.

Sekiranya anda mempunyai idea lagi atau memerlukan bantuan untuk melaksanakan salah satu projek ini, sila hantarkan di bahagian soalan!

Langkah 9: Penyelesaian masalah

Penyelesaian masalah
Penyelesaian masalah

Sejujurnya, kebanyakan masalah yang saya hadapi setakat ini berkaitan dengan bahagian lakaran, yang telah anda selesaikan. Saya akan cuba memberitahu anda sebanyak mungkin masalah untuk membantu anda.

Pertama, jika anda cuba memuat naik lakaran dan tidak dapat, cubalah ini:

Pastikan anda memuat turun perpustakaan yang diperlukan (dan yang betul!).

Pastikan anda memilih papan, pemproses dan pengaturcara yang betul.

Pastikan hubungan antara komputer dan pengaturcara dengan pengaturcara dan arduino baik.

Sekiranya anda menggunakan mini pro, cuba tekan butang reset secepat yang anda dapat setelah mesej "memuat naik" muncul.

Semua perkara ini diperkatakan dalam memprogram langkah ARDUINO ANDA.

Kedua, periksa semua hubungan antara semuanya:

Sekiranya arduino anda tidak berfungsi, jelas masalah voltan. Periksa sama ada kabel tidak disambungkan dengan betul dan jika terdapat litar pintas.

Sekiranya ia menyala tetapi tidak berfungsi, pastikan semua sambungan berada di tempat yang sepatutnya, bahawa arduino yang diprogramkan untuk disambungkan ke servo dan pembahagi voltan benar-benar menghubungkannya (dengan kata lain, pastikan anda tidak mencampurkan naik), cuba tekan butang reset pada kedua-duanya dan lihat apa yang berlaku. Dalam kes-kes yang sangat jarang berlaku, keseluruhan kesalahan boleh terjadi pada modul NRF24. Saya menjumpai salah satu dari saya yang hanya berfungsi pada 5 volt dan yang lain hanya berfungsi pada 3.3v. Periksa sama ada ini menyelesaikan sesuatu. Saya juga berlaku bahawa hanya satu arduino yang bekerja dengan radio 3.3v dan yang lain hanya bekerja dengan yang 5v. Mengejutkan, bukan?

Ketiga, jika anda dapat memindahkan servo tetapi voltannya salah, periksa sambungan ke pembahagi voltan seperti dalam rajah pada langkah 3, dan sambungan ke arduino. Sekiranya, sebaliknya, anda mendapat voltan tetapi anda tidak dapat menggerakkan servo dengan betul, periksa potensiometer dan sambungannya, sambungan servo ke pin digital dan ke Vcc dan Gnd, dan jika servo tersekat, pecah atau masuk litar pintas. Cuba ubah dengan servo yang lain. Pastikan pin digital sama dengan pin yang dinyatakan dalam kod

Baiklah, itu adalah semua perkara yang mungkin terlintas di fikiran saya mengenai masalah yang mungkin anda hadapi. Semoga ia tidak pernah berlaku dan Projek Selamat!

Terima kasih kerana membaca Instructable saya! Sila kongsi dan pilih untuk Peraduan PENULIS MASA PERTAMA!

Disyorkan: