// Importação de bibliotecas
#include <LiquidCrystal_I2C.h>
#include <Ultrasonic.h>
// Criação dos objetos lcd e ultrasonic
LiquidCrystal_I2C lcd(0x27, 16, 2);
Ultrasonic ultrasonic(12, 13);
#define TRIG_PIN 12
#define ECHO_PIN 13
float pulso;
float distancia;
float x;
float y;
float z;
void setup() {
lcd.init();
lcd.backlight();
pinMode(ECHO_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
}
void loop() {
// Emitir um pulso ultrassônico para obter a distância
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Distância do pulso
pulso = pulseIn(ECHO_PIN, HIGH);
// Distância ultrasonic.read()
distancia = ultrasonic.read();
// Converter em metros
z = distancia/100;
// Função que corrige o valor da distância
x = (pulso/2) * 0.0342;
// Passa para metros
y = x/100;
// Posicionar na tela LCD
lcd.setCursor(0, 0);
// Função para escrever na tela LCD
lcd.print("Medido: ");
lcd.print(z);
lcd.print("m");
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("Calibrado: ");
lcd.print(y);
lcd.print("m");
lcd.print(" ");
}