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
- Siapkan Modul Driver L298N
- Arduino Uno atau Nano
- Motor DC 1A
- Baterai 9V-12V atau Adaptor 9V-12V
Rangkaian Arduino dan Driver L298N Motor DC
Pin Modul L298N | Fungsi |
EN A | Dihubungkan ke 5V untuk dapat menjalankan motor A |
EN B | Dihubungkan ke 5V untuk dapat menjalankan motor B |
IN1 | Input motor 1A bisa hubungkan ke PWM |
IN2 | Input motor 1B bisa hubungkan ke digital |
IN3 | Input motor 2A bisa hubungkan ke PWM |
IN4 | Input motor 2B bisa hubungkan ke digital |
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
- Arduino Motor DC L298N
- Tutorial Driver Motor DC
- Kontrol Motor Arduino
- Tutorial Arduino Motor DC
- Program Motor DC