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 Arduino
1. 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!
0 on: "Cara Membuat Prototipe Pengendali Motor DC dengan Arduino"