Provavelmente um dos projetos básicos em arduino Eu sou sensores de estacionamento. Mas este artigo não descreve a criação de sensores de estacionamento comuns, mas sensores de estacionamento com ajuste manual da distância crítica. No processo de criação deste dispositivo, você aumentará suas habilidades em circuitos e programação.
Os principais componentes:
• placa Nano / Uno do arduino
• sensor de distância ultrassônico HC-CR04
• 6 LEDs
• 6 resistores a 220 ohms
• 2 resistores por 10 KOm
• 2 botões de relógio
• squeaker piezo
• conselho delirante
• fios de pai e pai
• esponja de sapato (para o caso)
Das ferramentas:
• ferro de solda
• cola térmica
Considere o algoritmo do dispositivo
Depois de visualizar o algoritmo, coletamos o esquema em uma placa delirante:
Desde que montei o circuito no gabinete, foi decidido fazer mini escudos de botões e LEDs.
O estojo do dispositivo era feito de uma caixa de uma esponja para sapatos.
Parece que o dispositivo está dentro.
Vamos ver o código.
int switch1 = 9; // Botão 1
int switch2 = 10; // Botão 2
int pin = 2;
int bin = 40; // Distância crítica inicial em centímetros !!!
int echoPin = 12; // Pino de eco no módulo HC-SR04
int trigPin = 11; // Pino de acionamento no módulo HC-SR04
int buz = 8; // Pin tweeter
lBut1 booleano = BAIXO;
lBut2 booleano = BAIXO;
booleano cBut1 = BAIXO;
booleano cBut2 = BAIXO;
configuração nula () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, SAÍDA); // LED 1
pinMode (3, SAÍDA); // LED 2
pinMode (4, SAÍDA); // LED 3
pinMode (5, SAÍDA); // LED 4
pinMode (6, SAÍDA); // LED 5
pinMode (7, SAÍDA); // LED 6
pinMode (8, SAÍDA); // Squeak
}
debounce booleano (último booleano)
{
corrente booleana = digitalRead (switch1);
if (ultimo! = atual)
{
atraso (5);
corrente = digitalRead (switch1);
}
corrente de retorno;
}
debounce2 booleano (last2 booleano)
{
corrente booleana2 = digitalRead (switch2);
if (last2! = current2)
{
atraso (5);
current2 = digitalRead (switch2);
}
retornar current2;
}
loop vazio () {
int duração, cm;
digitalWrite (trigPin, LOW);
delayMicrosegundos (2);
digitalWrite (trigPin, HIGH);
delayMicrosegundos (10);
digitalWrite (trigPin, LOW);
duração = pulso (echoPin, HIGH);
cm = duração / 58;
Serial.print (cm);
Serial.println ("cm");
atraso (10);
cBut1 = debounce (lBut1);
if (lBut1 == BAIXO && cBut1 == ALTO)
{
pino = pino 1;
bin = bin-7; // O número 7 significa subtração em 7 cm da distância crítica !!!
}
lBut1 = cBut1;
digitalWrite (pino, ALTO);
cBut2 = debounce2 (lBut2);
if (lBut2 == BAIXO && cBut2 == ALTO)
{
pino = pino + 1;
bin = bin + 7; // O número 7 significa a adição de 7 cm da distância crítica !!!
}
lBut2 = cBut2;
digitalWrite (pino, BAIXO);
if (cm 0)
{
tom (8.200.200);
atraso (300);
}
mais
{
noTone (8);
}
}
Os valores do compartimento podem ser alterados para um mais conveniente para você.
Como resultado, o dispositivo executa regularmente suas funções.
Este artigo o ajudará a fabricar os mesmos sensores de estacionamento sem muito esforço.
Desejo a todos boa sorte em repetir este dispositivo. Espero que meu guia tenha sido útil para você.