Pravděpodobně jeden ze základních projektů arduino Jsem parkovací senzory. Tento článek však nebude popisovat vytvoření konvenčních parkovacích senzorů, ale parkovacích senzorů s ručním nastavením kritické vzdálenosti. V průběhu vytváření tohoto zařízení zvýšíte své dovednosti v oblasti obvodů a programování.
Hlavní složky:
• deska arduino Nano / Uno
• ultrazvukový senzor vzdálenosti HC-CR04
• 6 LED
• 6 odporů při 220 ohmech
• 2 rezistory na 10 KOm
• 2 hodinová tlačítka
• piezo squeaker
• delirious board
• táta táta dráty
• bota houba (pro případ)
Z nástrojů:
• páječka
• termo - lepidlo
Zvažte algoritmus zařízení
Po shlédnutí algoritmu shromáždíme schéma na delirious desce:
Vzhledem k tomu, že jsem připevnil obvod v pouzdře, bylo rozhodnuto vyrobit mini štíty tlačítek a LED.
Případ zařízení byl vyroben z krabičky z houby na boty.
Vypadá to, že zařízení uvnitř.
Podívejme se na kód.
int spínač1 = 9; // Tlačítko 1
int switch2 = 10; // Tlačítko 2
int pin = 2;
int bin = 40; // Počáteční kritická vzdálenost v centimetrech !!!
int echoPin = 12; // Echo pin na modulu HC-SR04
int trigPin = 11; // Trig pin na modulu HC-SR04
int buz = 8; // Pin tweeter
boolean lBut1 = LOW;
boolean lBut2 = LOW;
boolean cBut1 = LOW;
boolean cBut2 = LOW;
neplatné nastavení () {
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
}
boolean debounce (boolean last)
{
boolean proud = digitalRead (switch1);
if (last! = current)
{
zpoždění (5);
current = digitalRead (switch1);
}
zpětný proud;
}
boolean debounce2 (boolean last2)
{
boolean current2 = digitalRead (switch2);
if (last2! = current2)
{
zpoždění (5);
current2 = digitalRead (switch2);
}
zpětný proud2;
}
void loop () {
int trvání, cm;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
duration = pulseIn (echoPin, HIGH);
cm = trvání / 58;
Serial.print (cm);
Serial.println ("cm");
zpoždění (10);
cBut1 = debounce (lBut1);
if (lBut1 == LOW && cBut1 == VYSOKÉ)
{
pin = pin-1;
bin = bin-7; // Číslo 7 znamená odčítání o 7 cm od kritické vzdálenosti !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == VYSOKÉ)
{
pin = pin + 1;
bin = bin + 7; // Číslo 7 znamená přidání 7 cm od kritické vzdálenosti !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
if (cm 0)
{
tón (8 200 200);
zpoždění (300);
}
jinde
{
noTone (8);
}
}
Hodnoty bin lze změnit tak, aby vám vyhovovaly.
Výsledkem je, že zařízení pravidelně plní své funkce.
Tento článek vám pomůže udělat stejné parkovací senzory bez velkého úsilí.
Přeji všem hodně štěstí při opakování tohoto zařízení. Doufám, že pro vás byl můj průvodce užitečný.