Sandsynligvis et af de grundlæggende projekter på Arduino Jeg parkerer sensorer. Men denne artikel beskriver ikke oprettelsen af en almindelig parkeringssensor, men parkeringssensorer med manuel justering af den kritiske afstand. I processen med at oprette denne enhed øger du dine færdigheder inden for kredsløb og programmering.
De vigtigste komponenter:
• arduino Nano / Uno bord
• ultralydsafstandsføler HC-CR04
• 6 lysdioder
• 6 modstande ved 220 ohm
• 2 modstande pr. 10 KOm
• 2 ur-knapper
• piezo squeaker
• vildtbræt
• far far ledninger
• skosvamp (til tilfældet)
Fra værktøjerne:
• loddejern
• termolim
Overvej enhedens algoritme
Efter at have set algoritmen, indsamler vi skemaet på en vildfarende tavle:
Da jeg monterede kredsløbet i sagen, blev det besluttet at lave miniskærme på knapper og LED'er.
Sagens enhed var lavet af en kasse fra en svamp til sko.
Det ligner enheden inde.
Lad os se koden.
int switch1 = 9; // Knap 1
int switch2 = 10; // Knap 2
int pin = 2;
int bin = 40; // Indledende kritisk afstand i centimeter !!!
int echoPin = 12; // Echo pin på HC-SR04 modul
int trigPin = 11; // Trig pin på HC-SR04 modul
int buz = 8; // Pin tweeter
boolsk lBut1 = LAV;
boolsk lBut2 = LAV;
boolsk cBut1 = LAV;
boolsk cBut2 = LAV;
ugyldig opsætning () {
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); // skrig
}
boolsk debounce (boolsk sidst)
{
boolsk strøm = digital læse (switch1);
hvis (sidst! = nuværende)
{
forsinkelse (5);
strøm = digitallæse (switch1);
}
returstrøm;
}
boolsk debounce2 (boolsk last2)
{
boolsk strøm 2 = digital læse (switch2);
if (last2! = current2)
{
forsinkelse (5);
strøm2 = digitallæse (switch2);
}
returstrøm2;
}
void loop () {
int varighed, cm;
digitalWrite (trigPin, LOW);
forsinkelse Mikrosekunder (2);
digitalWrite (trigPin, HØJ);
forsinkelse Mikrosekunder (10);
digitalWrite (trigPin, LOW);
varighed = pulsIn (echoPin, HØJ);
cm = varighed / 58;
Serial.print (cm);
Serial.println ("cm");
forsinkelse (10);
cBut1 = afvise (lBut1);
if (lBut1 == LAV && cBut1 == HØJ)
{
pin = pin-1;
skraldespand = bin-7; // Tallet 7 betyder subtraktion med 7 cm fra den kritiske afstand !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LAV && cBut2 == HØJ)
{
pin = pin + 1;
skraldespand = skraldespande + 7; // Tallet 7 betyder tilføjelse af 7 cm fra den kritiske afstand !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
if (cm 0)
{
tone (8.200.200);
forsinkelse (300);
}
andet
{
noTone (8);
}
}
Bin-værdierne kan ændres til en mere praktisk for dig.
Som et resultat udfører enheden regelmæssigt sine funktioner.
Denne artikel hjælper dig med at fremstille de samme parkeringssensorer uden stor indsats.
Jeg ønsker alle held og lykke med at gentage denne enhed. Jeg håber, at min guide var nyttig for dig.