- Komponen Diperlukan untuk Arduino RC Boat
- Modul Pemancar dan Penerima RF 433MHz
- Pemancar RF 433MHZ
- Gambarajah Blok Arduino RC Boat Transmitter
- Litar Diagram Arduino RC Remote (Pemancar)
- Membina Litar Pemancar RC BOAT
- Membina Kandang Pemancar Perahu RC Arduino
- Modul Penerima 433Mhz
- Blok Diagram Penerima Perahu RC Arduino
- Diagram Litar Penerima Perahu RC Arduino
- Membina Litar Penerima Perahu RC Arduino
- Membina RC-BOAT
- Motor dan Baling-Baling untuk Arduino Air Boat
- Kerja Perahu Arduino RC
- Pengaturcaraan Arduino Perahu RC
Dalam projek ini, kami akan membina Arduino Air-Boat yang dikendalikan dari jauh yang dapat dikendalikan secara tanpa wayar menggunakan Modul Radio RF 433 MHz. Kami akan mengawal kapal ini menggunakan alat kawalan jauh buatan sendiri dengan membina modul pemancar dan penerima 433 MHz kami sendiri. Sekiranya alat kawalan jauh atau komunikasi antara dua peranti, kami mempunyai banyak pilihan seperti IR, Bluetooth, internet, RF, dll. Jika dibandingkan dengan komunikasi IR, komunikasi radio mempunyai beberapa kelebihan seperti jarak jauh dan tidak memerlukan sambungan garis penglihatan antara pemancar dan penerima. Juga, modul ini dapat melakukan dua cara komunikasi, yang bermaksud dapat menghantar dan menerima pada masa yang sama. Oleh itu, dengan menggunakan modul RF 433MHz ini, mari kita bina Arduino RC Boat dalam tutorial ini.
Kami sebelum ini telah membina banyak projek kawalan jauh menggunakan modul RF 433Mhz ini untuk mengawal Robot seperti Robot yang dikendalikan oleh RF ini atau untuk aplikasi Automasi Rumah untuk Mengendalikan peralatan Rumah Tangga menggunakan RF. Selain menggunakan modul RF, kami juga telah membina Bluetooth Raspberry Pi Car terkawal dan telefon bimbit DTMF Mobile yang dikendalikan Arduino Robot sebelumnya. Anda juga boleh melihat projek-projek ini jika anda berminat.
Komponen Diperlukan untuk Arduino RC Boat
- Pemancar dan penerima 433MHz
- Arduino (Arduino apa pun, untuk mengurangkan ukuran yang saya gunakan promini)
- HT12E dan HT12D
- Tekan butang- 4Nos
- Perintang- 1mega ohm, 47k ohm
- Pemandu Motor L293d
- Bateri 9V (Saya menggunakan bateri 7.4 volt) - 2Nos
- 7805 pengatur- 2Nos
- Motor DC- 2Nos
- Daun motor atau baling-baling (saya menggunakan propeller buatan sendiri) - 2Nos
- .1uf kapasitor- 2Nos
- PCB biasa
Modul Pemancar dan Penerima RF 433MHz
Jenis modul RF ini sangat popular di kalangan pembuatnya. Kerana kos rendah dan kesederhanaan dalam hubungan. Modul ini terbaik untuk semua bentuk projek komunikasi jarak dekat. Modul ini adalah modul RF jenis ASK (Amplitude Shift Keying), Amplitude-shift keying (ASK) adalah bentuk modulasi amplitud yang mewakili data digital sebagai variasi dalam amplitud gelombang pembawa. Dalam sistem ASK, simbol binari 1 dilambangkan dengan menghantar gelombang pembawa amplitud tetap dan frekuensi tetap untuk durasi bit T saat. Sekiranya nilai isyarat adalah 1, maka isyarat pembawa akan dihantar; jika tidak, nilai isyarat 0 akan dihantar. Itu bermaksud mereka biasanya tidak menggunakan kuasa ketika mengirimkan Logik “zero”. Penggunaan tenaga yang rendah ini menjadikannya sangat berguna dalam projek yang dikendalikan bateri.
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. Voltan kerja modul pemancar adalah 3V-12V dan modul ini tidak mempunyai komponen yang boleh disesuaikan. Salah satu kelebihan utama modul ini ialah penggunaan arus rendah, memerlukan arus hampir sifar untuk menghantar bit sifar.
Gambarajah Blok Arduino RC Boat Transmitter
Dalam gambarajah blok di atas, terdapat empat butang tekan (Control Button), butang tekan ini adalah untuk mengawal arah kapal. Kami mempunyai empat daripadanya untuk maju, mundur, kiri, dan kanan. Dari butang tekan, kami mendapat logik untuk mengawal kapal tetapi tidak dapat menyambung terus ke pengekod sebab itu kami menggunakan Arduino. Anda mungkin berfikir mengapa saya menggunakan Arduino di sini, ini hanya kerana kita perlu menurunkan dua input data selari pengekod pada masa yang sama untuk pergerakan mundur dan maju yang tidak dapat dicapai dengan hanya menekan butang. Kemudian pengekod mengekod data selari yang akan datang ke output bersiri. Kemudian kita dapat menghantar data bersiri itu dengan bantuan pemancar RF.
Litar Diagram Arduino RC Remote (Pemancar)
Dalam litar di atas, anda dapat melihat satu sisi keempat-empat butang tekan yang disambungkan ke empat pin digital Arduino (D6-D9) dan keempat-empat sisi lain disambungkan ke tanah. Ketika kita menekan butang, pin digital yang sesuai akan menjadi rendah. Empat input selari pengekod HT12E disambungkan ke empat pin digital lain dari Arduino (D2-D5). Oleh itu, dengan bantuan Arduino, kita dapat memutuskan input pengekod.
Dan bercakap tentang pengekod HT12E adalah pengekod 12-bit dan pengekod output-siri bersiri yang selari. Dari 12 bit, 8-bit adalah bit alamat yang dapat digunakan untuk mengendalikan beberapa penerima. Pin A0-A7 adalah pin input alamat. Dalam projek ini, kami hanya mengendalikan satu penerima, jadi kami tidak mahu menukar alamatnya, jadi saya menghubungkan semua pin alamat ke tanah. Sekiranya anda ingin mengawal penerima yang berbeza dengan satu pemancar, anda boleh menggunakan suis dip di sini. AD8-AD11 adalah input bit kawalan. Input ini akan mengawal output D0-D3 dari penyahkod HT12D. Kita perlu menyambungkan pengayun untuk komunikasi dan frekuensi pengayun harus 3KHzuntuk operasi 5V. Maka nilai perintang akan menjadi 1.1MΩ untuk 5V. Kemudian saya menyambungkan output HT12E ke modul pemancar. Kami telah menyebutkan, modul pemancar Arduino dan rf, kedua-dua peranti ini berfungsi pada voltan tinggi 5V akan membunuhnya, jadi untuk mengelakkan ini, saya menambahkan pengatur voltan 7805. Sekarang kita boleh menyambungkan (Vcc) 6-12volt sebarang jenis bateri untuk dimasukkan.
Membina Litar Pemancar RC BOAT
Saya menyolder setiap komponen pada PCB biasa. Ingatlah bahawa kita sedang mengusahakan projek RF sehingga ada banyak kemungkinan untuk pelbagai jenis gangguan sehingga menghubungkan semua komponen sedekat mungkin. Lebih baik menggunakan header pin wanita untuk Arduino dan modul pemancar. Juga, cubalah menyolder semua yang ada pada tembaga pad daripada menggunakan wayar tambahan. Akhirnya, sambungkan wayar kecil ke modul pemancar yang akan membantu meningkatkan julat keseluruhan. Sebelum menyambungkan modul Arduino dan pemancar, periksa semula voltan output lm7805.
Gambar di atas menunjukkan paparan atas litar pemancar RC Boat yang lengkap dan paparan bawah litar pemancar RC Boat yang lengkap ditunjukkan di bawah.
Membina Kandang Pemancar Perahu RC Arduino
Badan yang baik diperlukan untuk alat kawalan jauh. Langkah ini adalah mengenai idea anda, anda boleh membuat badan jauh dengan idea anda. Saya menerangkan bagaimana saya membuat ini. Untuk membuat badan jauh, saya memilih kepingan MDF 4mm, anda juga boleh memilih papan lapis, kepingan busa, atau kadbod, kemudian saya memotong dua keping dari itu dengan panjang 10cm dan lebar 5cm. Kemudian saya menandakan kedudukan untuk butang. Saya meletakkan butang arah di sebelah kiri dan ke depan, butang ke belakang di sebelah kanan. Di bahagian lain lembaran, saya menyambungkan butang tekan ke litar pemancar utama. Ingat, butang tekan biasa mempunyai 4 pin iaitu dua pin untuk setiap sisi. Sambungkan satu pin ke Arduino dan pin yang lain ke tanah. Sekiranya anda keliru, sila periksa dengan multimeter atau periksa lembaran data.
Setelah menyambungkan semua perkara ini, saya meletakkan litar kawalan di antara dua papan MDF dan ketatkan dengan beberapa bolt panjang (sila lihat gambar di bawah jika anda mahu). Sekali lagi mewujudkan badan yang baik adalah semua idea anda.
Modul Penerima 433Mhz
Penerima ini juga sangat kecil dan dilengkapi dengan 4 pin VCC, ground, dan dua pin tengah data keluar. Voltan kerja modul ini ialah 5v. Seperti modul pemancar, ini juga merupakan modul kuasa rendah. Beberapa modul dilengkapi dengan pin antena tambahan tetapi dalam kes saya, itu tidak ada.
Blok Diagram Penerima Perahu RC Arduino
Gambarajah blok di atas menerangkan kerja litar penerima RF. Pertama, kita dapat menerima isyarat yang dihantar menggunakan modul penerima RF. Keluaran penerima ini adalah data bersiri. Tetapi kami tidak dapat mengawal apa-apa dengan data bersiri ini sebab itulah kami menghubungkan output ke penyahkod. Penyahkod menyahkod data bersiri ke data selari asal kami. Di bahagian ini, kami tidak memerlukan pengawal mikro, kami dapat menghubungkan output secara langsung ke pemandu motor.
Diagram Litar Penerima Perahu RC Arduino
The HT12D ialah decoder 12-bit yang merupakan input selari decoder output bersiri. Pin input HT12D akan disambungkan ke penerima yang mempunyai output bersiri. Di antara 12-bit, 8 bit (A0-A7) adalah bit alamat dan HT12D akan menyahkod input jika hanya sesuai dengan alamatnya sekarang. D8-D11 adalah bit output. Untuk memadankan litar ini dengan litar pemancar, saya menyambungkan semua pin alamat ke tanah. Data yang keluar dari modul adalah jenis siri dan penyahkod menyahkodkan data bersiri ini menjadi data selari yang asli dan kami keluar melalui D8-D11. Untuk memadankan frekuensi ayunan harus menyambungkan perintang 33-56k ke pin pengayun. Dipimpin pada pin ke-17 menunjukkan transmisi yang sah, ia hanya menyala setelah penerima disambungkan ke pemancar. Input voltan penerima juga 6-12 volt.
Untuk mengawal motor, saya menggunakan L293D IC, saya memilih IC ini kerana untuk mengurangkan ukuran dan berat dan IC ini paling baik untuk mengendalikan dua motor dalam dua arah. L293D mempunyai 16 pin, rajah di bawah menunjukkan pinout.
1, 9 pin adalah pin pengaktifan, kami sambungkan ke 5 v untuk membolehkan motor 1A, 2A, 3A, dan 4A adalah pin kawalan. Motor akan berpusing ke kanan jika pin 1A turun rendah dan 2A naik tinggi, dan motor akan berpusing ke kiri jika 1A rendah dan tinggi 2A. Oleh itu, kami menyambungkan pin ini ke output ps penyahkod. 1Y, 2Y, 3Y, dan 4Y adalah pin sambungan motor. Vcc2 adalah pin voltan penggerak motor, jika anda menggunakan motor voltan tinggi, maka anda sambungkan pin ini ke sumber voltan yang sesuai.
Membina Litar Penerima Perahu RC Arduino
Sebelum membina litar penerima, anda harus ingat beberapa perkara penting. Yang penting adalah ukuran dan berat kerana setelah membina litar, kita perlu memperbaikinya di atas kapal. Jadi jika berat badan meningkat, itu akan mempengaruhi daya apung dan pergerakannya.
Sama seperti di litar pemancar, pateri setiap komponen dalam PCB biasa yang kecil dan cuba gunakan wayar minimum. Saya menyambungkan pin 8 pemandu motor ke 5v kerana saya menggunakan motor 5V.
Membina RC-BOAT
Saya mencuba pelbagai bahan untuk membina badan kapal. Dan saya mendapat hasil yang lebih baik dengan lembaran termokol. Oleh itu, saya memutuskan untuk membina badan dengan termokol. Pertama, saya mengambil sekeping termokol setebal 3cm dan meletakkan litar penerima di atas, kemudian saya menandakan bentuk kapal dalam termokol dan dipotong. Jadi ini adalah cara saya untuk membina kapal, anda boleh membina mengikut idea anda.
Motor dan Baling-Baling untuk Arduino Air Boat
Sekali lagi berat badan menjadi penting. Oleh itu, memilih motor yang betul adalah penting, saya memilih motor dc normal jenis 5volt, n20 yang kecil dan tidak berat. Untuk mengelakkan gangguan RF harus menghubungkan kapasitor 0.1uf selari dengan input motor.
Bagi baling-baling, saya membuat baling-baling menggunakan kepingan plastik. Anda boleh membeli baling-baling dari kedai atau anda boleh membina sendiri kedua-duanya akan berfungsi dengan baik. Untuk membina baling-baling, pertama, saya mengambil kepingan plastik kecil dan memotong dua kepingan kecil dari itu dan saya membengkokkan kepingan dengan bantuan lilin panas. Akhirnya, saya meletakkan lubang kecil di tengahnya untuk motor dan terpaku pada motor yang ada.
Kerja Perahu Arduino RC
Perahu ini mempunyai dua motor yang memungkinkan untuk menyebutnya kiri dan kanan. Sekiranya motor bergerak ke arah pusingan jam juga (kedudukan propelor juga bergantung) propellor menghisap udara dari depan dan ekzos ke bahagian belakang. Itu menghasilkan seretan ke hadapan.
Pergerakan ke hadapan: Sekiranya kedua-dua motor kiri dan kanan berputar ke arah pusingan jam yang akan memajukan pergerakan
Pergerakan ke belakang: Sekiranya kedua-dua motor kiri dan kanan berputar berlawanan arah jarum jam (iaitu baling-baling menghisap udara dari bahagian belakang dan ekzos ke sisi depan) yang akan membuat pergerakan ke belakang
Pergerakan kiri: Sekiranya hanya motor kanan yang berputar iaitu perahu hanya seret dari sebelah kanan sehingga perahu akan bergerak ke sebelah kiri
Pergerakan kanan: Sekiranya hanya motor kiri yang berpusing maka perahu hanya diseret dari sebelah kiri yang akan membuat perahu bergerak ke sebelah kanan.
Kami menghubungkan input pemandu motor ke empat bit output penyahkod (D8-D11). kita dapat mengawal 4 output ini dengan menghubungkan AD8-AD11 ke tanah yang merupakan butang di alat kawalan jauh. Sebagai contoh, jika kita menyambungkan AD8 ke tanah yang akan mengaktifkan D8. Oleh itu, kita dapat mengawal kedua-dua motor dalam dua arah menggunakan 4 output ini. Tetapi kita tidak dapat mengawal dua motor dengan hanya satu butang (kita memerlukannya untuk pergerakan ke depan dan ke belakang) sebab itulah kita menggunakan Arduino. Dengan bantuan Arduino, kami dapat memilih pin data input sebagai kehendak kami.
Pengaturcaraan Arduino Perahu RC
Pengaturcaraan kapal ini sangat mudah kerana kami hanya memerlukan pertukaran logik sahaja. Dan kita dapat mencapai segalanya dengan fungsi asas Arduino. Program lengkap untuk projek ini terdapat di bahagian bawah halaman ini. Penjelasan mengenai program anda adalah seperti berikut
Kami memulakan program dengan menentukan bilangan bulat untuk empat butang input dan pin input penyahkod.
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 bahagian persediaan, saya menentukan mod pin. Maksudnya, butang disambungkan ke pin digital sehingga pin ini harus didefinisikan sebagai input dan kita perlu mendapatkan output untuk input penyahkod sehingga kita harus menentukan pin tersebut sebagai output.
pinMode (f_button, INPUT_PULLUP); pinMode (b_button, 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 dalam fungsi gelung utama, kita akan membaca status butang menggunakan fungsi digitalread Arduino. Sekiranya status pin menjadi rendah yang bermaksud pin yang sesuai ditekan maka kita akan melaksanakan syarat seperti berikut-
jika (digitalRead (f_button) == RENDAH)
Itu bermaksud butang ke depan ditekan
{ digitalWrite (m1, RENDAH); digitalWrite (m3, RENDAH); digitalWrite (m2, TINGGI); digitalWrite (m4, TINGGI); }
Ini akan melancarkan m1 dan m2 pengekod ini akan mengaktifkan kedua-dua motor di sisi penerima. Begitu juga untuk pergerakan ke belakang
{ digitalWrite (m1, TINGGI); digitalWrite (m3, TINGGI); digitalWrite (m2, RENDAH); digitalWrite (m4, RENDAH); }
Untuk pergerakan kiri
{ digitalWrite (m1, RENDAH); digitalWrite (m3, TINGGI); digitalWrite (m2, TINGGI); digitalWrite (m4, TINGGI); }
Untuk pergerakan kanan
{ digitalWrite (m1, TINGGI); digitalWrite (m3, RENDAH); digitalWrite (m2, TINGGI); digitalWrite (m4, TINGGI); }
Setelah menyusun kod, muat naik ke papan Arduino anda.
Penyelesaian masalah: Letakkan kapal di permukaan air dan periksa sama ada ia bergerak dengan betul jika tidak cuba mengubah kekutuban motor dan baling-baling. Juga, cuba mengimbangkan berat badan.
Penyelesaian projek yang lengkap dapat dilihat dalam video yang dipautkan di bahagian bawah halaman ini. Sekiranya anda mempunyai sebarang pertanyaan, tinggalkan di bahagian komen.