Wahrscheinlich eines der Grundprojekte auf Arduino Ich bin Parksensoren. In diesem Artikel wird jedoch nicht die Erstellung herkömmlicher Parksensoren beschrieben, sondern Parksensoren mit manueller Einstellung des kritischen Abstands. Bei der Erstellung dieses Geräts werden Sie Ihre Kenntnisse in Schaltung und Programmierung verbessern.
Die Hauptkomponenten:
• Arduino Nano / Uno Board
• Ultraschall-Abstandssensor HC-CR04
• 6 LEDs
• 6 Widerstände bei 220 Ohm
• 2 Widerstände pro 10 KOm
• 2 Uhrentasten
• Piezo-Quietscher
• delirious board
• Papa Papa Drähte
• Schuhschwamm (für den Fall)
Aus den Werkzeugen:
• Lötkolben
• Thermokleber
Betrachten Sie den Algorithmus des Geräts
Nachdem wir den Algorithmus angesehen haben, sammeln wir das Schema auf einer delirierenden Tafel:
Da ich die Schaltung in das Gehäuse montiert habe, wurde beschlossen, Mini-Abschirmungen aus Tasten und LEDs herzustellen.
Das Gehäuse des Geräts bestand aus einer Schachtel aus einem Schuhschwamm.
Es sieht aus wie das Gerät im Inneren.
Mal sehen, den Code.
int switch1 = 9; // Button 1
int switch2 = 10; // Button 2
int pin = 2;
int bin = 40; // Anfänglicher kritischer Abstand in Zentimetern !!!
int echoPin = 12; // Echo-Pin am HC-SR04-Modul
int trigPin = 11; // Triggerstift am HC-SR04-Modul
int buz = 8; // Pin Hochtöner
boolean lBut1 = LOW;
boolean lBut2 = LOW;
boolean cBut1 = LOW;
boolean cBut2 = LOW;
void setup () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
PinMode (2, OUTPUT); // LED 1
PinMode (3, OUTPUT); // LED 2
PinMode (4, OUTPUT); // LED 3
PinMode (5, OUTPUT); // LED 4
PinMode (6, OUTPUT); // LED 5
PinMode (7, OUTPUT); // LED 6
PinMode (8, OUTPUT); // Quietschen
}}
boolean debounce (boolean last)
{
Boolescher Strom = digitalRead (switch1);
if (last! = current)
{
Verzögerung (5);
current = digitalRead (switch1);
}}
Rückstrom;
}}
boolean debounce2 (boolean last2)
{
Boolescher Strom2 = digitalRead (Schalter2);
if (last2! = current2)
{
Verzögerung (5);
current2 = digitalRead (switch2);
}}
Rückstrom2;
}}
void loop () {
int Dauer, cm;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
Dauer = PulsIn (echoPin, HIGH);
cm = Dauer / 58;
Serial.print (cm);
Serial.println ("cm");
Verzögerung (10);
cBut1 = entprellen (lBut1);
if (lBut1 == LOW && cBut1 == HIGH)
{
Pin = Pin-1;
bin = bin-7; // Die Zahl 7 bedeutet eine Subtraktion von 7 cm vom kritischen Abstand !!!
}}
lBut1 = cBut1;
digitalWrite (Pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == HIGH)
{
Pin = Pin + 1;
bin = bin + 7; // Die Zahl 7 bedeutet die Addition von 7 cm vom kritischen Abstand !!!
}}
lBut2 = cBut2;
digitalWrite (Pin, LOW);
if (cm 0)
{
Ton (8.200.200);
Verzögerung (300);
}}
sonst
{
noTone (8);
}}
}}
Die Bin-Werte können für Sie bequemer geändert werden.
Infolgedessen führt das Gerät regelmäßig seine Funktionen aus.
Dieser Artikel hilft Ihnen dabei, dieselben Parksensoren ohne großen Aufwand herzustellen.
Ich wünsche allen viel Glück beim Wiederholen dieses Geräts. Ich hoffe, mein Führer war hilfreich für Sie.