By | March 9, 2021
Tutorial Program Arduino Kontrol Motor DC L298N

Tutorial Arduino kontrol motor dc dengan driver l298n biasa digunakan untuk membuat robot remot kontrol beroda atau robot balancing atau robot apapun yang menggunakan roda dan motor dinamo dengan arus kecil.

Tutorial arduino mengontrol motor dc ini saya tulis untuk anda yang baru belajar mengenai arduino.

Fungsi driver l298n adalah sebagai penguat tegangan untuk mensuply motor, karena tidak mungkin menggunakan arduino langsung untuk kontrol motor DC.

Driver L298N mempunyai kemampuan dilewati arus sampai 1A, sehingga beban yang bisa digunakan tidak bisa lebih dari 1A, jika beban melebihi kemampuan driver ada beberapa kemungkinan seperti driver rusak atau arduino rusak.

Tutorial Arduino L298N Motor DC

  1. Siapkan Modul Driver L298N
  2. Arduino Uno atau Nano
  3. Motor DC 1A
  4. Baterai 9V-12V atau Adaptor 9V-12V

Rangkaian Arduino dan Driver L298N Motor DC

Pin Modul L298NFungsi
EN ADihubungkan ke 5V untuk dapat menjalankan motor A
EN BDihubungkan ke 5V untuk dapat menjalankan motor B
IN1Input motor 1A bisa hubungkan ke PWM
IN2Input motor 1B bisa hubungkan ke digital
IN3Input motor 2A bisa hubungkan ke PWM
IN4Input motor 2B bisa hubungkan ke digital
Rangkaian Arduino dan Driver L298N Motor DC
Rangkaian Arduino dan Driver L298N Motor DC

Program Arduino dan Driver Motor DC L298N

#define dira 8
#define dirb 10
#define pwma 9
#define pwmb 11

void motor(int a, int b){
  if (a >= 0){
    digitalWrite(dira, 0);
    analogWrite(pwma, a);
  } else if (a < 0){
    digitalWrite(dira, 1);
    analogWrite(pwma, a+255);    
  }

  if (b >= 0){
    digitalWrite(dirb, 0);
    analogWrite(pwmb, b);
  } else if (a < 0){
    digitalWrite(dirb, 1);
    analogWrite(pwmb, b+255);    
  }
}
void setup() {
  // put your setup code here, to run once:
pinMode(dira, OUTPUT);
pinMode(dirb, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
motor(255,255); // maju kenceng
delay(3000); // delay 3 detik
motor(0,0); // mati
delay(1000); // delay 1 detik
motor(-255, -255); // mundur kenceng
delay(3000);
motor(100,100); // maju pelan
delay(3000); // delay 3 detik
motor(0,0); // mati
delay(1000); // delay 1 detik
motor(-100, -100); // mundur pelan
}

Penjelasan Program Arduino dan Motor DC L298N

void motor(int a, int b){
  if (a >= 0){
    digitalWrite(dira, 0);
    analogWrite(pwma, a);
  } else if (a < 0){
    digitalWrite(dira, 1);
    analogWrite(pwma, a+255);    
  }

  if (b >= 0){
    digitalWrite(dirb, 0);
    analogWrite(pwmb, b);
  } else if (a < 0){
    digitalWrite(dirb, 1);
    analogWrite(pwmb, b+255);    
  }
}

Program diatas untuk membuat kode kontrol motor dc dengan arduino menjadi lebih ringkas atau lebih simple.

dibuat subrutin atau fungsi untuk memudahkan saat ketika fungsi menjalankan motor itu dipanggil ke dalam program utama atau void loop

jika nilai pwm yang diinput adalah positif maka motor akan berputar searah jarum jam dan jika input pwm motor yang diberikan negatif maka arah putar motor akan berlawanan jarum jam dengan kecepatan sesuai pwm yang di inputnya.

untuk mendownload simulasi motor dc dengan arduino bisa mengunjungi link berikut Download Kumpulan Simulasi Arduino dengan Proteus 8

Keyword

  1. Arduino Motor DC L298N
  2. Tutorial Driver Motor DC
  3. Kontrol Motor Arduino
  4. Tutorial Arduino Motor DC
  5. Program Motor DC

Leave a Reply

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