#Tutorial Arduino Mengubah Arah Putaran Motor DC Dengan 1 Tombol
Tutorial kali ini ada kaitannya dengan tutorial sebelumnya yang berujudul, “Menyalakan Dan Mematikan LED Dengan Satu Tombol“.
Tapi kali ini akan kita terapkan untuk mengubah arah putaran motor DC.
Jadi ketika ditekan motor akan berputar searah jarum jam, ketika ditekan lagi akan berputar berlawanan jarum jam.
Yang Harus Disiapkan
- Arduino Uno – BELI
- Motor Driver H-Bridge L298N – BELI
- Motor DC – BELI
- 2 Buah Baterai 18650 di Seri – BELI
- Breadboard – BELI
- Push Button – BELI
- Resistor 1K Ohm – BELI
- Kabel Jumper – BELI
Rangkaian
Jika semua peralatan sudah siap, silakan rangkai seperti rangkaian dibawah ini:
Program Mengubah Arah Motor DC Dengan 1 Push Button
Jika sudah dirangkain dan dipastikan tidak ada yang salah dengan rangkaian-nya, silakan gunakan program dibawah ini:
const int buttonPin = 2; // Pin tempat push button terhubung
const int motorPin1 = 6; // Pin untuk mengatur arah motor
const int motorPin2 = 5; // Pin untuk mengatur arah motor
int buttonState = 0; // Variabel untuk menyimpan status push button
int lastButtonState = 0; // Variabel untuk menyimpan status push button sebelumnya
void setup() {
pinMode(buttonPin, INPUT);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
}
void loop() {
// Baca status push button
buttonState = digitalRead(buttonPin);
// Cek apakah push button ditekan
if (buttonState != lastButtonState) {
// Jika push button ditekan, ubah arah motor
if (buttonState == HIGH) {
changeDirection();
}
delay(50); // Debouncing delay untuk mengatasi ketidakstabilan saat menekan tombol
}
// Simpan status push button untuk iterasi selanjutnya
lastButtonState = buttonState;
}
void changeDirection() {
// Baca status arah motor saat ini
int motorState1 = digitalRead(motorPin1);
// Ubah arah motor
digitalWrite(motorPin1, !motorState1);
digitalWrite(motorPin2, motorState1);
}