Tutoriales
Tutoriales
Módulo Driver L298N con Arduino Uno
Código para 1 motor:
const int pinENA = 9;
const int pinIN1 = 8;
const int pinIN2 = 7;
int speed = 255; //velocidad de giro
int tiempo=2000;
void setup()
{
pinMode(pinIN1, OUTPUT);
pinMode(pinIN2, OUTPUT);
pinMode(pinENA, OUTPUT);
}
void loop()
{
if(speed==80){
analogWrite(pinENA, speed);
speed=255;
}
else if(speed==255){
analogWrite(pinENA, speed);
speed=80;
}
Izquierda();
delay(tiempo);
Derecha();
delay(tiempo);
Detenerse();
delay(tiempo);
}
void Detenerse(){
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, LOW);
}
void Izquierda(){
digitalWrite(pinIN1, HIGH);
digitalWrite(pinIN2, LOW);
}
void Derecha(){
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, HIGH);
}
Código para 2 motores:
//Pines para el motor A
const int pinENA = 10;
const int pinIN1 = 9;
const int pinIN2 = 8;
//Pines para el motor B
const int pinIN3 = 7;
const int pinIN4 = 6;
const int pinENB = 5;
int speed = 255; //velocidad de giro
int tiempo=2000;
void setup()
{
pinMode(pinENA, OUTPUT);
pinMode(pinIN1, OUTPUT);
pinMode(pinIN2, OUTPUT);
pinMode(pinIN3, OUTPUT);
pinMode(pinIN4, OUTPUT);
pinMode(pinENB, OUTPUT);
}
void loop()
{
if(speed==100){
analogWrite(pinENA, speed);
analogWrite(pinENB, speed);
speed=255;
}
else if(speed==255){
analogWrite(pinENA, speed);
analogWrite(pinENB, speed);
speed=100;
}
MA_Izquierda();
delay(tiempo);
MA_Derecha();
delay(tiempo);
MA_Detenerse();
delay(tiempo);
MB_Izquierda();
delay(tiempo);
MB_Derecha();
delay(tiempo);
MB_Detenerse();
delay(tiempo);
Adelante();
delay(tiempo);
Atras();
delay(tiempo);
Stop();
delay(tiempo);
}
void MA_Detenerse(){
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, LOW);
}
void MA_Izquierda(){
digitalWrite(pinIN1, HIGH);
digitalWrite(pinIN2, LOW);
}
void MA_Derecha(){
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, HIGH);
}
void MB_Detenerse(){
digitalWrite(pinIN3, LOW);
digitalWrite(pinIN4, LOW);
}
void MB_Izquierda(){
digitalWrite(pinIN3, HIGH);
digitalWrite(pinIN4, LOW);
}
void MB_Derecha(){
digitalWrite(pinIN3, LOW);
digitalWrite(pinIN4, HIGH);
}
void Adelante(){
digitalWrite(pinIN1, HIGH);
digitalWrite(pinIN2, LOW);
digitalWrite(pinIN3, HIGH);
digitalWrite(pinIN4, LOW);
}
void Atras(){
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, HIGH);
digitalWrite(pinIN3, LOW);
digitalWrite(pinIN4, HIGH);
}
void Stop(){
digitalWrite(pinIN1, LOW);
digitalWrite(pinIN2, LOW);
digitalWrite(pinIN3, LOW);
digitalWrite(pinIN4, LOW);
}
Descargas: