#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

  1. Arduino Uno – BELI
  2. Motor Driver H-Bridge L298N – BELI
  3. Motor DC – BELI
  4. 2 Buah Baterai 18650 di Seri – BELI
  5. Breadboard – BELI
  6. Push Button – BELI
  7. Resistor 1K Ohm – BELI
  8. 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);
}

Saya adalah seorang pengulik yang tertarik dalam bidang Microcontroller, Internet of Things (IoT), dan Artificial Intelligence (AI). Saya terus belajar dan mengembangkan pengetahuan serta keterampilan saya di dalam ketiga bidang tersebut dengan harapan dapat menciptakan solusi inovatif yang bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

You might also like