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 Arduino Uno R3

1 Protoboard

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 jumpers

* Este modelo que utilizei não possui o back light, porém o projeto foi montado com se tivesse essa função.

Obs.: Verifique a polaridade do sonorizador piezo.

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;
// Configura o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0
digitalWrite(trigPin, LOW);
delayMicroseconds(2); // Aguarda 2 microssegundos

// Configura o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // Aguarda 10 microssegundos
// Configura o pino 12 com pulso baixo novamente
digitalWrite(trigPin, LOW);
// PulseIn lê o tempo entre a chamada e o pino entrar em High
duration = pulseIn(echoPin, 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.

fonte: facacomarduino.info