SlideShare uma empresa Scribd logo
1 de 11
#include <Ultrasonic.h> 
#define echoPin 13 //ligado no echo // e recebe o sinal que a distancia do oponente 
#define trigPin 12 //Pino 12 envia o pulso para gerar o echo / liga do triger 
int distancia=0; 
int s1 = A1; // Sensor 2 , f r e n t e d i r e i t o 
int s2 = A3; // Sensor 4 , f r e n t e esquerdo 
int s3 = A2; // Sensor 3 , meio 
int s4=A0; // Sensor 1 , f r e n t e d i r e i t o 
int s5=A4; // Sensor 5 , f r e n t e esquerdo 
//leds de alerta no teto 
int led1=11; 
int led2=2; 
int led3=4; 
int led4=7; 
int led5=8; 
//estado dos leds para função millis() 
int ledState = LOW; 
int ledState1 = LOW; 
int ledState2 = LOW; 
int ledState3 = LOW; 
int ledState4 = LOW; 
//variáveis função millis() 
long previousMillis = 0;
long previousMillis1 = 0; 
long previousMillis2 = 0; 
long previousMillis3 = 0; 
long previousMillis4 = 0; 
//intervalos para função millis() 
long interval = 1010; 
long interval1 = 1015; 
long interval2= 1020; 
long interval3= 1025; 
long interval4= 750; 
//MOTOR A, lado esquerdo 
int mA1 = 3; // Motor A 1 
int mA2 = 5; // Motor A 2 
//MOTOR B, lado d i r e i t o 
int mB1 = 6; // Motor B 1 
int mB2 = 9; // Motor B 2 
int frente = HIGH; 
int lados = HIGH; 
void setup () { 
pinMode ( s1 , INPUT) ; 
pinMode ( s2 , INPUT) ;
pinMode ( s3 , INPUT) ; 
pinMode ( s4 , INPUT) ; 
pinMode ( s5 , INPUT) ; 
pinMode (led1, OUTPUT) ; 
pinMode (led2, OUTPUT) ; 
pinMode (led3, OUTPUT) ; 
pinMode (led4, OUTPUT) ; 
pinMode (led5, OUTPUT) ; 
pinMode (mA1, OUTPUT) ; 
pinMode (mA2, OUTPUT) ; 
pinMode (mB1, OUTPUT) ; 
pinMode (mB2, OUTPUT) ; 
pinMode(echoPin, INPUT); // define o pino 13 como entrada (recebe) 
pinMode(trigPin, OUTPUT); // define o pino 12 como saida (envia) 
Serial . begin (9600) ; 
} 
void loop () { 
//seta o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0 
digitalWrite(trigPin, LOW); 
// delay de 2 microssegundos 
delayMicroseconds(2); 
//seta o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1 
digitalWrite(trigPin, HIGH); 
//delay de 10 microssegundos
delayMicroseconds(10); 
//seta o pino 12 com pulso baixo novamente 
digitalWrite(trigPin, LOW); 
//pulseInt lê o tempo entre a chamada e o pino entrar em high 
int duration = pulseIn(echoPin,HIGH); 
//Esse calculo é baseado em s = v . t, lembrando que o tempo vem dobrado 
//porque é o tempo de ida e volta do ultrassom 
distancia = (duration/29)/2 ; 
Serial.print("Distancia em CM: "); 
Serial.println(distancia); 
if(distancia<=10&& distancia>8){ 
digitalWrite (mA1, LOW ) ; 
analogWrite (mA1, 0) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, LOW) ; 
analogWrite (mB2, 0) ; 
delay (1000); 
digitalWrite (mA1, LOW ) ; 
digitalWrite (mA2, HIGH) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ;
delay (750); 
digitalWrite (mA1, HIGH ) ; 
analogWrite (mA1, 120) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
analogWrite (mB2, 80) ; 
delay (3500); 
digitalWrite (mA1, HIGH ) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, HIGH ) ; 
digitalWrite (mB2, LOW) ; 
delay (700); 
digitalWrite (mA1, HIGH ) ; 
analogWrite (mA1, 120) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
analogWrite (mB2, 80) ; 
delay (5000); 
digitalWrite (mA1, HIGH ) ;
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, HIGH ) ; 
digitalWrite (mB2, LOW) ; 
delay (700); 
digitalWrite (mA1, HIGH ) ; 
analogWrite (mA1, 120) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
analogWrite (mB2, 80) ; 
delay (3500); 
digitalWrite (mA1, LOW ) ; 
digitalWrite (mA2, HIGH) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
delay (750); 
} 
else if (digitalRead ( s3 )==frente) { 
digitalWrite (mA1, HIGH ) ; 
analogWrite (mA1, 120) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, LOW ) ;
digitalWrite (mB2, HIGH) ; 
analogWrite (mB2, 80) ; 
} 
else if ((digitalRead ( s2 ) == frente) || ((digitalRead ( s2 ) == frente)&&(digitalRead ( s5 ) == 
frente))) 
{ 
digitalWrite (mA1, HIGH ) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, HIGH ) ; 
digitalWrite (mB2, LOW) ; 
} 
else if ((digitalRead ( s1 ) == frente) || ((digitalRead ( s1 ) == frente)&&(digitalRead ( s4 ) == 
frente))) 
{ 
digitalWrite (mA1, LOW ) ; 
digitalWrite (mA2, HIGH) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
} 
else if (digitalRead ( s4 ) == frente) 
{ 
digitalWrite (mA1, LOW ) ; 
digitalWrite (mA2, HIGH) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ;
} 
else if (digitalRead ( s5 ) == frente) 
{ 
digitalWrite (mA1, HIGH ) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, HIGH ) ; 
digitalWrite (mB2, LOW) ; 
} 
else if ((digitalRead (s2) ==frente)&&(digitalRead (s5) ==frente)&&(digitalRead (s3 ) ==frente)) 
{ 
digitalWrite (mA1, HIGH ) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, HIGH ) ; 
digitalWrite (mB2, LOW) ; 
} 
else if ((digitalRead (s4)==frente )&&(digitalRead (s1)==frente )&&(digitalRead (s3)==frente )) 
{ 
digitalWrite (mA1, LOW ) ; 
digitalWrite (mA2, HIGH) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
} 
else if ((digitalRead (s4)==LOW )&&(digitalRead (s1)==LOW )&&(digitalRead (s3)==frente) && 
(digitalRead (s2) ==frente)&&(digitalRead (s5) ==frente))
{ 
digitalWrite (mA1, LOW ) ; 
digitalWrite (mA2, HIGH) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
} 
else if ((digitalRead (s2)==LOW )&&(digitalRead (s5)==LOW )&&(digitalRead (s3)==LOW) && 
(digitalRead (s1) ==frente)&&(digitalRead (s4) ==frente)) 
{ 
digitalWrite (mA1, HIGH ) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, HIGH ) ; 
digitalWrite (mB2, LOW) ; 
} 
else 
{ 
digitalWrite (mA1, HIGH ) ; 
analogWrite (mA1, 120) ; 
digitalWrite (mA2, LOW) ; 
digitalWrite (mB1, LOW ) ; 
digitalWrite (mB2, HIGH) ; 
analogWrite (mB2, 80) ;
} 
unsigned long currentMillis = millis(); 
if(currentMillis - previousMillis > interval) { 
previousMillis = currentMillis; 
if (ledState == LOW) 
ledState = HIGH; 
else 
ledState = LOW; 
digitalWrite(led1, ledState); 
} 
else if(currentMillis - previousMillis1 > interval1) { 
previousMillis1 = currentMillis; 
if (ledState1 == LOW) 
ledState1 = HIGH; 
else 
ledState1 = LOW; 
digitalWrite(led2, ledState1);} 
else if(currentMillis - previousMillis2 > interval2) { 
previousMillis2 = currentMillis; 
if (ledState2 == LOW) 
ledState2 = HIGH; 
else 
ledState2 = LOW;
digitalWrite(led3, ledState2);} 
else if(currentMillis - previousMillis3 > interval3) { 
previousMillis3 = currentMillis; 
if (ledState3 == LOW) 
ledState3 = HIGH; 
else 
ledState3 = LOW; 
digitalWrite(led5, ledState3); 
} 
if(currentMillis - previousMillis4 > interval4) { 
previousMillis4 = currentMillis; 
if (ledState4 == LOW) 
ledState4 = HIGH; 
else 
ledState4 = LOW; 
digitalWrite(led4, ledState4);} 
}

Mais conteúdo relacionado

Semelhante a Include

Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdfprofwtelles
 
Projeto arduino@22
Projeto arduino@22Projeto arduino@22
Projeto arduino@22bdfe
 
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdfPMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdfEliakimArajo2
 
Prova de aptidão tecnológica
Prova de aptidão tecnológicaProva de aptidão tecnológica
Prova de aptidão tecnológicaokashi24
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e RobóticaMarinho Brandão
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraPotiLivre Sobrenome
 
Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03Tiago Barros
 
Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Tiago Barros
 

Semelhante a Include (9)

Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdf
 
Projeto arduino@22
Projeto arduino@22Projeto arduino@22
Projeto arduino@22
 
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdfPMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
PMR3100_2021_Aula05_Sensores_e_Atuadores.pdf
 
Prova de aptidão tecnológica
Prova de aptidão tecnológicaProva de aptidão tecnológica
Prova de aptidão tecnológica
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e Robótica
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03Técnicas de Prototipação II - Physical Computing - Aula 03
Técnicas de Prototipação II - Physical Computing - Aula 03
 
Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02Técnicas de Prototipação II - Physical Computing - Aula 02
Técnicas de Prototipação II - Physical Computing - Aula 02
 
Pic slides
Pic slidesPic slides
Pic slides
 

Include

  • 1. #include <Ultrasonic.h> #define echoPin 13 //ligado no echo // e recebe o sinal que a distancia do oponente #define trigPin 12 //Pino 12 envia o pulso para gerar o echo / liga do triger int distancia=0; int s1 = A1; // Sensor 2 , f r e n t e d i r e i t o int s2 = A3; // Sensor 4 , f r e n t e esquerdo int s3 = A2; // Sensor 3 , meio int s4=A0; // Sensor 1 , f r e n t e d i r e i t o int s5=A4; // Sensor 5 , f r e n t e esquerdo //leds de alerta no teto int led1=11; int led2=2; int led3=4; int led4=7; int led5=8; //estado dos leds para função millis() int ledState = LOW; int ledState1 = LOW; int ledState2 = LOW; int ledState3 = LOW; int ledState4 = LOW; //variáveis função millis() long previousMillis = 0;
  • 2. long previousMillis1 = 0; long previousMillis2 = 0; long previousMillis3 = 0; long previousMillis4 = 0; //intervalos para função millis() long interval = 1010; long interval1 = 1015; long interval2= 1020; long interval3= 1025; long interval4= 750; //MOTOR A, lado esquerdo int mA1 = 3; // Motor A 1 int mA2 = 5; // Motor A 2 //MOTOR B, lado d i r e i t o int mB1 = 6; // Motor B 1 int mB2 = 9; // Motor B 2 int frente = HIGH; int lados = HIGH; void setup () { pinMode ( s1 , INPUT) ; pinMode ( s2 , INPUT) ;
  • 3. pinMode ( s3 , INPUT) ; pinMode ( s4 , INPUT) ; pinMode ( s5 , INPUT) ; pinMode (led1, OUTPUT) ; pinMode (led2, OUTPUT) ; pinMode (led3, OUTPUT) ; pinMode (led4, OUTPUT) ; pinMode (led5, OUTPUT) ; pinMode (mA1, OUTPUT) ; pinMode (mA2, OUTPUT) ; pinMode (mB1, OUTPUT) ; pinMode (mB2, OUTPUT) ; pinMode(echoPin, INPUT); // define o pino 13 como entrada (recebe) pinMode(trigPin, OUTPUT); // define o pino 12 como saida (envia) Serial . begin (9600) ; } void loop () { //seta o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0 digitalWrite(trigPin, LOW); // delay de 2 microssegundos delayMicroseconds(2); //seta o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1 digitalWrite(trigPin, HIGH); //delay de 10 microssegundos
  • 4. delayMicroseconds(10); //seta o pino 12 com pulso baixo novamente digitalWrite(trigPin, LOW); //pulseInt lê o tempo entre a chamada e o pino entrar em high int duration = pulseIn(echoPin,HIGH); //Esse calculo é baseado em s = v . t, lembrando que o tempo vem dobrado //porque é o tempo de ida e volta do ultrassom distancia = (duration/29)/2 ; Serial.print("Distancia em CM: "); Serial.println(distancia); if(distancia<=10&& distancia>8){ digitalWrite (mA1, LOW ) ; analogWrite (mA1, 0) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, LOW) ; analogWrite (mB2, 0) ; delay (1000); digitalWrite (mA1, LOW ) ; digitalWrite (mA2, HIGH) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ;
  • 5. delay (750); digitalWrite (mA1, HIGH ) ; analogWrite (mA1, 120) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; analogWrite (mB2, 80) ; delay (3500); digitalWrite (mA1, HIGH ) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, HIGH ) ; digitalWrite (mB2, LOW) ; delay (700); digitalWrite (mA1, HIGH ) ; analogWrite (mA1, 120) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; analogWrite (mB2, 80) ; delay (5000); digitalWrite (mA1, HIGH ) ;
  • 6. digitalWrite (mA2, LOW) ; digitalWrite (mB1, HIGH ) ; digitalWrite (mB2, LOW) ; delay (700); digitalWrite (mA1, HIGH ) ; analogWrite (mA1, 120) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; analogWrite (mB2, 80) ; delay (3500); digitalWrite (mA1, LOW ) ; digitalWrite (mA2, HIGH) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; delay (750); } else if (digitalRead ( s3 )==frente) { digitalWrite (mA1, HIGH ) ; analogWrite (mA1, 120) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, LOW ) ;
  • 7. digitalWrite (mB2, HIGH) ; analogWrite (mB2, 80) ; } else if ((digitalRead ( s2 ) == frente) || ((digitalRead ( s2 ) == frente)&&(digitalRead ( s5 ) == frente))) { digitalWrite (mA1, HIGH ) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, HIGH ) ; digitalWrite (mB2, LOW) ; } else if ((digitalRead ( s1 ) == frente) || ((digitalRead ( s1 ) == frente)&&(digitalRead ( s4 ) == frente))) { digitalWrite (mA1, LOW ) ; digitalWrite (mA2, HIGH) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; } else if (digitalRead ( s4 ) == frente) { digitalWrite (mA1, LOW ) ; digitalWrite (mA2, HIGH) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ;
  • 8. } else if (digitalRead ( s5 ) == frente) { digitalWrite (mA1, HIGH ) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, HIGH ) ; digitalWrite (mB2, LOW) ; } else if ((digitalRead (s2) ==frente)&&(digitalRead (s5) ==frente)&&(digitalRead (s3 ) ==frente)) { digitalWrite (mA1, HIGH ) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, HIGH ) ; digitalWrite (mB2, LOW) ; } else if ((digitalRead (s4)==frente )&&(digitalRead (s1)==frente )&&(digitalRead (s3)==frente )) { digitalWrite (mA1, LOW ) ; digitalWrite (mA2, HIGH) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; } else if ((digitalRead (s4)==LOW )&&(digitalRead (s1)==LOW )&&(digitalRead (s3)==frente) && (digitalRead (s2) ==frente)&&(digitalRead (s5) ==frente))
  • 9. { digitalWrite (mA1, LOW ) ; digitalWrite (mA2, HIGH) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; } else if ((digitalRead (s2)==LOW )&&(digitalRead (s5)==LOW )&&(digitalRead (s3)==LOW) && (digitalRead (s1) ==frente)&&(digitalRead (s4) ==frente)) { digitalWrite (mA1, HIGH ) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, HIGH ) ; digitalWrite (mB2, LOW) ; } else { digitalWrite (mA1, HIGH ) ; analogWrite (mA1, 120) ; digitalWrite (mA2, LOW) ; digitalWrite (mB1, LOW ) ; digitalWrite (mB2, HIGH) ; analogWrite (mB2, 80) ;
  • 10. } unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { previousMillis = currentMillis; if (ledState == LOW) ledState = HIGH; else ledState = LOW; digitalWrite(led1, ledState); } else if(currentMillis - previousMillis1 > interval1) { previousMillis1 = currentMillis; if (ledState1 == LOW) ledState1 = HIGH; else ledState1 = LOW; digitalWrite(led2, ledState1);} else if(currentMillis - previousMillis2 > interval2) { previousMillis2 = currentMillis; if (ledState2 == LOW) ledState2 = HIGH; else ledState2 = LOW;
  • 11. digitalWrite(led3, ledState2);} else if(currentMillis - previousMillis3 > interval3) { previousMillis3 = currentMillis; if (ledState3 == LOW) ledState3 = HIGH; else ledState3 = LOW; digitalWrite(led5, ledState3); } if(currentMillis - previousMillis4 > interval4) { previousMillis4 = currentMillis; if (ledState4 == LOW) ledState4 = HIGH; else ledState4 = LOW; digitalWrite(led4, ledState4);} }