Sannsynligvis et av de grunnleggende prosjektene på arduino Jeg er parkeringssensorer. Men denne artikkelen vil ikke beskrive opprettelsen av en konvensjonell parkeringssensor, men parkeringssensorer med manuell justering av den kritiske avstanden. I prosessen med å lage denne enheten vil du øke ferdighetene dine i kretsløp og programmering.
De viktigste komponentene:
• arduino Nano / Uno bord
• ultrasonisk avstandsføler HC-CR04
• 6 lysdioder
• 6 motstander ved 220 ohm
• 2 motstander per 10 KOm
• 2 klokkeknapper
• piezo squeaker
• villfarende styre
• pappa ledninger
• skosvamp (for saken)
Fra verktøyene:
• loddejern
• termoelim
Vurder enhetens algoritme
Etter å ha sett på algoritmen, samler vi opp ordningen på et villfarende brett:
Siden jeg monterte kretsen i saken, ble det bestemt å lage miniskjold av knapper og LED.
Enheten til enheten var laget av en boks fra en svamp for sko.
Det ser ut som enheten inni.
La oss se koden.
int switch1 = 9; // Knapp 1
int switch2 = 10; // Knapp 2
int pin = 2;
int bin = 40; // Innledende kritisk avstand i centimeter !!!
int echoPin = 12; // Ekkopinne på HC-SR04-modulen
int trigPin = 11; // Trig pin på HC-SR04-modulen
int buz = 8; // Pin tweeter
boolsk lBut1 = LAV;
boolsk lBut2 = LAV;
boolsk cBut1 = LAV;
boolsk cBut2 = LAV;
ugyldig oppsett () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, UTGANG); // LED 1
pinMode (3, UTGANG); // LED 2
pinMode (4, OUTPUT); // LED 3
pinMode (5, UTGANG); // LED 4
pinMode (6, OUTPUT); // LED 5
pinMode (7, UTGANG); // LED 6
pinMode (8, UTGANG); // Pip
}
boolean debounce (boolean last)
{
boolsk strøm = digitallesning (bryter1);
hvis (sist! = nåværende)
{
forsinkelse (5);
strøm = digitallesning (bryter1);
}
returstrøm;
}
boolean debounce2 (boolean last2)
{
boolsk strøm2 = digitallesning (switch2);
if (last2! = current2)
{
forsinkelse (5);
strøm2 = digitallesning (switch2);
}
returstrøm2;
}
void loop () {
int varighet, cm;
digitalWrite (trigPin, LOW);
forsinkelse Mikrosekunder (2);
digitalWrite (trigPin, HIGH);
forsinkelse Mikrosekunder (10);
digitalWrite (trigPin, LOW);
varighet = pulseIn (echoPin, HIGH);
cm = varighet / 58;
Serial.print (cm);
Serial.println ("cm");
forsinkelse (10);
cBut1 = avvis (lBut1);
if (lBut1 == LAV && cBut1 == HØY)
{
pin = pin-1;
søppel = søppel-7; // Tallet 7 betyr subtraksjon med 7 cm fra den kritiske avstanden !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LAV && cBut2 == HØY)
{
pin = pin + 1;
søppel = søppel + 7; // Tallet 7 betyr tillegg av 7 cm fra kritisk avstand !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
if (cm 0)
{
tone (8.200.200);
forsinkelse (300);
}
annet
{
noTone (8);
}
}
Papirkurvverdiene kan endres til en mer praktisk for deg.
Som et resultat utfører enheten regelmessig sine funksjoner.
Denne artikkelen vil hjelpe deg å lage de samme parkeringssensorene uten mye krefter.
Jeg ønsker alle lykke til med å gjenta dette apparatet. Jeg håper guiden min var nyttig for deg.