CODIGO 1
int PinIN1 = 9; //Motor derecho
int PinIN2 = 10; //Motor derecho
int PinIN3 = 11; //Motor izquierdo
int PinIN4 = 12; //Motor izquierdo
int Sensor1 = 7; //Sensor derecha
int Sensor2 = 8; //Sensor izquierda
int ENA= 3;
int ENB= 5;
//Definicion variables para la lectura de los sensores
int sen1=0;
int sen2=0;
/*
void Atras()
{
digitalWrite (PinIN1, HIGH);
digitalWrite (PinIN2, LOW);
}
void Adelante()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
void Detener()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
void Izquierda()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
void Derecha()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
*/
void setup() {
// inicializar la comunicación serial a 9600 bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(PinIN1, OUTPUT);
pinMode(PinIN2, OUTPUT);
pinMode(PinIN3, OUTPUT);
pinMode(PinIN4, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
}
void loop() {
sen1= digitalRead(Sensor1);
sen2= digitalRead(Sensor2);
//1 negro, 0 blanco
if(sen1==0 && sen2==0)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
if(sen1==1)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
if(sen2==1)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
if(sen1==1 && sen2==1)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
analogWrite(ENA,100);
analogWrite(ENB,100);
delay(2000);
}
CÓDIGO 2 (PRUEBA PARA MOTORES)
int PinIN1 = 9; //Motor derecho
int PinIN2 = 10; //Motor derecho
int PinIN3 = 11; //Motor izquierdo
int PinIN4 = 12; //Motor izquierdo
int Sensor1 = 7; //Sensor derecha
int Sensor2 = 8; //Sensor izquierda
int ENA= 3;
int ENB= 5;
//Definicion variables para la lectura de los sensores
int sen1=0;
int sen2=0;
/*
void Atras()
{
digitalWrite (PinIN1, HIGH);
digitalWrite (PinIN2, LOW);
}
void Adelante()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
void Detener()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
void Izquierda()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
void Derecha()
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
*/
void setup() {
// inicializar la comunicación serial a 9600 bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(PinIN1, OUTPUT);
pinMode(PinIN2, OUTPUT);
pinMode(PinIN3, OUTPUT);
pinMode(PinIN4, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
}
void loop() {
/*
// Aplicamos PWM al pin ENB, haciendo girar el motor, cada 2 seg aumenta la velocidad
analogWrite(ENA,5);
analogWrite(ENB,5);
*/
// MotorHorario();
//Serial.println("Giro del Motor en sentido horario");
//delay(1000
sen1= digitalRead(Sensor1);
sen2= digitalRead(Sensor2);
//1 negro, 0 blanco
do{
if(sen1==0 && sen2==0)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
if(sen1==1)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, HIGH);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
if(sen2==1)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, HIGH);
}
if(sen1==1 && sen2==1)
{
digitalWrite (PinIN1, LOW);
digitalWrite (PinIN2, LOW);
digitalWrite (PinIN3, LOW);
digitalWrite (PinIN4, LOW);
}
analogWrite(ENA,100);
analogWrite(ENB,100);
delay(2000);
} while(sen1==1 || sen1==0 || sen2==1 || sen2==0);
/*
Serial.println(sen1);
Serial.println("Sensor2");
Serial.println(sen2);
delay(10000); */
}
NOTA: EN MI CARPETA HAY MÁS CÓDIGOS PERO TODOS SON VARIACIÓN DEL CÓDIGO DOS DE LA VARIACIÓN DE MOTORES, TODO PARA NO IR A MODIFICAR EL CÓDIGO Y LUEGO AL NECESITARLO NO TENERLO.