Valószínűleg az egyik alapvető projekt a Arduino Parkoló érzékelők vagyok. De ez a cikk nem a közönséges parkolási érzékelők létrehozását írja le, hanem a parkolási érzékelőket a kritikus távolság kézi beállításával. Az eszköz létrehozása során meg fogja növelni az áramköri és programozási ismereteit.
A fő összetevők:
• arduino Nano / Uno tábla
• ultrahangos távolságmérő HC-CR04
• 6 LED
• 6 ellenállás 220 ohm-en
• 2 ellenállás 10 KOm-enként
• 2 óra gomb
• piezo squeaker
• élvezetes tábla
• apa apa vezetékek
• cipőszivacs (az esethez)
Az eszközök közül:
• forrasztópáka
• hőragasztó
Vegye figyelembe az eszköz algoritmusát
Az algoritmus áttekintése után összegyűjtjük a sémát egy szórakoztató táblán:
Mivel a körbe szereltem az áramkört, úgy döntöttem, hogy készítsen mini pajzsot a gombokról és a LED-ekről.
Az eszköz tokja egy cipőből készült szivacsból készült dobozból készült.
Úgy néz ki, mint a belső eszköz.
Lássuk a kódot.
int kapcsoló1 = 9; // 1. gomb
int kapcsoló2 = 10; // 2. gomb
int pin = 2;
int bin = 40; // Kezdeti kritikus távolság centiméterben !!!
int echoPin = 12; // Visszapillantó a HC-SR04 modulon
int trigPin = 11; // Kioldócsap a HC-SR04 modulon
int buz = 8; // Csípõhangzó
logikai lBut1 = LOW;
logikai lBut2 = LOW;
logikai cBut1 = LOW;
logikai cBut2 = LOW;
érvénytelen beállítás () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (1. kapcsoló, INPUT);
pinMode (switch2, INPUT);
pinMode (2, OUTPUT); // 1. LED
pinMode (3, OUTPUT); // 2. LED
pinMode (4, OUTPUT); // 3. LED
pinMode (5, OUTPUT); // 4. LED
pinMode (6, OUTPUT); // 5. LED
pinMode (7, OUTPUT); // 6. LED
pinMode (8, OUTPUT); // Squeak
}
boolean debounce (logikai utoljára)
{
logikai áram = digitalRead (1. kapcsoló);
if (utolsó! = jelenlegi)
{
késleltetés (5);
áram = digitalRead (1. kapcsoló);
}
visszatérő áram;
}
logikai debounce2 (logikai utolsó2)
{
logikai áram2 = digitalRead (kapcsoló2);
if (utolsó2! = jelenlegi2)
{
késleltetés (5);
current2 = digitalRead (switch2);
}
visszatérő áram2;
}
void loop () {
int időtartam, cm;
digitalWrite (trigPin, LOW);
késleltetésMikrosekundumok (2);
digitalWrite (trigPin, HIGH);
késleltetésMikrosekundumok (10);
digitalWrite (trigPin, LOW);
időtartam = pulseIn (echoPin, HIGH);
cm = időtartam / 58;
Soros nyomtatás (cm);
Serial.println ("cm");
késleltetés (10);
cBut1 = debounce (lBut1);
if (lBut1 == LOW && cBut1 == HIGH)
{
pin = pin-1;
bin = bin-7; // A 7-es szám azt jelenti, hogy kivonjuk 7 cm-rel a kritikus távolságtól !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == HIGH)
{
pin = pin + 1;
bin = bin + 7; // A 7-es szám azt jelenti, hogy a kritikus távolsághoz 7 cm-t kell hozzáadni !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
if (cm 0)
{
hang (8 200 200);
késleltetés (300);
}
más
{
noTone (8);
}
}
A tároló értéke megváltoztatható az Ön számára kényelmesebb értékre.
Ennek eredményeként a készülék rendszeresen ellátja funkcióit.
Ez a cikk segítséget nyújt Önnek ugyanazon parkolási érzékelők elkészítésében, nagy erőfeszítés nélkül.
Mindenkinek sok szerencsét kívánok ennek az eszköznek a megismételéséhez. Remélem, az útmutatóm hasznos volt számodra.