Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <TimerOne.h> // Biblioteca do timer1
- //----------MAPEAMENTO DO HARDWARE------------
- //Motores
- const int motorA = 5;
- const int motorB = 6;
- const int dirA = 7;
- const int dirB = 8;
- //Sensores QREE
- int SensorDir = A0;
- int SensorEsq = A1;
- int valorSensorDir = 0;
- int valorSensorEsq = 0;
- //LEDs
- int LedDir = 11;
- int LedEsq = 10;
- int LedF1 = 5;
- int LedF2 = 3;
- byte Nivel = 0;
- //---------------------------------
- void Pisca()
- {
- Nivel = !Nivel;
- digitalWrite( LedF1, Nivel);
- }
- //---------------------------------
- void setup()
- {
- pinMode(motorA, OUTPUT);
- pinMode(motorB, OUTPUT);
- pinMode(dirA, OUTPUT);
- pinMode(dirB, OUTPUT);
- pinMode(LedDir, OUTPUT);
- pinMode(LedEsq, OUTPUT);
- pinMode(LedF1, OUTPUT);
- pinMode(LedF2, OUTPUT);
- Timer1.initialize(250000); // Define interrupt de Timer1 a cada 250 ms
- Timer1.attachInterrupt(Pisca); // OverFlow de Timer1
- }//END SETUP
- //---------------------------------
- void loop()
- {
- valorSensorDir = analogRead(SensorDir);
- valorSensorEsq = analogRead(SensorEsq);
- if ((valorSensorDir < 700) && (valorSensorEsq < 700))
- {
- Timer1.stop();
- digitalWrite(dirA, HIGH); //Dire��o
- digitalWrite(dirB, HIGH);
- analogWrite(motorA, 200); //Velocidade
- analogWrite(motorB, 200);
- }
- if (valorSensorDir > 700)
- {
- //Aqui iria ligar os LEDs F1 e F2
- Timer1.start();
- analogWrite(motorA, 0); //Velocidade
- analogWrite(motorB, 0);
- delay(1000);
- //Aqui desligar LEds F1 e F2
- //Ligar LED Direira ou Esquerda
- Timer1.stop();
- digitalWrite(dirA, LOW); //Dire��o
- digitalWrite(dirB, HIGH);
- analogWrite(motorA, 200); //Velocidade
- analogWrite(motorB, 200);
- delay(1000);
- }
- if (valorSensorEsq > 700)
- {
- //Aqui iria ligar os LEDs F1 e F2
- Timer1.start();
- analogWrite(motorA, 0); //Velocidade
- analogWrite(motorB, 0);
- delay(1000);
- //Aqui desligar LEds F1 e F2
- //Ligar LED Direira ou Esquerda
- Timer1.stop();
- digitalWrite(dirA, HIGH); //Dire��o
- digitalWrite(dirB, LOW);
- analogWrite(motorA, 200); //Velocidade
- analogWrite(motorB, 200);
- delay(1000);
- }
- }// END LOOP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement