//Este é o código da PAP
//Estacionamento com OCR, RFID e Teclado 3x4
//LCD pinos SCL - 34, SDA - 35
//HC-SR04 pinos Trig - 13, Echo - 12
#include <ESP32Servo.h>
#include <LiquidCrystal_I2C.h>
#include <NewPing.h>
#include <Keypad.h>
const byte Linhas = 4; //4 Linhas
const byte Colunas = 4; //4 colunas
NewPing sonar(13, 12, 400); //(trig,echo,maxdistance)
LiquidCrystal_I2C lcd(0x27, 20, 4); //endereço do LCD físico é 0x3f
int servo1pino = 5;
int servo2pino = 18;
Servo Servo1;
Servo Servo2;
void setup() { //Início do Setup
//Servos
Servo1.attach (servo1pino);
Servo2.attach (servo2pino);
//LCD
lcd.backlight();
lcd.init();
Serial.begin(9600);
Serial.print ("Fim do Setup");
} //Fim do Setup
void loop() { //Início do loop
int uS = sonar.ping();
Serial.print("Distância: ");
Serial.print(uS / US_ROUNDTRIP_CM); //passa pra cm
Serial.println("cm");
delay(500);
lcd.setCursor(0, 0);
lcd.print("Distancia: ");
lcd.print(uS / US_ROUNDTRIP_CM); //passa pra cm
lcd.print("cm ");
if (uS / US_ROUNDTRIP_CM <= 10) {
lcd.setCursor(0, 2);
lcd.print("Objeto detectado");
delay(500);
}
lcd.setCursor(0, 2);
//lcd.print(" "); //ultrassom e LCD teste
for(int position = 0; position <= 180; position++){
Servo1.write (position);
Servo2.write (180-position);
delay(20);
}
for(int position = 180; position >=0; position--){
Servo1.write (position);
Servo2.write (180-position);
delay(50);
} //teste servo
} //Fim do loop