- Komponen yang Diperlukan untuk Arduino RC Boat
- Modul Pemancar dan Penerima RF 433MHz
- Pemancar RF 433MHZ
- Diagram Blok Pemancar Perahu RC Arduino
- Diagram Sirkuit Remote RC Arduino (Transmitter)
- Membangun Sirkuit Pemancar RC BOAT
- Membangun Enklosur Pemancar Perahu RC Arduino
- Modul Penerima 433Mhz
- Diagram Blok Penerima Perahu RC Arduino
- Diagram Sirkuit Penerima Perahu RC Arduino
- Membangun Sirkuit Penerima Arduino RC Boat
- Membangun RC-BOAT
- Motor dan Propeller untuk Arduino Air Boat
- Pengerjaan Arduino RC Boat
- Pemrograman Arduino dari RC Boat
Dalam proyek ini, kami akan membangun Arduino Air-Boat yang dikendalikan dari jarak jauh yang dapat dikontrol secara nirkabel menggunakan Modul Radio RF 433 MHz. Kami akan mengontrol kapal ini menggunakan remote control buatan sendiri dengan membangun pemancar 433 MHz dan modul penerima kami sendiri. Dalam kasus perangkat yang dikendalikan dari jarak jauh atau komunikasi antara dua perangkat, kami memiliki banyak pilihan seperti IR, Bluetooth, internet, RF, dll. Jika dibandingkan dengan komunikasi IR, komunikasi radio memiliki beberapa keunggulan seperti jangkauan yang lebih jauh dan tidak membutuhkan sambungan garis pandang antara pemancar dan penerima. Selain itu, modul-modul ini dapat melakukan dua cara komunikasi, artinya dapat mengirim dan menerima pada waktu yang bersamaan. Jadi dengan menggunakan modul RF 433MHz ini, mari kita membangun Arduino RC Boat dalam tutorial ini.
Kami sebelumnya telah membangun banyak proyek yang dikendalikan jarak jauh menggunakan modul RF 433Mhz ini baik untuk mengendalikan Robot seperti Robot yang dikendalikan RF ini atau untuk aplikasi Otomasi Rumah untuk Mengontrol peralatan Rumah tangga menggunakan RF. Selain menggunakan modul RF, kami juga telah membangun Mobil Raspberry Pi Terkendali Bluetooth dan Robot Arduino yang dikendalikan ponsel DTMF sebelumnya. Anda juga dapat melihat proyek-proyek ini jika Anda tertarik.
Komponen yang Diperlukan untuk Arduino RC Boat
- 433MHz pemancar dan penerima
- Arduino (Arduino apa saja, untuk memperkecil ukuran saya menggunakan promini)
- HT12E dan HT12D
- Tombol tekan- 4Nos
- Resistor- 1mega ohm, 47k ohm
- Pengemudi Motor L293d
- Baterai 9V (Saya menggunakan baterai 7,4 volt) - 2Nos
- 7805 regulator- 2Nos
- Motor DC- 2Nos
- Daun motor atau propeler (Saya menggunakan propeler buatan sendiri) - 2Nos
- .1uf kapasitor- 2Nos
- PCB biasa
Modul Pemancar dan Penerima RF 433MHz
Jenis modul RF ini sangat populer di kalangan pembuat. Karena biaya rendah dan kesederhanaan dalam koneksi. Modul-modul ini paling baik untuk semua bentuk proyek komunikasi jarak pendek. Modul tersebut adalah modul RF tipe ASK (Amplitude Shift Keying), Amplitude-shift keying (ASK) adalah bentuk modulasi amplitudo yang merepresentasikan data digital sebagai variasi amplitudo gelombang pembawa. Dalam sistem ASK, simbol biner 1 diwakili dengan mentransmisikan gelombang pembawa amplitudo tetap dan frekuensi tetap untuk durasi bit T detik. Jika nilai sinyal adalah 1, maka sinyal pembawa akan dikirim; jika tidak, nilai sinyal 0 akan dikirim. Itu berarti mereka biasanya tidak menarik daya saat mentransmisikan Logika "nol". Konsumsi daya yang rendah ini membuatnya sangat berguna dalam proyek yang dioperasikan dengan baterai.
Pemancar RF 433MHZ
Jenis modul ini sangat kecil dan dilengkapi dengan 3 pin VCC, ground, dan data. Beberapa modul lain dilengkapi dengan pin antena tambahan. Tegangan kerja modul pemancar adalah 3V-12V dan modul ini tidak memiliki komponen yang dapat disesuaikan. Salah satu keuntungan utama dari modul ini adalah konsumsi arus rendah, membutuhkan arus hampir nol untuk mengirim bit nol.
Diagram Blok Pemancar Perahu RC Arduino
Pada diagram blok di atas, terdapat empat tombol tekan (Tombol Kontrol), tombol ini untuk mengontrol arah kapal. Kami memiliki empat di antaranya untuk maju, mundur, kiri, dan kanan. Dari tombol tekan, kami mendapatkan logika untuk mengendalikan perahu tetapi tidak dapat langsung terhubung ke encoder itu sebabnya kami menggunakan Arduino. Anda mungkin berpikir mengapa saya menggunakan Arduino di sini, itu hanya karena kita perlu menarik dua input data paralel dari encoder pada saat yang sama untuk gerakan mundur dan maju yang tidak dapat dicapai hanya dengan menekan tombol. Kemudian encoder mengenkode data paralel yang datang ke output serial. Kemudian kami dapat mengirimkan data serial itu dengan bantuan pemancar RF.
Diagram Sirkuit Remote RC Arduino (Transmitter)
Pada rangkaian di atas, Anda dapat melihat satu sisi dari keempat tombol tekan yang terhubung ke empat pin digital Arduino (D6-D9) dan keempat sisi lainnya terhubung ke tanah. Saat itulah kita menekan tombol, pin digital yang sesuai mendapatkan logika rendah. Empat input paralel dari encoder HT12E terhubung ke empat pin digital Arduino (D2-D5). Jadi dengan bantuan Arduino, kita bisa menentukan input encodernya.
Dan berbicara tentang encoder HT12E adalah encoder 12-bit dan encoder output serial input paralel. Dari 12 bit, 8-bit adalah bit alamat yang dapat digunakan untuk mengontrol banyak penerima. Pin A0-A7 adalah pin masukan alamat. Dalam proyek ini, kami hanya mengontrol satu penerima, jadi kami tidak ingin mengubah alamatnya, jadi saya menghubungkan semua pin alamat ke ground. Jika Anda ingin mengontrol penerima yang berbeda dengan satu pemancar, Anda dapat menggunakan sakelar celup di sini. AD8-AD11 adalah input bit kontrol. Input ini akan mengontrol output D0-D3 dari dekoder HT12D. Kita perlu menghubungkan osilator untuk komunikasi dan frekuensi osilator harus 3KHzuntuk operasi 5V. Maka nilai resistor akan menjadi 1.1MΩ untuk 5V. Kemudian saya menghubungkan output HT12E ke modul pemancar. Kami sudah menyebutkan, modul pemancar Arduino dan rf, kedua perangkat ini bekerja pada tegangan tinggi 5V akan mematikannya, jadi untuk menghindari hal ini, saya menambahkan 7805, pengatur tegangan. Sekarang kita dapat menghubungkan (Vcc) 6-12volt semua jenis baterai ke input.
Membangun Sirkuit Pemancar RC BOAT
Saya menyolder setiap komponen pada PCB umum. Ingat kami sedang mengerjakan proyek RF sehingga ada banyak kemungkinan untuk berbagai jenis gangguan, jadi hubungkan semua komponen sedekat mungkin. Lebih baik menggunakan header pin wanita untuk Arduino dan modul pemancar. Selain itu, coba solder semua yang ada di bantalan tembaga alih-alih menggunakan kabel ekstra. Terakhir, sambungkan kabel kecil ke modul pemancar yang akan membantu meningkatkan jangkauan total. Sebelum menghubungkan Arduino dan modul pemancar, periksa kembali voltase keluaran lm7805.
Gambar di atas menunjukkan tampilan atas dari rangkaian pemancar RC Boat yang telah selesai dan tampilan Bawah dari rangkaian Pemancar RC Boat yang telah selesai ditampilkan di bawah ini.
Membangun Enklosur Pemancar Perahu RC Arduino
Tubuh yang layak diperlukan untuk remote. Langkah ini adalah tentang ide-ide Anda, Anda dapat membuat badan jarak jauh dengan ide-ide Anda. Saya menjelaskan bagaimana saya membuat ini. Untuk remote body saya pilih sheet MDF 4mm, bisa juga pilih triplek, foam sheet, atau kardus, lalu saya potong 2 potong dengan panjang 10cm dan lebar 5cm. Kemudian saya menandai posisi tombol. Saya menempatkan tombol arah di sisi kiri dan maju, tombol mundur di kanan. Di sisi lain lembaran, saya menghubungkan tombol tekan ke sirkuit transmisi utama. Ingat tombol tekan normal memiliki 4 pin yang merupakan dua pin untuk setiap sisinya. Hubungkan satu pin ke Arduino dan pin lainnya ke tanah. Kalau bingung silahkan cek dengan multimeter atau cek datasheetnya.
Setelah menghubungkan semua hal ini, saya menempatkan sirkuit kontrol di antara dua papan MDF dan mengencangkannya dengan beberapa baut panjang (lihat gambar di bawah jika Anda mau). Sekali lagi, menciptakan tubuh yang baik adalah tentang ide-ide Anda.
Modul Penerima 433Mhz
Receiver ini juga sangat kecil dan dilengkapi dengan 4 pin VCC, ground, dan dua pin tengah untuk data out. Tegangan kerja modul ini adalah 5v. Seperti modul pemancar, ini juga merupakan modul berdaya rendah. Beberapa modul dilengkapi dengan pin antena tambahan tetapi dalam kasus saya, itu tidak ada.
Diagram Blok Penerima Perahu RC Arduino
Diagram blok di atas menjelaskan cara kerja rangkaian penerima RF. Pertama, kita dapat menerima sinyal yang dikirim menggunakan modul penerima RF. Output dari receiver ini adalah data serial. Tetapi kami tidak dapat mengontrol apa pun dengan data serial ini, itulah sebabnya kami menghubungkan output ke decoder. Decoder menerjemahkan data serial ke data paralel asli kami. Di bagian ini, kami tidak memerlukan mikrokontroler, kami dapat langsung menghubungkan output ke driver motor.
Diagram Sirkuit Penerima Perahu RC Arduino
The HT12D adalah 12-bit decoder yang merupakan input-paralel seri keluaran decoder. Pin input HT12D akan dihubungkan ke receiver yang memiliki output serial. Di antara 12-bit, 8 bit (A0-A7) adalah bit alamat dan HT12D akan mendekode input jika hanya cocok dengan alamatnya saat ini. D8-D11 adalah bit keluaran. Untuk mencocokkan sirkuit ini dengan sirkuit pemancar, saya menghubungkan semua pin alamat ke ground. Data yang keluar dari modul adalah tipe serial dan decoder mendekode data serial ini menjadi data paralel asli dan kami keluar melalui D8-D11. Untuk mencocokkan frekuensi osilasi, hubungkan resistor 33-56k ke pin osilator. Led pada pin ke-17 menunjukkan transmisi yang valid, itu hanya menyala setelah penerima terhubung ke pemancar. Input tegangan penerima juga 6-12 volt.
Untuk mengontrol motor, saya menggunakan IC L293D, saya memilih IC ini karena untuk memperkecil ukuran dan berat dan IC ini paling baik untuk mengendalikan dua motor dalam dua arah. L293D memiliki 16 pin, diagram di bawah ini menunjukkan pinout.
1, 9 pin adalah pin pengaktifan, kami menghubungkannya ke 5 v untuk mengaktifkan motor 1A, 2A, 3A, dan 4A adalah pin kontrol. Motor akan berbelok ke kanan jika pin 1A rendah dan 2A tinggi, dan motor akan berbelok ke kiri jika 1A rendah dan tinggi 2A. Jadi kami menghubungkan pin ini ke output ps dari decoder. 1Y, 2Y, 3Y, dan 4Y adalah pin sambungan motor. Vcc2 adalah pin tegangan penggerak motor, jika Anda menggunakan motor tegangan tinggi, maka Anda menghubungkan pin ini ke sumber tegangan yang sesuai.
Membangun Sirkuit Penerima Arduino RC Boat
Sebelum membangun sirkuit penerima, Anda harus mengingat beberapa hal penting. Yang terpenting adalah ukuran dan beratnya karena setelah membangun sirkuit, kita perlu memperbaikinya di atas kapal. Jadi jika bobot bertambah, itu akan mempengaruhi daya apung dan pergerakannya.
Sama seperti di sirkuit pemancar, solder setiap komponen di PCB umum kecil dan coba gunakan kabel minimum. Saya menghubungkan pin 8 dari driver motor ke 5v karena saya menggunakan motor 5V.
Membangun RC-BOAT
Saya mencoba berbagai bahan untuk membangun badan perahu. Dan saya mendapatkan hasil yang lebih baik dengan lembar termocol. Jadi saya memutuskan untuk membangun tubuh dengan thermocol. Pertama, saya mengambil sepotong thermocol setebal 3cm dan menempatkan sirkuit penerima di atasnya, lalu saya menandai bentuk perahu di thermocol dan memotong. Jadi inilah cara saya membuat perahu, Anda bisa membangunnya sesuai dengan ide Anda.
Motor dan Propeller untuk Arduino Air Boat
Sekali lagi berat penting. Jadi memilih motor yang benar itu penting, saya memilih motor dc normal tipe 5volt, n20 yang kecil dan tidak berbobot. Untuk menghindari interferensi RF harus menghubungkan kapasitor 0.1uf sejajar dengan input motor.
Untuk baling-baling, saya membuat baling-baling menggunakan lembaran plastik. Anda dapat membeli baling-baling dari toko atau Anda dapat membuat sendiri keduanya akan berfungsi dengan baik. Untuk membuat baling-baling, pertama, saya mengambil selembar plastik kecil dan memotong dua bagian kecil darinya dan saya membengkokkannya dengan bantuan panas lilin. Akhirnya, saya membuat lubang kecil di tengahnya untuk motor dan memperbaiki motor itu saja.
Pengerjaan Arduino RC Boat
Perahu ini memiliki dua motor sebut saja kiri dan kanan. Jika motor bergerak searah jarum jam juga (posisi propeler juga tergantung) propeler menghisap udara dari depan dan knalpot ke belakang. Itu menghasilkan tarikan ke depan.
Gerakan maju: Jika kedua motor kiri dan kanan berputar searah jarum jam maka akan bergerak maju
Gerakan mundur: Jika kedua motor kiri dan kanan berputar berlawanan arah jarum jam (yaitu baling-baling menghisap udara dari belakang dan buang ke depan) yang akan membuat gerakan mundur
Gerakan kiri: Jika hanya motor kanan yang berputar maka perahu hanya mendapatkan drag dari sisi kanan yang akan membuat perahu bergerak ke kiri.
Gerakan kanan: Jika hanya motor kiri yang berputar maka perahu hanya mendapat hambatan dari sisi kiri yang akan membuat perahu bergerak ke sisi kanan.
Kami menghubungkan input driver motor ke empat bit output decoder (D8-D11). kita dapat mengontrol 4 output ini dengan menghubungkan AD8-AD11 ke ground yang merupakan tombol-tombol di remote. Misalnya jika kita menghubungkan AD8 ke ground yang akan mengaktifkan D8. Sehingga kita dapat mengontrol kedua motor dalam dua arah menggunakan 4 keluaran ini. Tetapi kami tidak dapat mengontrol dua motor hanya dengan satu tombol (kami membutuhkannya untuk gerakan maju dan mundur) itulah mengapa kami menggunakan Arduino. Dengan bantuan Arduino, kita dapat memilih pin data masukan sesuai keinginan kita.
Pemrograman Arduino dari RC Boat
Pemrograman kapal ini sangat sederhana karena kami hanya menginginkan beberapa peralihan logika. Dan kami dapat mencapai semuanya dengan fungsi Arduino dasar. Program lengkap untuk proyek ini dapat ditemukan di bagian bawah halaman ini. Penjelasan program Anda adalah sebagai berikut
Kami memulai program dengan menentukan bilangan bulat untuk empat tombol input dan pin input decoder.
int f_button = 9; int b_button = 8; int l_button = 7; int r_button = 6; int m1 = 2; int m2 = 3; int m3 = 4; int m4 = 5;
Di bagian pengaturan, saya mendefinisikan mode pin. Artinya, tombol-tombol tersebut terhubung ke pin digital sehingga pin ini harus didefinisikan sebagai input dan kita perlu mendapatkan output untuk input decoder sehingga kita harus mendefinisikan pin tersebut sebagai output.
pinMode (f_button, INPUT_PULLUP); pinMode (tombol_b, INPUT_PULLUP); pinMode (l_button, INPUT_PULLUP); pinMode (r_button, INPUT_PULLUP); pinMode (m1, OUTPUT); pinMode (m2, OUTPUT); pinMode (m3, OUTPUT); pinMode (m4, OUTPUT);
Selanjutnya pada fungsi main loop, kita akan membaca status tombol menggunakan fungsi digitalread dari Arduino. Jika status pin low berarti pin yang bersangkutan ditekan maka kita akan menjalankan kondisi sebagai berikut-
if (digitalRead (f_button) == LOW)
Artinya tombol maju ditekan
{ digitalWrite (m1, LOW); digitalWrite (m3, LOW); digitalWrite (m2, HIGH); digitalWrite (m4, TINGGI); }
Ini akan menarik m1 dan m2 dari encoder ini akan mengaktifkan kedua motor di sisi penerima. Begitu pula untuk gerakan mundur
{ digitalWrite (m1, HIGH); digitalWrite (m3, HIGH); digitalWrite (m2, LOW); digitalWrite (m4, LOW); }
Untuk gerakan kiri
{ digitalWrite (m1, LOW); digitalWrite (m3, HIGH); digitalWrite (m2, HIGH); digitalWrite (m4, TINGGI); }
Untuk gerakan yang benar
{ digitalWrite (m1, HIGH); digitalWrite (m3, LOW); digitalWrite (m2, HIGH); digitalWrite (m4, TINGGI); }
Setelah menyusun kode, unggah ke papan Arduino Anda.
Pemecahan masalah: Letakkan perahu di permukaan air dan periksa apakah kapal bergerak dengan benar jika tidak coba ubah polaritas motor dan baling-baling. Selain itu, cobalah untuk menyeimbangkan berat badan.
Pekerjaan lengkap proyek dapat ditemukan dalam video yang ditautkan di bagian bawah halaman ini. Jika Anda memiliki pertanyaan, tinggalkan di bagian komentar.