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);

}

}