Está en la página 1de 4

/*** Included libraries ***/

/*** Global variables and function definition ***/

int sensor_infrarrojos_izq = 8;

int sensor_infrarrojos_der = 7;

int izqA = 2;

int izqB = 3;

int derA = 4;

int derB = 5;

int vel = 100; // Velocidad de los motores (0-255)

int estado = 'c'; // inicia detenido

float BLANCO = 1;

float NEGRO = 0;

/*** Setup ***/

void setup() {

Serial.begin(9600); // inicia el puerto serial para comunicacion con el Bluetooth

pinMode(sensor_infrarrojos_izq, INPUT);

pinMode(sensor_infrarrojos_der, INPUT);
pinMode(derA, OUTPUT);

pinMode(derB, OUTPUT);

pinMode(izqA, OUTPUT);

pinMode(izqB, OUTPUT);

/*** Loop ***/

void loop() {

if (Serial.available() > 0) { // lee el bluetooth y almacena en estado

estado = Serial.read();

if (estado == 'a') { // modo seguidor

if ((digitalRead(sensor_infrarrojos_der) == BLANCO) && (digitalRead(sensor_infrarrojos_izq)


== BLANCO)) {

analogWrite(derB, 0); // avanzar hacia adelante

analogWrite(izqB, 0);

analogWrite(derA, vel);

analogWrite(izqA, vel);

if ((digitalRead(sensor_infrarrojos_der) == BLANCO) && (digitalRead(sensor_infrarrojos_izq)


== NEGRO)) {

analogWrite(derB, 0); // ir a la izquierda

analogWrite(izqB, 0);

analogWrite(derA, 0);
analogWrite(izqA, vel);

if ((digitalRead(sensor_infrarrojos_der) == NEGRO) && (digitalRead(sensor_infrarrojos_izq)


== BLANCO)) {

analogWrite(derB, 0); // ir a la izquierda

analogWrite(izqB, 0);

analogWrite(izqA, 0);

analogWrite(derA, vel);

if ((digitalRead(sensor_infrarrojos_der) == NEGRO) && (digitalRead(sensor_infrarrojos_izq)


== NEGRO)) {

analogWrite(derB, 0); // parar

analogWrite(izqB, 0);

analogWrite(izqA, 0);

analogWrite(derA, 0);

También podría gustarte