Berikut ini adalah program sederhana untuk mengontrol motor DC menggunakan Arduino Uno dan driver motor L298N. Program ini menggunakan pin output PWM untuk mengontrol kecepatan dan arah putaran motor.
Wiring Arduino Uno ke L298N:
- IN1 -> Arduino Pin 8
- IN2 -> Arduino Pin 9
- EN1 (Enable A) -> Arduino Pin 10 (PWM)
- GND -> GND Arduino
- VCC (Motor power) -> 12V (atau sesuai tegangan motor)
- OUT1, OUT2 -> Motor DC
// Deklarasi pin
int enA = 10; // Pin Enable A (PWM)
int in1 = 8; // Pin IN1
int in2 = 9; // Pin IN2
void setup() {
// Set pin sebagai output
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
}
void loop() {
// Motor berputar maju
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200); // Set kecepatan motor (0-255)
delay(2000); // Putar selama 2 detik
// Motor berhenti
analogWrite(enA, 0); // Matikan motor
delay(1000); // Tunggu 1 detik
// Motor berputar mundur
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 150); // Set kecepatan motor
delay(2000); // Putar selama 2 detik
// Motor berhenti
analogWrite(enA, 0);
delay(1000);
}
Penjelasan:
- IN1 dan IN2 digunakan untuk menentukan arah putaran motor. Kombinasi HIGH dan LOW menentukan apakah motor bergerak maju atau mundur.
- analogWrite(enA, nilai) digunakan untuk mengontrol kecepatan motor dengan memberikan sinyal PWM (0-255).
- delay() digunakan untuk memberikan jeda waktu antara perubahan status motor.
- Silakan sesuaikan kecepatan dan waktu sesuai kebutuhan.