Pravdepodobne jeden zo základných projektov Arduino Som parkovacie senzory. Tento článok však nebude popisovať vytvorenie konvenčných parkovacích senzorov, ale parkovacích senzorov s manuálnym nastavením kritickej vzdialenosti. V procese vytvárania tohto zariadenia zvýšite svoje zručnosti v oblasti obvodov a programovania.
Hlavné komponenty:
• doska arduino Nano / Uno
• ultrazvukový senzor vzdialenosti HC-CR04
• 6 LED
• 6 odporov pri 220 ohmoch
• 2 odpory na 10 KOm
• 2 tlačidlá hodín
• piezo squeaker
• delirious board
• vodiče otca
• špongia na obuv (pre tento prípad)
Z nástrojov:
• spájkovačka
• termo - lepidlo
Zvážte algoritmus zariadenia
Po prečítaní algoritmu zhromaždíme schému na delirious rade:
Pretože som v obvode namontoval obvod, bolo rozhodnuté vyrobiť mini štíty tlačidiel a LED.
Puzdro zariadenia bolo vyrobené z škatule zo špongie na topánky.
Vyzerá to, že zariadenie je vo vnútri.
Pozrime sa na kód.
prepínač int1 = 9; // Tlačidlo 1
int spínač 2 = 10; // Tlačidlo 2
int pin = 2;
int bin = 40; // Počiatočná kritická vzdialenosť v centimetroch !!!
int echoPin = 12; // Echo pin na module HC-SR04
int trigPin = 11; // Trig pin na module HC-SR04
int buz = 8; // Pin tweeter
boolean lBut1 = LOW;
boolean lBut2 = LOW;
boolean cBut1 = LOW;
boolean cBut2 = LOW;
neplatné nastavenie () {
Serial.egegin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, VÝSTUP); // LED 1
pinMode (3, VÝSTUP); // LED 2
pinMode (4, VÝSTUP); // LED 3
pinMode (5, VÝSTUP); // LED 4
pinMode (6, VÝSTUP); // LED 5
pinMode (7, VÝSTUP); // LED 6
pinMode (8, VÝSTUP); // Squeak
}
booleovský deboun (booleovský posledný)
{
boolovský prúd = digitalRead (switch1);
if (last! = current)
{
oneskorenie (5);
current = digitalRead (switch1);
}
spätný prúd;
}
boolean debounce2 (booleovský posledný2)
{
boolean current2 = digitalRead (switch2);
if (last2! = current2)
{
oneskorenie (5);
current2 = digitalRead (switch2);
}
spätný prúd2;
}
void loop () {
int trvanie, cm;
digitalWrite (trigPin, LOW);
oneskorenieMikrosekundy (2);
digitalWrite (trigPin, HIGH);
oneskorenieMikrosekundy (10);
digitalWrite (trigPin, LOW);
trvanie = pulseIn (echoPin, HIGH);
cm = trvanie / 58;
Sériová tlač (cm);
Serial.println ("cm");
oneskorenie (10);
cBut1 = odklon (lBut1);
ak (lBut1 == LOW && cBut1 == VYSOKÉ)
{
pin = pin-1;
bin = bin-7; // Číslo 7 znamená odpočítanie o 7 cm od kritickej vzdialenosti !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
ak (lBut2 == LOW && cBut2 == VYSOKÉ)
{
pin = pin + 1;
bin = bin + 7; // Číslo 7 znamená pridanie 7 cm od kritickej vzdialenosti !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
ak (cm 0)
{
tón (8 200 200);
oneskorenie (300);
}
inak
{
noTone (8);
}
}
Hodnoty bin sa dajú zmeniť tak, aby boli pre vás pohodlnejšie.
Výsledkom je, že zariadenie pravidelne vykonáva svoje funkcie.
Tento článok vám pomôže urobiť rovnaké parkovacie senzory bez veľkého úsilia.
Želám všetkým veľa šťastia pri opakovaní tohto zariadenia. Dúfam, že môj sprievodca bol pre vás užitočný.