Blog

Cara Membuat Prototipe Pengendali Motor DC dengan Arduino

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.

Most Popular

To Top