Introduction: Sensor De Estacionamento
MATERIAIS
- Arduino UNO
- Sensores ultrassônicos
- Placa de Prototipagem
- Buzzer
- Bluetooth
- Bateria ou USB (fonte de alimentação)
CÓDIGO
#include
#include
#include
//criando objeto ultrasonic e definindo as portas digitais
//do Trigger - 6 - e Echo - 7
Ultrasonic ultrasonic(2,3);
Ultrasonic ultrasonic2(5,6);
//Dados do buzzer
#define tempo 500
int frequencia = 3000;
int Pinofalante = 12;
int atraso = 1000;
//Dados do bluetooth
#define RxD 1 //Define RxD
#define TxD 0 //Define TxD
SoftwareSerial blueToothSerial(RxD,TxD); //Instância a biblioteca SoftwareSerial.h
long microsec = 0;
float distanciaCM = 0;
long microsec2 = 0;
float distanciaCM2 = 0;
void setup() {
pinMode(Pinofalante,OUTPUT); //Pino do buzzer
Serial.begin(9600); //Inicializando o serial monitor
}
void loop() {
//Lendo o sensor
blueToothSerial.begin(9600);
microsec = ultrasonic.timing();
microsec2 = ultrasonic2.timing();
distanciaCM = ultrasonic.convert(microsec, Ultrasonic::CM);
buzzerDistancia();
delay(atraso);
//Convertendo a distância 2 em CM
distanciaCM2 = ultrasonic2.convert(microsec2, Ultrasonic::CM);
if (distanciaCM > distanciaCM2)
{
Serial.println(distanciaCM2);
}
else
{
Serial.println(distanciaCM);
}
buzzerDistancia();
delay(atraso);
}
//Método que centraliza o controle de acendimento dos leds.
void buzzerDistancia() {
//Acendendo o led adequado para a distância lida no sensor
if (distanciaCM > 25 and distanciaCM <= 30 || distanciaCM2 > 25 and distanciaCM2 <= 30) {
atraso = 5000;
//Emite o bip
NewTone(Pinofalante, frequencia, tempo);
}
if (distanciaCM > 20 and distanciaCM <= 24 || distanciaCM2 > 20 and distanciaCM2 <= 24) {
atraso = 4000;
//Emite o bip
NewTone(Pinofalante, frequencia, tempo);
}
if (distanciaCM <=20 and distanciaCM >= 15 || distanciaCM <=20 and distanciaCM >= 15 ) {
atraso = 3000;
//Emite o bip
NewTone(Pinofalante, frequencia, tempo);
}
if (distanciaCM <=14 and distanciaCM >= 10 || distanciaCM2 <=14 and distanciaCM2 >= 10 ) {
atraso = 2000;
//Emite o bip
NewTone(Pinofalante, frequencia, tempo);
}
if (distanciaCM < 10 || distanciaCM2 < 10 ) {
atraso = 1000;
//Emite o bip
NewTone(Pinofalante, frequencia, tempo);
}
}