iklan header

Control Motor Dc with module L298N Arduino

Motor driver L298N adalah sebuah modul motor driver yang banyak digunakan di dunia elektronika untuk mengendalikan arah putaran dan kecepatan motor DC.

Control Motor Dc with module L298N Arduino
IC L298 adalah sebuah IC tipe H-Bridge yang mampu mengendalikan beban-beban induksi seperti relay ,selonoid, motor DC dan motor Stepper. Pada IC L298 terdapat transitor-transitor logik dengan gerbang Nand yang berfungsi untuk menentukan arah putaran suatu motor DC ataupun motor stepper. Dipasaran sekarang penggunaan IC l298 ini sudah jarang digunakan karena IC L298 ini sudah digabungkan menjadi sebuah modul L298N.

Dengan adanya modul L298N penggunaannya lebih nudah dan perangkaiannya sudah rapi sehingga seseorang tidak harus lagi untuk merangkai komponen seperti resitor. Modul ini bisa digunakan untuk motor DC yang memiliki tegangan lebih dari 12v dan kuat untuk menarik beban-beban yang cukup berat.

Baca Juga
Modul IC L298N ini sebenarnya sama seperti relay yaitu hanya memutuh dan menghidupkan arus tegangan. Tapi bedanya kalau relay hanya memutus dan menghidupkan arus saja sedangkan modul ini bisa memutus dan menghidupkan arus serta dapat mengubah arus tegangan.

Modul L298N
Keterangan gambar
  • 1. Dc motor 1 "+"
  • 2. Dc motor 1 "-"
  • 3. 12v Jumper. Lepaskan jumper ini jika menggunakan sumber lebih dari 12v.
  • 4. Hubungkan sumber tegangan motor disini,maksimal 35v. Lepaskan 12v jumper jika menggunakan sumber tengangan lebihdari 12v. 
  • 5. GND
  • 6. 5v output, Jika menggunkan tegangan 5v jangan melepaskan 12v jumper.
  • 7. Dc motor 1 enable jumper. Lepaskan ini jika kita ingin mengatur kecepatan motor Dc 1 dan hubungkan pin enable ke pin pwm arduino.
  • 8. in1
  • 9. in2
  • 10. in3
  • 11. in4
  • 12. Dc motor 2 enable jumper. Lepaskan ini jika kita ingin mengatur kecepatan motor Dc 2 dan hubungkan pin enable ke pin pwm arduino.
  • 13. Dc motor 2 "+"
  • 14. Dc motor 2 "-"
Bahan yang harus dipersiapkan
  • Arduino 
  • Modul L298N
  • Software IDE Arduino.download disini
  • 2 Motor Dc
  • Kabel Jumper
Kontrol motor Dc dengan L298N tanpa melepaskan enable jumper
  • Rangkailah seperti di bawah ini.
Rangakain Kontrol motor Dc dengan Modul L298N Arduino
  • Pastikan kabel sudah menancap dengan benar.
  • Buka software arduino,lalu copy kode program dibawah ini.
int in1=13;   //inisial pin input1/in1 masuk pin 13
int in2=12;   //inisial pin input2/in2 masuk pin 12
int in3=11;   //inisial pin input3/in3 masuk pin 11
int in4=10;   //inisial pin input4/in4 masuk pin 10

void setup() {
  // put your setup code here, to run once:
pinMode(in1,OUTPUT);    //pin in1 sebagai OUTPUT
pinMode(in2,OUTPUT);    //pin in2 sebagai OUTPUT
pinMode(in3,OUTPUT);    //pin in3 sebagai OUTPUT
pinMode(in4,OUTPUT);    //pin in4 sebagai OUTPUT
Serial.begin(9600);    //Serial komunikasi arduino
}

void loop() {
  // put your main code here, to run repeatedly:
digitalWrite(in1,HIGH);   //in1 mendapat tegangan positif
digitalWrite(in2,LOW);    //in2 tidak dapat tegangan/negatif
//jika in1 dapat tegangan dan in2 tidak,maka motor bergerak maju
digitalWrite(in3,HIGH);   //in3 mendapat tegangan positif
digitalWrite(in4,LOW);    //in4 tidak dapat tegangan/negatif
//jika in1 dapat tegangan dan in2 tidak,maka motor bergerak maju
Serial.println("maju");   //menampilkan di serial monitor bahwa motor bergerak maju
delay(5000);
digitalWrite(in1,LOW);    //in1 tidak mendapat tegangan
digitalWrite(in2,LOW);    //in2 tidak mendapat tegangan
digitalWrite(in3,LOW);    //in3 tidak mendapat tegangan
digitalWrite(in4,LOW);    //in4 tidak mendapat tegangan
Serial.println("mati");   //menampilkan di serial monitor bahwa motor bergerak mati
delay(5000);
digitalWrite(in1,LOW);    //in1 tidak dapat tegangan/negatif
digitalWrite(in2,HIGH);   //in2 mendapat tegangan positif
//jika in1 tidak dapat tegangan dan in2 dapat tegangan,maka motor bergerak mundur
digitalWrite(in3,LOW);    //in3 tidak dapat tegangan/negatif
digitalWrite(in4,HIGH);   //in4 mendapat tegangan positif
//jika in3 tidak dapat tegangan dan in4 dapat tegangan,maka motor bergerak mundur
Serial.println("mundur"); //menampilkan di serial monitor bahwa motor bergerak mundur
delay(5000);
}
  • Lalu upload ke papan arduino. 

Kontrol motor Dc dengan L298N melepaskan enable jumper
  • Rangkailah seperti di bawah ini.
Rangakain Kontrol motor Dc dengan Modul L298N Arduino
  • Pastikan kabel sudah menancap dengan benar.
  • Buka software arduino,lalu copy kode program dibawah ini.


int en1=6;    //inisial en1 masuk pin pwm yaitu 6
int en2=5;    //inisial en2 masuk pin pwm yaitu 5
int in1=13;   //inisial pin input1/in1 masuk pin 13
int in2=12;   //inisial pin input2/in2 masuk pin 12
int in3=11;   //inisial pin input3/in3 masuk pin 11
int in4=10;   //inisial pin input4/in4 masuk pin 10

void setup() {
  // put your setup code here, to run once:
pinMode(en1,OUTPUT);    //pin en1 sebagai OUTPUT
pinMode(en2,OUTPUT);    //pin en2 sebagai OUTPUT
pinMode(in1,OUTPUT);    //pin in1 sebagai OUTPUT
pinMode(in2,OUTPUT);    //pin in2 sebagai OUTPUT
pinMode(in3,OUTPUT);    //pin in3 sebagai OUTPUT
pinMode(in4,OUTPUT);    //pin in4 sebagai OUTPUT
Serial.begin(9600);    //Serial komunikasi arduino
}

void loop() {
  // put your main code here, to run repeatedly:
analogWrite(en1,255);     //untuk mengatur kecepatan motor1 antara 0-255
digitalWrite(in1,HIGH);   //in1 mendapat tegangan positif
digitalWrite(in2,LOW);    //in2 tidak dapat tegangan/negatif
//jika in1 dapat tegangan dan in2 tidak,maka motor bergerak maju
analogWrite(en2,255);     //untuk mengatur kecepatan motor2 antara 0-255
digitalWrite(in3,HIGH);   //in3 mendapat tegangan positif
digitalWrite(in4,LOW);    //in4 tidak dapat tegangan/negatif
//jika in1 dapat tegangan dan in2 tidak,maka motor bergerak maju
Serial.println("maju");   //menampilkan di serial monitor bahwa motor bergerak maju
delay(5000);
analogWrite(en1,0);       //kecepatan motor en1=0
digitalWrite(in1,LOW);    //in1 tidak mendapat tegangan
digitalWrite(in2,LOW);    //in2 tidak mendapat tegangan
analogWrite(en2,0);       //kecepatan motor en2=0
digitalWrite(in3,LOW);    //in3 tidak mendapat tegangan
digitalWrite(in4,LOW);    //in4 tidak mendapat tegangan
Serial.println("mati");   //menampilkan di serial monitor bahwa motor bergerak mati
delay(5000);
analogWrite(en1,255);     //kecepatan motor en1=255
digitalWrite(in1,LOW);    //in1 tidak dapat tegangan/negatif
digitalWrite(in2,HIGH);   //in2 mendapat tegangan positif
//jika in1 tidak dapat tegangan dan in2 dapat tegangan,maka motor bergerak mundur
analogWrite(en2,255);     //kecepatan motor en2=255
digitalWrite(in3,LOW);    //in3 tidak dapat tegangan/negatif
digitalWrite(in4,HIGH);   //in4 mendapat tegangan positif
//jika in3 tidak dapat tegangan dan in4 dapat tegangan,maka motor bergerak mundur
Serial.println("mundur"); //menampilkan di serial monitor bahwa motor bergerak mundur
delay(5000);
}
  • Lalu upload ke papan arduino. 
Semoga artikel ini bisa bermanfaat bagi kalian dan jangan lupa share agar bisa bermanfaat bagi orang banyak. Jika belum paham silahkan comment di bawah↓↓↓↓

9 Responses to "Control Motor Dc with module L298N Arduino"

  1. Terimakasih, tutorialnya cukup jelas dibandingkan web lain.

    ReplyDelete
  2. Min kenapa Yach setelah saya rangkai seperti contoh diatas motornya hanya berputar 1 aja...mohon pencerahannya

    ReplyDelete
    Replies
    1. Kalau rangkaiannya sudah benar, coba di cek kode programnya. Pastikan kode program pin en1 atau en2 diberi nilai antara 0-255. Jika anda tidak memasukan kode tersebut maka motor tidak akan jalan.

      Delete
  3. Terimakasih penjelasan nya gan, sangat bermanfaat bagi pelajar seperti saya, sukses selalu

    ReplyDelete
  4. min knp setelah gw rangkai driver gak nyala

    ReplyDelete
    Replies
    1. Coba cek kembali rangkaiannya sudah bener atau belum

      Delete
  5. itu motor dc berapa volt? kalau mengontrol motor dc 5v bagaimana ya?

    ReplyDelete

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel