Probablemente uno de los proyectos básicos en arduino Soy sensores de estacionamiento. Pero este artículo no describirá la creación de sensores de estacionamiento convencionales, sino sensores de estacionamiento con ajuste manual de la distancia crítica. En el proceso de creación de este dispositivo, aumentará sus habilidades en circuitos y programación.
Los componentes principales:
• placa Arduino Nano / Uno
• sensor de distancia ultrasónico HC-CR04
• 6 LED
• 6 resistencias a 220 ohmios
• 2 resistencias por 10 KOm
• 2 botones de reloj
• chirriador piezoeléctrico
• tablero delirante
• papá papá cables
• esponja de zapatos (para el caso)
De las herramientas:
• soldador
• termo - pegamento
Considere el algoritmo del dispositivo.
Después de ver el algoritmo, recopilamos el esquema en un tablero delirante:
Desde que monté el circuito en la carcasa, se decidió hacer mini escudos de botones y LED.
La caja del dispositivo estaba hecha de una caja de una esponja para zapatos.
Parece el dispositivo dentro.
Veamos el código.
int switch1 = 9; // Botón 1
int switch2 = 10; // Botón 2
pin int = 2;
int bin = 40; // ¡Distancia crítica inicial en centímetros!
int echoPin = 12; // Pin de eco en el módulo HC-SR04
int trigPin = 11; // Trig pin en el módulo HC-SR04
int buz = 8; // Pin tweeter
booleano lBut1 = BAJO;
booleano lBut2 = BAJO;
boolean cBut1 = BAJO;
boolean cBut2 = BAJO;
configuración nula () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, SALIDA); // LED 1
pinMode (3, SALIDA); // LED 2
pinMode (4, SALIDA); // LED 3
pinMode (5, SALIDA); // LED 4
pinMode (6, SALIDA); // LED 5
pinMode (7, SALIDA); // LED 6
pinMode (8, SALIDA); // chirrido
}
rebote booleano (último booleano)
{
corriente booleana = digitalRead (switch1);
if (último! = actual)
{
retraso (5);
current = digitalRead (switch1);
}
corriente de retorno;
}
debounce2 booleano (last2 booleano)
{
boolean current2 = digitalRead (switch2);
if (last2! = current2)
{
retraso (5);
current2 = digitalRead (switch2);
}
return current2;
}
bucle vacío () {
int duración, cm;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
duración = pulseIn (echoPin, HIGH);
cm = duración / 58;
Serial.print (cm);
Serial.println ("cm");
retraso (10);
cBut1 = debounce (lBut1);
if (lBut1 == LOW && cBut1 == HIGH)
{
pin = pin-1;
bin = bin-7; // ¡¡¡El número 7 significa resta por 7 cm de la distancia crítica !!!
}
lBut1 = cBut1;
digitalWrite (pin, ALTO);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == HIGH)
{
pin = pin + 1;
bin = bin + 7; // ¡El número 7 significa la suma de 7 cm de la distancia crítica!
}
lBut2 = cBut2;
digitalWrite (pin, BAJO);
si (cm 0)
{
tono (8.200.200);
retraso (300);
}
otra cosa
{
noTono (8);
}
}
Los valores del contenedor se pueden cambiar para que sea más conveniente para usted.
Como resultado, el dispositivo realiza regularmente sus funciones.
Este artículo te ayudará a hacer los mismos sensores de estacionamiento sin mucho esfuerzo.
Les deseo a todos buena suerte al repetir este dispositivo. Espero que mi guía te haya sido útil.