Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Ultrasonic.h>
- #define led 6
- #define trig 11
- #define echo 10
- #define botao 2
- #define buzzer 13
- #define botao2 3
- int valor = 0;
- int valor2 = 0;
- int estado = 0;
- int estado1 = 0;
- int valor3 = 0;
- int valor4 = 0;
- float cmMsec;
- Ultrasonic ultrasonic(trig, echo); //inicia a biblioteca com os pinos
- //------------------------------------------------------------------
- void setup()
- {
- pinMode(led, OUTPUT);
- pinMode(botao, INPUT);
- pinMode(buzzer, OUTPUT);
- pinMode(botao2, INPUT);
- }
- //------------------------------------------------------------------
- void loop()
- {
- valor = digitalRead(botao);
- long microsec = ultrasonic.timing();
- cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
- if (cmMsec > 120) //se o valor for menor ou igual a
- {
- digitalWrite(buzzer, LOW);
- digitalWrite(led, LOW);
- }
- if ((valor == HIGH) && (valor2 == LOW))
- {
- estado = 1 - estado;
- delay(20);
- }
- valor2 = valor;
- if (estado == 1)
- {
- if(cmMsec > 80 && cmMsec <120)
- {
- tone(buzzer, 1000,100);
- delay(200);
- tone(buzzer,1500,100);
- delay(200);
- tone(buzzer, 2000,100);
- delay(200);
- tone(buzzer, 2500,100);
- delay(200);
- tone(buzzer, 2000,100);
- delay(200);
- tone(buzzer, 1500,100);
- delay(200);
- }
- else
- if (cmMsec >40 && cmMsec < 80)
- {
- tone(buzzer, 1000,100);
- delay(100);
- tone(buzzer, 1500,100);
- delay(100);
- tone(buzzer, 2000,100);
- delay(100);
- tone(buzzer, 2500,100);
- delay(100);
- tone(buzzer,2000,100);
- delay(100);
- tone(buzzer, 1500,100);
- delay(100);
- }
- else
- if (cmMsec < 40)
- {
- tone(buzzer,1000,100);
- delay(20);
- tone(buzzer, 1500,100);
- delay(20);
- tone(buzzer, 2000,100);
- delay(20);
- tone(buzzer,2500,100);
- delay(20);
- tone(buzzer,2000,100);
- delay(20);
- tone(buzzer,1500,100);
- delay(20);
- }
- }
- if(estado == 0)
- {
- digitalWrite(buzzer, LOW);
- }
- valor3 = digitalRead(botao2);
- if(cmMsec >120)
- {
- digitalWrite(led, LOW);
- }
- if ((valor3 == HIGH) && (valor4 == LOW))
- {
- estado1 = 1 - estado1;
- delay(20);
- }
- valor4 = valor3;
- if (estado1 == 1)
- {
- if(cmMsec > 80 && cmMsec < 120)
- {
- analogWrite(led, 90);
- }
- else
- if(cmMsec > 40 && cmMsec < 80)
- {
- analogWrite(led, 160);
- }
- else
- if(cmMsec < 40)
- {
- analogWrite(led, 255); }
- }
- if(estado1 == 0)
- {
- digitalWrite(led, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement