Projeto 16 – Sensor de ré para automóvel
Olá pessoal, vamos fazer agora um sensor de ré que emite um alerta sonoro quando um objeto chega a uma certa distância. Para ficar mais visível iremos utilizar um LCD que nos informará a distância do objeto próximo ao sensor.
Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!
Componentes necessários
1 Protobord
1 Módulo ultrassônico HC-SRO4
1 LCD (JHD 162A de 16 colunas e 2 linhas) ou outro modelo
com back light
2 Potenciômetros de 10 K ohms (Um para o contraste e o
outro para a luz de fundo) *
1 Sonorizador piezo
Fios jumper
Obs.: Verifique a polaridade do sonorizador piezo.
*Este modelo que utilizei não possui o back light, porém
o projeto foi montado com se tivesse essa função.
Conectando os componentes
Primeiro, certifique-se de que seu Arduino esteja desligado,
desconectando-o do cabo USB. Agora, pegue o sensor ultrasôncio, o LCD, o piezo,
os potenciômetros e os fios e conecte-os como mostra a figura.
Não importa se você utiliza fios de cores diferentes ou furos
diferentes na protoboard, desde que os componentes e os fios estejam conectados
na mesma ordem da figura. Tenha cuidado ao inserir os componentes na
protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará
rígida. A não inserção cuidadosa dos componentes pode resultar em danos.
Certifique-se de que todos os componentes estejam conectados
corretamente. Quando você estiver seguro de que tudo foi conectado
corretamente, ligue seu Arduino e conecte o cabo USB.
Agora vamos ao código
// Projeto 16 - Sensor de ré para automóvel
#include <LiquidCrystal.h> // Biblioteca necessária para iniciar o LCD
#define buzina 6 // Define um variável chamada buzina no pino digital 6
#define trigPin 12
#define echoPin 13
LiquidCrystal lcd(9, 8, 5, 4, 3, 2); // Cria um objeto LCD e atribui os pinos
void setup() {
lcd.begin(12, 6); // Inicializa o LCD
pinMode(buzina, OUTPUT); // Declara o pino 6 como saída
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance; // http://arduino.cc/en/Reference/Long
digitalWrite(trigPin, LOW); // Configura o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0
delayMicroseconds(2); // Aguarda 2 microssegundos
digitalWrite(trigPin, HIGH); // Configura o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1
delayMicroseconds(10); // Aguarda 10 microssegundos
digitalWrite(trigPin, LOW); // Configura o pino 12 com pulso baixo novamente
duration = pulseIn(echoPin, HIGH); // PulseIn lê o tempo entre a chamada e o pino entrar em High
/*Esse calculo é baseado em s = v . t, lembrando que o tempo vem dobrado
porque é o tempo de ida e volta do ultrassom */
distance = ((duration/2) / 29.1);
lcd.clear();
lcd.print("Distancia:");
lcd.print(distance);
lcd.print(" CM");
{
delay(500);
}
// Condição para ativar a buzina quando atingir a distância necessária
if(distance < 30){
digitalWrite(buzina, HIGH); // Pino lógico 6 habilitado (5 Volts)
lcd.setCursor(0,1);
lcd.println("Muito proximo ! ");
}
else
{
digitalWrite(buzina, LOW); // Pino lógico 6 desabilitado (0 Volts)
lcd.setCursor(0,1);
lcd.println("Ainda seguro ! ");
}
delay(500);
}
Para certificar se o código está correto pressione o botão Verify/Compile. Se
tudo estiver correto pressione o botão Upload para fazer o upload do código
para seu Arduino. Pronto, agora gire os potenciômetros para regular o contraste
e o brilho. Coloque algum objeto próximo ao ultrassônico e quando o objeto
chegar ao uma distância inferior a 30 cm o piezo emitirá um som de alerta. Isso
tudo você também poderá visualizar no LCD.
Vídeo do projeto pronto
- Se você gostou do post, por favor comente! Nos dê um
feedback, isto nos incentiva a continuar! :)
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!