Selalu terpikirkan untuk membuat inovasi ngga sih? Sepertinya inovasi di mobil bisa dikembangkan dari ide-ide kecil deh. Lalu bagaimana caranya kitab isa mengimplementasikan ide-ide tersebut? Jika langsung di mobil kita kan susah banget dong, harus belajar dari komponen yang gak sedikit jumlahnya, belajar hal lainnya, dan banyak lagi. Nah Arduino Car Kit ini memudahkan kita untuk memberi inovasi-inovasi di mobil dengan bentuk prototipe (seperti mainan). Di artikel proyek gratis kali ini kita akan membahas hal dasar dalam perakitan Arduino Car Kit yaitu mengatur roda atau dinamo pada Arduino Car Kit ini.
Sebelum masuk ke tahap itu, kalian tahu ada sebutan 2WD, 4WD (WD = Wheel Drive). Untuk lebih singkatnya, 2WD adalah tipe mobil yang memiliki 4 atau 3 roda namun yang tersambung langsung dengan drivetrain atau penggerak(mesin, motor listrik) hanya 2 roda, entah roda belakang atau depan, tidak mungkin kanan atau kiri saja ya! Jadi jika dilihat dari penjelasannya tadi, 4WD adalah tipe mobil yang dimana ke-empat rodanya terkoneksi langsung dengan penggerak roda tersebut. Pada eksperimen kali ini kita akan menggunakan Arduino Car Kit 2WD. Di artikel ini juga akan dijelaskan beberapa hal penting dalam memilih komponen yang digunakan, simak sampai selesai ya!
1.Persiapan
Sebelum melakukan percobaan ini, pasti ada beberapa komponen yang perlu disiapkan, berikut adalah komponen-komponen yang perlu kalian siapkan untuk mengikuti proyek ini.
- Arduino Board
Gambar 1. Arduino Uno Board
- Kabel Arduino Board
Gambar 2. Arduino Uno Cable
- Kabel Jumper
Gambar 3. Kabel Jumper
- Modul H-Bridge L298N (Motor Driver)
Gambar 4. Modul L298N H-Bridge Sebagai Motor Driver
- Arduino car kit / Motor DC
Gambar 5. Arduino 2WD car Kit
Jika Kalian tidak memiliki kit Arduino Car ini, tapi ingin belajar kode tentang L298N Modul, Kalian bisa sediakan motor DC saja sebanyak 2pcs yang berguna untuk beraksi sebagai roda kanan dan kiri. Motor DC bisa menggunakan dinamo Tamiya biasa seperti gambar berikut ini.
Gambar 6. Dinamo/Motor DC lengkap dengan Gearbox
Untuk mencobanya, tidak wajib menggunakan motor DC dengan gearbox, cukup motor DCnya saja. Lanjut ke pembahasan berikutnya ya!
2. Skematik Rangkaian
Harap ikuti diagram rangkaian berikut ini agar kode pemrograman berjalan sesuai dengan keinginan kita. Berikut adalah gambar skematik rangkaian untuk 2WD Arduino car kit.
Gambar 7. Rangkaian Lengkap Arduino Car Kit Dengan Baterai
Sesuai dengan gambar skematik rangkaian di atas, kalian bisa menggunakan masukan daya secara eksternal (menggunakan baterai). Memasukkan daya menggunakan baterai sangat direkomendasikan dalam hal ini, namun jika hanya ingin belajar dan mencoba apakah dinamo dapat bekerja sesuai control yang kita beri dalam program, maka skematik rangkaian bisa mengikuti gambar berikut ini.
Gambar 8. Rangkaian dynamo/motor DC untuk percobaan
Mengapa perlu di masukan daya sebelah kiri perlu di parallel dengan 5V arduino? Karena daya masukan sebelah kiri merupakan daya input untuk dynamo atau motor dc, maka dari itu jika pin ini tidak mendapatkan daya maka motor dc tidak akan bergerak. Jadi ketika baterai terpasang ke dalam sistem, pin paling kanan bisa untuk masukan daya untuk Arduino agar sistem Arduino hidup. Kira kira begini penjelasan dalam gambarnya (lihat Gambar 9 dibawah ini).
Gambar 9. Penjelasan Modul H-Bridge L298N
Dirasa sudah cukup menjelaskan tentang modul ini, langsung saja kita implementasikan kedalam sistem Arduino car kit ya! Jangan lupa untuk merakit Arduino car kitnya terlebih dahulu.
3. Membuat Program
Sudah masuk ke bagian program, kali ini sedikit menjebak karena koneksi kutub positif dan negatif dari penulis dan pembaca mungkin berbeda. Jadi tipsnya adalah, jika di program tertulis maju, belok kanan, belok kiri, dan mundur-nya tidak sesuai, maka kalian perlu menyesuaikan high atau low pada pemrograman dibawah ini. Oke kita langsung saja ke program ya! Bisa di copy and paste atau bisa ditulis sendiri pada software Arduino IDE ya!
// Program Arduino Car kit
// https://Lavaintech.com
/* Program sederhana untuk kontrol sebuah Arduino car kit
* dengan instruksi sederhana membuat kotak seperti berikut ini
* maju, belok kanan, maju, belok kanan, maju
*/
const int ENA = 6;
const int IN1 = 7;
const int IN2 = 8;
const int IN3 = 9;
const int IN4 = 10;
const int ENB = 11;
int i=1;
int target=4;
void setup()
{
pinMode (ENA, OUTPUT);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
pinMode (ENB, OUTPUT);
}
void loop()
{
/* untuk membuat kotak, maju dan belok kanan dilakukan
* 4 kali, maka i sebagai penghitung, target adalah
* berapa kali kita inginkan 1 proses itu dilakukan
*/
for(i=1; i<=4; i++){
//Maju
//mengatur roda kanan rotasi ke depan
analogWrite(ENA, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
//mengatur roda kiri rotasi ke depan
analogWrite(ENB, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(2000); // Mengatur lamanya proses dilakukan
//belok kanan
//mengatur roda kanan diam sebagai poros
analogWrite(ENA, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
//mengatur roda kiri rotasi ke depan
analogWrite(ENB, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(1000); // Mengatur lamanya proses dilakukan
}
i=1; //mengatur penghitung agar kembali ke 1
for(i=1; i<=4; i++){
//Mundur
//mengatur roda kanan rotasi ke belakang
analogWrite(ENA, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
//mengatur roda kiri rotasi ke belakang
analogWrite(ENB, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(2000); // Mengatur lamanya proses dilakukan
//belok kanan
//mengatur roda kanan rotasi ke depan
analogWrite(ENA, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
//mengatur roda kiri diam sebagai poros
analogWrite(ENB, 255); //mengatur kecepatan (bisa dari 0-255)
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(1000); // Mengatur lamanya proses dilakukan
}
}
4. Penjelasan Lebih dalam
Kekuatan torsi setiap dinamo berbeda-beda, maka dari itu sesuaikan delay sebagai lamanya proses saat belok ke kanan maupun ke kiri. Selain itu untuk kecepatan motor yang ada di pin ENA dan ENB juga dapat berbeda. Ketika dirasa saat maju dia tidak lurus, maka sesuaikan kecepatan ENA/ENB pada program Arduino IDE-nya. Untuk bagian sumber daya, bisa dilihat pada Gambar 9 di atas ya! Perlu diingat bahwa memasang baterai secara terbalik bisa membuat chip Modul atau Arduino rusak dan tidak bisa digunakan kembali. Untuk itu pastikan rangkaian sudah benar baru memberi masukan daya kepada Modul dan Arduinonya.
5. Hasil
Untuk hasil bisa dilihat pada video berikut ini. Di dalam video ini Arduino masih menggunakan masukan daya dari USB, dikarenakan baterai yang digunakan tidak mencapai 5V, jadi hanya mampu untuk mendemonstrasikan dinamo bergerak. Perhatikan pergerakan rodanya, dan perhatikan kode pemrograman agar paham bagaimana alur kerja pada proyek ini.
Terima kasih telah membaca artikel ini, jangan lupa untuk berbagi ilmu dengan mudah yaitu berbagi link artikel ini ke teman-teman kamu yang sedang belajar ya! Semoga artikel ini membantu kalian dalam memahami penggunaan motor driver dengan modul L298N.
Penulis: Malik Athafarras
Editor: Ariq Naufal Rabbani