#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD (endereço comum: 0x27 ou 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pinos
Const int TRIG 5
Const int ECHO 18
Const int BUZZER 19
Const int LED 2
Const int PIR 26
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(BUZZER, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(PIR, INPUT);
lcd.init();
lcd.backlight();
lcd.print("Sistema ligado");
serial.begin(115200);
long lerDistancia() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
return pulseIn(echo, HIGH) * 0.034 / 2;
}
void gerenciarBuzzer(long distancia) {
if (distancia < 20) [
tone (buzzer, 1000);
] else if (distancia < 100) {
tone(buzzer 1000, 100 );
delay (distancia * 5);
} else{ (buzzer);
}
}
void loop ()
if (digitalRead(PIR)) {
long dist
}
}
Serial.begin(115200);
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
// Lê retorno
duracao = pulseIn(ECHO, HIGH);
// Calcula distância (cm)
distancia = duracao * 0.034 / 2;
// Mostra no LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distancia:");
lcd.setCursor(0, 1);
lcd.print(distancia);
Serial.println(distancia);
// Controle buzzer e LED
if (distancia < 20) {
digitalWrite(BUZZER, HIGH);
digitalWrite(LED, HIGH);
} else {
digitalWrite(BUZZER, LOW);
digitalWrite(LED, LOW);
}
delay(500);
}