Prototipe pengendali motor DC dengan Arduino
adalah sebuah model awal atau rancangan sistem yang menggunakan
platform mikrokontroler Arduino untuk mengendalikan motor DC. Prototipe
ini memungkinkan pengembang untuk merancang, menguji dan memvalidasi
fungsi dasar dari sistem pengendalian motor, seperti mengatur arah
putaran, kecepatan dan respons motor terhadap berbagai perintah atau
kondisi lingkungan sebelum sistem tersebut dikembangkan lebih lanjut
menjadi produk final. Motor DC banyak digunakan dalam berbagai
aplikasi, mulai dari robotika, kendaraan remote control hingga mesin industri.
Baca juga : Mengembangkan Prototipe Perangkat Elektronik Konsumen dengan Arduino1. Memahami Komponen
• Arduino Board
Arduino adalah papan mikrokontroler
yang mudah diprogram. Ada beberapa jenis Arduino, seperti Arduino Uno, Mega,
Nano, dll. Untuk proyek ini, Anda dapat menggunakan Arduino Uno.
• Motor DC
Motor DC mengubah energi listrik
menjadi energi mekanik.
• H-Bridge Motor Driver (L298N)
H-Bridge adalah rangkaian yang
memungkinkan kita mengendalikan arah dan kecepatan motor DC. Modul L298N adalah
salah satu H-Bridge yang populer dan mudah digunakan dengan Arduino.
• Sumber Daya Listrik
Motor DC membutuhkan sumber daya
yang cukup untuk beroperasi. Biasanya, Anda menggunakan baterai atau adaptor
dengan tegangan yang sesuai dengan motor yang digunakan.
• Kabel dan Breadboard
Kabel jumper dan breadboard
digunakan untuk menghubungkan komponen satu sama lain tanpa perlu soldering.
2.
Menyusun Rangkaian
a. Siapkan Komponen
Pastikan semua komponen sudah siap
dan dalam kondisi baik. Berikut adalah daftar komponen yang diperlukan:
• 1 x Arduino Uno
• 1 x Motor DC
• 1 x Modul L298N
• Kabel jumper
• Breadboard
• Sumber daya (baterai atau
adaptor)
b. Menghubungkan Motor DC ke Modul
L298N
• Hubungkan kabel motor DC ke
terminal output motor pada modul L298N.
• Hubungkan terminal input daya
(VCC) dari modul L298N ke sumber daya positif dan terminal GND ke ground.
c. Menghubungkan L298N ke Arduino
• Hubungkan pin IN1 dan IN2 pada
modul L298N ke pin digital 8 dan 9 pada Arduino. Pin ini digunakan untuk
mengontrol arah putaran motor.
• Hubungkan pin ENA pada modul
L298N ke pin PWM (Pulse Width Modulation) di Arduino, misalnya pin 10. Pin ini
digunakan untuk mengontrol kecepatan motor.
• Hubungkan pin GND dari modul
L298N ke GND pada Arduino.
d. Menghubungkan Sumber Daya
Pastikan bahwa motor DC mendapatkan
daya yang cukup dengan menghubungkan sumber daya ke modul L298N. Periksa
tegangan dan arus yang dibutuhkan oleh motor Anda.
3. Menulis Program Arduino
• Instalasi Arduino IDE
Unduh dan instal Arduino IDE dari
situs resmi Arduino. Arduino IDE digunakan untuk menulis, mengompilasi dan
mengunggah kode ke papan Arduino.
• Menulis Kode
Berikut adalah contoh kode
program sederhana untuk mengendalikan motor DC menggunakan Arduino:
// Deklarasi pin
const int motorPin1 = 8;
const int motorPin2 = 9;
const int enablePin = 10;
void setup() {
// Set pin sebagai output
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
}
void loop() {
// Menggerakkan motor maju
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
analogWrite(enablePin, 255); // Kecepatan maksimum
delay(2000); // Berjalan selama 2 detik
// Menghentikan motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000); // Berhenti selama 1 detik
// Menggerakkan motor mundur
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
analogWrite(enablePin, 255); // Kecepatan maksimum
delay(2000); // Berjalan selama 2 detik
// Menghentikan motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000); // Berhenti selama 1 detik
}
• Mengunggah Kode ke Arduino
Hubungkan Arduino ke komputer
menggunakan kabel USB dan unggah kode di atas menggunakan Arduino IDE. Pastikan
Anda memilih papan dan port yang sesuai di menu Tools pada Arduino IDE.
4.
Menguji Prototipe
Setelah kode berhasil diunggah,
saatnya menguji prototipe. Pastikan semua koneksi sudah benar dan tidak ada
kabel yang terlepas. Nyalakan sumber daya dan perhatikan pergerakan motor.
Motor seharusnya berputar maju selama 2 detik, berhenti selama 1 detik,
kemudian berputar mundur selama 2 detik, dan berhenti selama 1 detik. Siklus
ini akan berulang terus menerus.
5.
Menyesuaikan Kecepatan dan Arah
• Mengontrol Kecepatan Motor
Untuk mengontrol kecepatan motor, Anda dapat mengubah nilai PWM yang diberikan ke pin ENA. Nilai PWM berkisar
antara 0 hingga 255, dimana 0 berarti motor berhenti dan 255 berarti motor
berputar pada kecepatan maksimum. Berikut ini contoh kode program untuk mengubah kecepatan
motor:
analogWrite(enablePin, 128); // Kecepatan
setengah
• Mengubah Arah Putaran
Arah putaran motor dapat diubah
dengan menukar nilai pada pin IN1 dan IN2. Kombinasi berikut mengontrol arah
motor:
• IN1 = HIGH, IN2 = LOW -> Motor
berputar maju
• IN1 = LOW, IN2 = HIGH -> Motor
berputar mundur
6.
Menggunakan Sensor untuk Kontrol Otomatis
Untuk
proyek yang lebih kompleks, Anda dapat menambahkan sensor untuk
mengontrol motor secara otomatis. Sebagai contoh, Anda dapat menggunakan
sensor jarak untuk membuat motor berhenti saat
mendeteksi objek di depannya. Berikut ini contoh kode program
menggunakan sensor jarak:
// Deklarasi pin
const int motorPin1 = 8;
const int motorPin2 = 9;
const int enablePin = 10;
const int trigPin = 12;
const int echoPin = 11;
void setup() {
// Set pin sebagai output dan input
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// Mengirim sinyal ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Menghitung waktu tempuh sinyal
long duration = pulseIn(echoPin, HIGH);
// Menghitung jarak
long distance = duration * 0.034 / 2;
Serial.print(“Distance: “);
Serial.println(distance);
// Mengontrol motor berdasarkan jarak
if (distance < 10) { // Jika jarak kurang dari 10 cm
// Menghentikan motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
} else {
// Menggerakkan motor maju
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
analogWrite(enablePin, 255); // Kecepatan maksimum
}
delay(100);
}Baca juga : Prototipe Pengendali Lampu Otomatis dengan Arduino: Panduan Praktis Siap Untuk Membuat Proyek Impianmu
Menjadi Kenyataan?
Klik di sini untuk chat langsung via
WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!

Terimakasih telah membaca di Aopok.com, semoga bermanfaat dan lihat juga di situs berkualitas dan paling populer Piool.com, peluang bisnis online Topbisnisonline.com dan join di komunitas Topoin.com.