#include <Servo.
h>
Servo srv;
unsigned int sensorA = 13;
unsigned int sensorB = 12;
unsigned int sensorC = 11;
int ledV = 9 ;
int ledA = 8 ;
int ledR = 7 ;
int motor1ho = 6;
int motor1anti = 5;
int motor2ho = 3;
int motor2anti = 2;
void setup() {
Serial.begin(9600);
srv.attach(10);
//Declaramos los sensores como entradas
pinMode(sensorA, INPUT);
pinMode(sensorB, INPUT);
pinMode(sensorC, INPUT);
//Los demas componentes como salidas
//Servodeclarado previamente
pinMode(ledV, OUTPUT);
pinMode(ledA, OUTPUT);
pinMode(ledR, OUTPUT);
pinMode(motor1ho, OUTPUT);
pinMode(motor1anti, OUTPUT);
pinMode(motor2ho, OUTPUT);
pinMode(motor2anti, OUTPUT);
}
void loop() {
int valorA = 0;
int valorB = 0;
int valorC = 0;
valorA = digitalRead(sensorA); //Para guardar las lecturas de los sensores
valorB = digitalRead(sensorB);
valorC = digitalRead(sensorC);
delay(50);
if (valorA == HIGH && valorB == HIGH && valorC == HIGH)
{
Secuencia1();
delay(100);
}
if (valorA == LOW && valorB == HIGH && valorC == LOW)
{
Secuencia2();
delay(100);
}
if (valorA == HIGH && valorB == LOW && valorC == LOW)
{
Secuencia3();
delay(100);
}
if (valorA == HIGH && valorB == HIGH && valorC == LOW)
{
Secuencia3();
delay(100);
}
if (valorA == LOW && valorB == LOW && valorC == HIGH)
{
Secuencia4();
delay(100);
}
if (valorA == LOW && valorB == HIGH && valorC == HIGH)
{
Secuencia4();
delay(100);
}
if (valorA == LOW && valorB == LOW && valorC == LOW)
{
Secuencia5();
delay(100);
}
void Secuencia1()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledV,LOW);
//limpieza de codigo
digitalWrite(motor1ho,LOW);
digitalWrite(motor2ho,LOW);
digitalWrite(ledR,HIGH);
srv.write(90);
delay(500);
}
void Secuencia2()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,HIGH);
digitalWrite(motor2ho,HIGH);
digitalWrite(ledV,HIGH);
delay(500);
}
void Secuencia3()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,LOW);
digitalWrite(motor2ho,HIGH);
digitalWrite(ledV,HIGH);
delay(500);
}
void Secuencia4()
{
//limpieza de codigo
digitalWrite(ledA,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,HIGH);
digitalWrite(motor2ho,LOW);
digitalWrite(ledV,HIGH);
delay(500);
}
void Secuencia5()
{
//limpieza de codigo
digitalWrite(ledV,LOW);
digitalWrite(ledR,LOW);
//limpieza de codigo
srv.write(0);
digitalWrite(motor1ho,LOW);
digitalWrite(motor2ho,LOW);
digitalWrite(ledA,HIGH);
delay(500);
}