Probablement l'un des projets de base sur Arduino Je suis des capteurs de stationnement. Mais cet article ne décrira pas la création d'un capteur de stationnement ordinaire, mais des capteurs de stationnement avec réglage manuel de la distance critique. Au cours de la création de cet appareil, vous augmenterez vos compétences en circuits et en programmation.
Les principaux composants:
• carte Arduino Nano / Uno
• capteur de distance à ultrasons HC-CR04
• 6 LED
• 6 résistances à 220 ohms
• 2 résistances par 10 KOm
• 2 boutons d'horloge
• couineur piézo
• planche délirante
• fils papa papa
• éponge à chaussures (pour le cas)
Depuis les outils:
• fer à souder
• thermo-colle
Considérez l'algorithme de l'appareil
Après avoir vu l'algorithme, nous collectons le schéma sur un tableau délirant:
Depuis que j'ai monté le circuit dans le boîtier, il a été décidé de faire des mini boucliers de boutons et de LED.
Le boîtier de l'appareil était composé d'une boîte en éponge pour chaussures.
Il ressemble à l'appareil à l'intérieur.
Voyons le code.
int switch1 = 9; // Bouton 1
int switch2 = 10; // Bouton 2
broche int = 2;
int bin = 40; // Distance critique initiale en centimètres !!!
int echoPin = 12; // Broche d'écho sur le module HC-SR04
int trigPin = 11; // Broche de déclenchement sur le module HC-SR04
int buz = 8; // Tweeter à broches
boolean lBut1 = LOW;
booléen lBut2 = LOW;
booléen cBut1 = LOW;
booléen cBut2 = LOW;
void setup () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, SORTIE); // LED 1
pinMode (3, SORTIE); // LED 2
pinMode (4, SORTIE); // LED 3
pinMode (5, SORTIE); // LED 4
pinMode (6, SORTIE); // LED 5
pinMode (7, SORTIE); // LED 6
pinMode (8, SORTIE); // Squeak
}
debounce booléen (dernier booléen)
{
courant booléen = digitalRead (switch1);
if (last! = current)
{
retard (5);
current = digitalRead (switch1);
}
retour courant;
}
boolean debounce2 (boolean last2)
{
boolean current2 = digitalRead (switch2);
if (last2! = current2)
{
retard (5);
current2 = digitalRead (switch2);
}
return current2;
}
boucle vide () {
durée int, cm;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
durée = pulseIn (echoPin, HIGH);
cm = durée / 58;
Serial.print (cm);
Serial.println ("cm");
retard (10);
cBut1 = anti-rebond (lBut1);
if (lBut1 == LOW && cBut1 == HIGH)
{
broche = broche-1;
bin = bin-7; // Le nombre 7 signifie une soustraction de 7 cm de la distance critique !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == HIGH)
{
broche = broche + 1;
bin = bin + 7; // Le chiffre 7 signifie l'ajout de 7 cm de la distance critique !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
si (cm 0)
{
tonalité (8 200 200);
retard (300);
}
d'autre
{
noTone (8);
}
}
Les valeurs de bac peuvent être modifiées pour un plus pratique pour vous.
En conséquence, l'appareil remplit régulièrement ses fonctions.
Cet article vous aidera à fabriquer les mêmes capteurs de stationnement sans trop d'effort.
Je souhaite à tous bonne chance pour répéter cet appareil. J'espère que mon guide vous a été utile.