Daftar Isi:
- Perlengkapan
- Langkah 1: Pengalaman Awal Saya
- Langkah 2: Tips Menghubungkan dan Men-debug Bagian Fisik
- Langkah 3: Pengontrol Arduino
- Langkah 4: MPU-6050
- Langkah 5: Modul Bluetooth HC-05
- Langkah 6: Menghubungkan Bagian
- Langkah 7: Keindahan RemoteXY
- Langkah 8: Pengujian
- Langkah 9: Saya Sedang Mengerjakan Kode. Akan Menyelesaikan Instruksi dalam Beberapa Hari
Video: Panduan yang Saya Inginkan untuk Membangun Arduino Drone: 9 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dokumen ini adalah semacam dokumentasi slash "Cara memandu" yang melalui proses yang saya perlukan untuk memahami konsep untuk mencapai tujuan saya membangun quadcopter sederhana yang dapat saya kendalikan dari ponsel saya.
Untuk melakukan proyek ini, saya ingin mendapatkan gambaran tentang apa sebenarnya drone itu, dalam kasus saya quadcopter, jadi saya mulai melakukan riset. Saya menonton banyak video YouTube, membaca banyak artikel dan halaman Insructible dan inilah yang saya dapatkan.
Pada dasarnya Anda dapat membagi drone menjadi dua bagian. Saya menyebutnya "Fisik" dan "Pengendali". Fisik pada dasarnya adalah segala sesuatu yang berkaitan dengan mekanisme yang membuat drone terbang. Ini adalah hal-hal seperti motor, bingkai, baterai, baling-baling, dan semua hal lain yang secara fisik memberi drone kemampuan untuk terbang.
Controller pada dasarnya adalah pengendali penerbangan. Yang mengontrol fisik agar drone bisa terbang secara utuh tanpa jatuh. Pada dasarnya mikrokontroler, perangkat lunak di dalamnya dan sensor yang membantunya melakukan triangulasi bantalannya. Jadi secara keseluruhan untuk memiliki drone, saya membutuhkan Pengendali, dan banyak bagian fisik untuk pengontrol untuk 'mengendalikan'.
Perlengkapan
Anggaran untuk proyek: $250
Kerangka Waktu: 2 minggu
Hal yang Harus Dibeli:
- Bingkai Fisik $20
- Pisau $0 (Dilengkapi dengan bingkai)
- Paket Baterai $25
- ESC (Pengontrol kecepatan elektronik) $0 (Dilengkapi dengan motor)
- Motor $70
Pengendali Penerbangan
- Arduino nano $20
- Kabel USB Arduino $2
- Modul Bluetooth (HC-05) $8
- 3mm LED dan resistor dan kabel 330 Ohm $13
- GY-87 (Akselerometer, Giroskop) $5
- Papan Prototipe $10
- Header Pria dan Wanita $5
Lainnya
- Paket solder $10
- Multimeter $20
Saya ingin menikmati membangun proyek ini sebagai Insinyur, jadi saya membeli beberapa barang lain yang tidak perlu saya beli.
Jumlah: $208
Langkah 1: Pengalaman Awal Saya
Setelah membeli semua komponen saya, saya menggabungkan semuanya dan kemudian mencoba meluncurkan drone, menggunakan Multiwii (perangkat lunak yang banyak digunakan komunitas drone DIY), namun saya segera menyadari bahwa saya tidak sepenuhnya mengerti apa yang saya lakukan karena ada banyak kesalahan dan saya tidak tahu bagaimana cara memperbaikinya.
Setelah itu saya memutuskan untuk membongkar drone dan memahami setiap komponen sepotong demi sepotong dan membangunnya kembali sedemikian rupa sehingga saya benar-benar memahami semua yang sedang terjadi.
Pada bagian berikut saya akan melalui proses menyatukan teka-teki. Sebelum itu mari kita mendapatkan gambaran singkat.
Fisik
Untuk fisik, kita harus memiliki: rangka, baling-baling, baterai, dan esc. Ini akan cukup mudah untuk disatukan. Untuk memahami bagian-bagian ini dan mana yang harus Anda dapatkan, Anda dapat mengunjungi tautan ini. Dia menjelaskan apa yang perlu Anda ketahui tentang membeli setiap bagian yang telah saya daftarkan. Tonton juga video Youtube ini. Ini akan membantu Anda jika Anda terjebak menyatukan bagian-bagiannya.
Langkah 2: Tips Menghubungkan dan Men-debug Bagian Fisik
Baling-baling dan Motor
- Untuk memeriksa apakah baling-baling Anda berada dalam orientasi yang benar (Terbalik atau tidak), ketika Anda memutarnya ke arah yang ditunjukkan oleh motor (kebanyakan motor memiliki panah yang menunjukkan bagaimana mereka harus berputar), Anda akan merasakan angin sepoi-sepoi di bawah baling-baling dan bukan di atas.
- Sekrup pada baling-baling yang berlawanan harus berwarna sama.
- Warna baling-baling yang berdekatan harus sama.
- Pastikan juga bahwa Anda telah mengatur motor sedemikian rupa sehingga berputar seperti pada gambar di atas.
- Jika Anda mencoba membalik arah motor, cukup tukar kabel di ujung yang berlawanan. Ini akan membalikkan arah motor.
Baterai dan Daya
- Jika karena alasan apa pun ada hal-hal yang memicu dan Anda tidak tahu mengapa, kemungkinan besar karena Anda telah bertukar positif dan negatif.
- Jika Anda tidak yakin kapan harus mengisi baterai, Anda dapat menggunakan voltmeter untuk memeriksa voltase. Jika lebih rendah dari spesifikasi pada baterai katakan, maka perlu diisi. Lihat tautan ini untuk mengisi daya baterai Anda.
- Sebagian besar baterai LIPO tidak dilengkapi dengan pengisi daya baterai. Anda membelinya secara terpisah.
Langkah 3: Pengontrol Arduino
Ini tidak diragukan lagi merupakan bagian tersulit dari keseluruhan proyek ini. Sangat mudah untuk meledakkan komponen dan debugging bisa sangat membuat frustrasi jika Anda tidak tahu apa yang Anda lakukan. Juga dalam proyek ini saya mengendalikan drone saya menggunakan bluetooth dan aplikasi yang akan saya tunjukkan cara membuatnya. Hal ini membuat proyek menjadi lebih sulit karena 99% dari tutorial di luar sana menggunakan pengontrol radio (ini bukan fakta lol), tapi jangan khawatir saya telah membuat Anda frustrasi.
Tips sebelum Anda memulai perjalanan ini
- Gunakan papan tempat memotong roti sebelum Anda menyelesaikan perangkat Anda pada PCB. Ini memungkinkan Anda membuat perubahan dengan mudah.
- Jika Anda telah menguji komponen secara ekstensif dan tidak berfungsi, mungkin komponen tersebut tidak berfungsi!
-
Lihatlah voltase yang dapat ditangani perangkat sebelum Anda mencolokkannya!
- Arduino dapat menangani 6 hingga 20V, tetapi cobalah untuk membatasinya pada 12V sehingga Anda tidak meledakkannya. Anda dapat membaca lebih lanjut tentang spesifikasinya di sini.
- HC-05 dapat menangani hingga 5V tetapi beberapa pin bekerja pada 3.3V jadi berhati-hatilah. Kami akan membicarakannya nanti.
- IMU (GY-521, MPU-6050) juga bekerja pada 5V.
- Kami akan menggunakan RemoteXY untuk membangun aplikasi kami. Jika Anda ingin membangunnya di perangkat iOS, Anda perlu menggunakan modul bluetooth yang berbeda (HM-10). Anda dapat mempelajari lebih lanjut tentang ini di situs web RemoteXY.
Semoga Anda sudah membaca tipsnya. Sekarang mari kita uji setiap komponen yang akan menjadi bagian dari controller secara terpisah.
Langkah 4: MPU-6050
Perangkat ini memiliki giroskop dan akselerometer, jadi pada dasarnya perangkat ini memberi tahu Anda percepatan dalam suatu arah (X, Y, Z) dan percepatan sudut di sepanjang arah tersebut.
Untuk menguji ini, kita dapat menggunakan tutorial ini, kita dapat menggunakan tutorial ini di situs web Arduino. Jika berhasil, Anda akan mendapatkan aliran nilai akselerometer dan giroskop yang berubah saat Anda memiringkan, memutar, dan mempercepat penyiapan. Juga, cobalah untuk mengubah dan memanipulasi kode sehingga Anda tahu apa yang terjadi.
Langkah 5: Modul Bluetooth HC-05
Anda tidak harus melakukan bagian ini tetapi penting untuk dapat masuk ke mode AT (mode pengaturan) karena kemungkinan besar Anda harus mengubah salah satu pengaturan modul. Ini adalah salah satu bagian yang paling membuat frustrasi tentang proyek ini. Saya melakukan begitu banyak penelitian untuk mencari cara agar modul saya masuk ke mode AT, karena perangkat saya tidak merespons perintah saya. Butuh waktu 2 hari untuk menyimpulkan bahwa modul saya rusak. Saya memesan yang lain dan berhasil. Lihat tutorial ini tentang masuk ke mode AT.
HC-05 hadir dalam berbagai jenis, ada beberapa dengan tombol dan beberapa tanpa dan segala macam variabel desain. Satu ini yang konstan adalah bahwa mereka semua memiliki "Pin 34". Lihat tutorial ini.
Hal-hal yang harus Anda ketahui
- Untuk masuk ke mode AT, cukup tahan 5V ke pin 34 modul bluetooth sebelum Anda menghubungkan daya ke modul tersebut.
- Hubungkan pembagi potensial ke pin RX modul karena berfungsi pada 3.3V. Anda masih bisa menggunakannya pada 5V tetapi mungkin menggoreng pin itu jika terjadi kesalahan.
- Jika Anda menggunakan Pin 34 (bukan tombol atau cara lain yang Anda temukan online), modul akan mengatur baud rate bluetooth ke 38400. Itu sebabnya di link untuk tutorial di atas ada baris kode yang mengatakan:
BTSerial.begin(38400); // Kecepatan default HC-05 dalam perintah AT lebih banyak
Jika modul masih tidak merespons dengan "OK", coba ganti pin tx dan rx. Harus:
Bluetooth =>Arduino
RXD =>TX1
TDX =>RX0
Jika itu masih tidak berhasil, pilih ubah pin dalam kode ke pin Arduino lainnya. Tes, jika tidak berhasil tukar pin tx dan rx, lalu tes lagi
Perangkat LunakSerial BTSerial(10, 11); // RX | TX
Ubah baris di atas. Anda dapat mencoba RX = 2, TX = 3 atau kombinasi valid lainnya. Anda dapat melihat nomor pin Arduino pada gambar di atas.
Langkah 6: Menghubungkan Bagian
Sekarang setelah kami yakin semuanya berfungsi, saatnya untuk mulai menyatukannya. Anda dapat menghubungkan bagian-bagian seperti yang ditunjukkan di sirkuit. Saya mendapatkannya dari Electronoobs. Dia sangat membantu saya dengan proyek ini. Lihat versi proyeknya di sini. Jika Anda mengikuti tutorial ini, Anda tidak perlu khawatir tentang koneksi penerima: input_Yaw, input_Pitch, dll. Semua itu akan ditangani dengan bluetooth. Juga, sambungkan bluetooth seperti yang kita lakukan di bagian sebelumnya. Pin tx dan rx saya memberi saya sedikit masalah, jadi saya menggunakan Arduino:
RX sebagai 2, dan TX sebagai 3, bukan pin normal. Selanjutnya, kami akan menulis aplikasi sederhana yang akan terus kami tingkatkan hingga kami memiliki produk akhir.
Langkah 7: Keindahan RemoteXY
Untuk waktu yang lama saya memikirkan cara mudah untuk membangun aplikasi Remote yang dapat digunakan yang memungkinkan saya mengontrol drone. Kebanyakan orang menggunakan MIT App Inventor, tetapi UI tidak secantik yang saya inginkan dan saya juga bukan penggemar pemrograman bergambar. Saya bisa mendesainnya menggunakan Android Studio tetapi itu akan menjadi terlalu banyak pekerjaan. Saya sangat senang ketika saya menemukan tutorial menggunakan RemoteXY. Berikut tautan ke situs web. Ini sangat mudah digunakan dan dokumentasinya sangat bagus. Kami akan membuat UI sederhana untuk drone kami. Anda dapat menyesuaikan milik Anda sesuka Anda. Pastikan Anda tahu apa yang Anda lakukan. Ikuti petunjuk di sini.
Setelah Anda selesai melakukannya, kami akan mengedit kodenya sehingga kami dapat mengubah throttle pada helikopter kami. Tambahkan baris yang memiliki /**** Hal-hal yang harus Anda lakukan dan mengapa ***/ ke kode Anda.
Jika tidak dikompilasi, pastikan Anda memiliki perpustakaan yang diunduh. Buka juga contoh sketsa dan bandingkan apa yang tidak dimiliki sketsa Anda.
//////////////////////////////////////////////RemoteXY termasuk Perpustakaan // /////////////////////////////////////////////
// RemoteXY pilih mode koneksi dan sertakan perpustakaan
#define REMOTEXY_MODE_HC05_SOFTSERIAL
#sertakan #sertakan #sertakan
// Pengaturan koneksi RemoteXY
#menentukan REMOTEXY_SERIAL_RX 2 #menentukan REMOTEXY_SERIAL_TX 3 #menentukan REMOTEXY_SERIAL_SPEED 9600
// Baling-baling
Servo L_F_prop; Servo L_B_prop; Servo R_F_prop; Servo R_B_prop;
// Konfigurasi RemoteXY
#pragma pack(push, 1) uint8_t RemoteXY_CONF = { 255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0 }; // struktur ini mendefinisikan semua variabel dari struct antarmuka kontrol Anda {
// memasukkan variabel
int8_t Joystick_x; // -100..100 x-koordinat posisi joystick int8_t Joystick_y; // -100..100 posisi joystick koordinat y int8_t ThrottleSlider; // 0,..100 posisi penggeser
// variabel lain
uint8_t connect_flag; // =1 jika kabel terhubung, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY termasuk /////////////////////////////////////////////////////////////////////////////////////////////////////// /
/************Tambahkan baris ini untuk menahan nilai throttle*************/
int masukan_THROTTLE;
batalkan pengaturan() {
RemoteXY_Init();
/**********Pasang motor ke Pin Ubah nilainya agar sesuai dengan milik Anda **************/
L_F_prop.attach(4); //motor depan kiri
L_B_prop.attach(5); //motor belakang kiri R_F_prop.attach(7); //motor depan kanan R_B_prop.attach(6); //motor belakang kanan
/*************Mencegah esc memasuki mode pemrograman*********************/
L_F_prop.writeMicroseconds(1000); L_B_prop.writeMicroseconds(1000); R_F_prop.writeMicroseconds(1000); R_B_prop.writeMicroseconds(1000); penundaan (1000);
}
lingkaran kosong() {
RemoteXY_Handler();
/****** Memetakan nilai throttle yang Anda dapatkan dari aplikasi ke 1000 dan 2000 yang merupakan nilai yang paling banyak dioperasikan oleh ESC *********/
input_THROTTLE = peta(RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);
L_F_prop.writeMicroseconds(input_THROTTLE);
L_B_prop.writeMicroseconds(input_THROTTLE); R_F_prop.writeMicroseconds(input_THROTTLE); R_B_prop.writeMicroseconds(input_THROTTLE); }
Langkah 8: Pengujian
Jika Anda telah melakukan semuanya dengan benar, Anda seharusnya dapat menguji helikopter Anda dengan menggeser throttle ke atas dan ke bawah. Pastikan Anda melakukannya di luar. Juga jangan biarkan baling-baling menyala karena itu akan menyebabkan helikopter melompat. Kami belum menulis kode untuk menyeimbangkannya, jadi itu akan menjadi IDE BURUK UNTUK MENGUJI INI DENGAN PROPELLER ON! Saya hanya melakukan ini karena lmao.
Demonstrasi ini hanya untuk menunjukkan bahwa kita harus dapat mengontrol throttle dari aplikasi. Anda akan melihat bahwa motor gagap. Ini karena ESC belum dikalibrasi. Untuk melakukan ini, lihat instruksi di halaman Github ini. Baca instruksi, buka file ESC-Calibration.ino dan ikuti instruksi tersebut. Jika Anda ingin memahami apa yang terjadi, lihat tutorial ini oleh Electronoobs.
Saat Anda menjalankan program, pastikan Anda mengikat drone dengan tali karena akan bekerja dengan kecepatan penuh. Pastikan juga baling-baling tidak menyala. Aku hanya membiarkan milikku karena aku setengah gila. JANGAN TINGGALKAN PROPELLER ANDA!!! Demonstrasi ini ditunjukkan dalam video kedua.
Langkah 9: Saya Sedang Mengerjakan Kode. Akan Menyelesaikan Instruksi dalam Beberapa Hari
Hanya ingin menambahkan bahwa jika Anda menggunakan tutorial ini dan menunggu saya, saya masih mengerjakannya. Hanya saja hal-hal lain dalam hidup saya telah muncul yang juga sedang saya kerjakan, tetapi jangan khawatir saya akan segera mempostingnya. Katakanlah paling lambat 10 Agustus 2019.
Pembaruan 10 Agustus: Tidak ingin membuat Anda menggantung. Sayangnya saya tidak punya waktu untuk mengerjakan proyek dalam seminggu terakhir. Sudah sangat sibuk dengan hal lain. Saya tidak ingin memimpin Anda. Mudah-mudahan saya akan menyelesaikan instruksi dalam waktu dekat. Jika Anda memiliki pertanyaan atau memerlukan bantuan, Anda dapat menambahkan komentar di bawah dan saya akan menghubungi Anda kembali.
Direkomendasikan:
Cara Mengubah Situs Web untuk Menampilkan Apapun yang Anda Inginkan.: 3 Langkah
Cara Mengubah Situs Web untuk Menampilkan Apa Pun yang Anda Inginkan.: Oh, kesenangan yang dapat Anda miliki… Ini adalah cara mudah dan sederhana yang gila untuk mengubah situs web di browser Anda untuk menampilkan apa pun yang Anda inginkan. Catatan. ini tidak mengubah situs web di mana pun selain browser Anda, dan jika Anda memuat ulang halaman web maka itu akan kembali
Bagaimana Saya Membangun Generator Sepeda Listrik Saya: 10 Langkah
Bagaimana Saya Membuat Generator Sepeda Listrik Saya: Paul Fleck
Ekstensi untuk Perangkat Lunak DJ Apa Pun yang Anda Inginkan!: 6 Langkah
Ekstensi untuk Perangkat Lunak DJ Apa Pun yang Anda Inginkan!: Tidak semua orang bisa langsung terjun ke DJing hari pertama dan diharapkan menyiapkan semua mixer dan turntable dan hot cues pad pada hari pertama, tapi mari kita nyata di sini: mixing di laptop menyebalkan. Untuk itulah, untuk menyelesaikan semua masalah keuangan Anda
Program PC Anda untuk Mati Secara Otomatis dengan Menetapkan Waktu Yang Anda Inginkan untuk Melakukannya: 4 Langkah
Program PC Anda untuk Mati Secara Otomatis dengan Menetapkan Waktu Yang Anda Ingin Lakukan Itu: hei, itu instruksi lain yang diambil dari kehidupan sehari-hari saya … terakhir kali saya harus mengunduh banyak perangkat lunak ke PC saya dan saya harus membiarkannya mengunduh semalaman, saya tidak ingin PC saya tetap menyala sepanjang malam setelah selesai mengunduh dan di s
Penggemar untuk Apapun yang Anda Inginkan: 4 Langkah
Penggemar untuk Apa pun yang Anda Inginkan: Oke, saatnya membuat kipas, Anda dapat melakukannya untuk apa pun yang Anda inginkan. bagian-bagian yang mungkin Anda perlukan adalah Motor paling bertenaga yang bisa Anda dapatkan …. Yah … Dalam batas kipas tentu saja …. (dan batas kipas bukan motor mobil, motor kipas angin raksasa yang besar itu