Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define trigger 10
- #define eCHo 11
- #define buzzer 13
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
- long distancia;
- int led[6] = {3, 4, 5, 6, 7, 8};
- int freq = 3763;
- void setup() {
- Serial.begin(9600);
- lcd.begin(16, 2);
- for(int i = 0; i < 6; i++){
- pinMode(led[i], OUTPUT);
- }
- pinMode(eCHo, INPUT);
- pinMode(trigger, OUTPUT);
- digitalWrite(trigger, LOW);
- digitalWrite(eCHo, LOW);
- }
- void loop() {
- Serial.println(distanciar());
- /*lcd.print("dist = ");
- lcd.print(distanciar());
- lcd.print(" cm");
- delay (300);
- lcd.clear();*/
- if(distanciar() > 0 && distanciar() <= 10){
- ativarLeds(6 );
- sonzinho(100);
- }
- else if(distanciar() > 10 && distanciar() <= 20){
- ativarLeds(5);
- sonzinho(200);
- }
- else if(distanciar() > 20 && distanciar() <= 30){
- ativarLeds(4);
- sonzinho(300);
- }
- else if(distanciar() > 30 && distanciar() <= 40){
- ativarLeds(3);
- sonzinho(400);
- }
- else if(distanciar() > 40 && distanciar() <= 50){
- ativarLeds(2);
- sonzinho(500);
- }
- else{
- ativarLeds(1);
- sonzinho(600);
- }
- }
- int distanciar(){
- digitalWrite(trigger, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigger, LOW);
- distancia = pulseIn(eCHo, HIGH) * 0.0170145;
- return distancia;
- }
- void ativarLeds(int qntdLeds){
- for(int i = 0; i < qntdLeds; i++){
- digitalWrite(led[i], HIGH);
- }
- for(int i = 5; i > qntdLeds - 1; i--){
- digitalWrite(led[i], LOW);
- }
- }
- void sonzinho(int t){
- tone(buzzer, freq);
- delay(t);
- tone(buzzer, freq);
- delay(t);
- }
Add Comment
Please, Sign In to add comment