Вероятно един от основните проекти на Ардуино Аз съм сензори за паркиране. Тази статия обаче не описва създаването на обикновени сензори за паркиране, а сензори за паркиране с ръчно регулиране на критичното разстояние. В процеса на създаване на това устройство ще увеличите уменията си в схемата и програмирането.
Основни компоненти:
• arduino Nano / Uno дъска
• ултразвуков сензор за разстояние HC-CR04
• 6 светодиода
• 6 резистора при 220 ома
• 2 резистора на 10 KOm
• 2 бутона на часовника
• пиезо шишарка
• делиритен съвет
• татко татко проводници
• гъба за обувки (за случая)
От инструментите:
• поялник
• термо - лепило
Обмислете алгоритъма на устройството
След като прегледахме алгоритъма, събираме схемата на деликатна дъска:
Тъй като монтирах веригата в случая, беше решено да се направят мини щитове на бутони и светодиоди.
Калъфът на устройството беше направен от кутия от гъба за обувки.
Изглежда устройството вътре.
Нека видим кода.
int switch1 = 9; // Бутон 1
int switch2 = 10; // Бутон 2
int pin = 2;
int bin = 40; // Първоначално критично разстояние в сантиметри !!!
int echoPin = 12; // Ехо-щифт на HC-SR04 модул
int trigPin = 11; // Триъгълен щифт на HC-SR04 модул
int buz = 8; // Пинов пищялка
булева lBut1 = LOW;
булева lBut2 = LOW;
boolean cBut1 = LOW;
boolean cBut2 = LOW;
настройка за невалидност () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, OUTPUT); // LED 1
pinMode (3, изход); // LED 2
pinMode (4, изход); // LED 3
pinMode (5, изход); // LED 4
pinMode (6, изход); // LED 5
pinMode (7, изход); // LED 6
pinMode (8, изход); // скърцане
}
булева развръзка (булева последна)
{
булов ток = digitalRead (превключвател1);
ако (последно! = текущо)
{
забавяне (5);
current = digitalRead (превключвател1);
}
възвратен ток;
}
boolean debounce2 (boolean last2)
{
булов ток2 = digitalRead (превключвател2);
ако (last2! = current2)
{
забавяне (5);
current2 = digitalRead (превключвател2);
}
възвратен ток2;
}
void loop () {
int продължителност, cm;
digitalWrite (trigPin, LOW);
забавянеМикросекунди (2);
digitalWrite (trigPin, HIGH);
забавянеМикросекунди (10);
digitalWrite (trigPin, LOW);
продължителност = pulseIn (echoPin, HIGH);
cm = продължителност / 58;
Сериен печат (см);
Serial.println ("cm");
забавяне (10);
cBut1 = debounce (lBut1);
ако (lBut1 == LOW && cBut1 == HIGH)
{
щифт = щифт-1;
кошче = кошче 7; // Числото 7 означава изваждане на 7 см от критичното разстояние !!!
}
lBut1 = cBut1;
digitalWrite (щифт, HIGH);
cBut2 = debounce2 (lBut2);
ако (lBut2 == LOW && cBut2 == HIGH)
{
щифт = щифт + 1;
кошче = кошче + 7; // Числото 7 означава добавянето на 7 см от критичното разстояние !!!
}
lBut2 = cBut2;
digitalWrite (щифт, LOW);
ако (cm 0)
{
тон (8 200 000);
забавяне (300);
}
още
{
noTone (8);
}
}
Стойностите на кошчето могат да бъдат променени на по-удобно за вас.
В резултат на това устройството редовно изпълнява своите функции.
Тази статия ще ви помогне да направите същите сензори за паркиране без много усилия.
Пожелавам на всички успех в повторението на това устройство. Надявам се моето ръководство да ви е било полезно.