Prawdopodobnie jeden z podstawowych projektów arduino Jestem czujnikami parkowania. Ale w tym artykule nie opisano tworzenia zwykłych czujników parkowania, ale czujniki parkowania z ręczną regulacją odległości krytycznej. W trakcie tworzenia tego urządzenia zwiększysz swoje umiejętności w zakresie obwodów i programowania.
Główne elementy:
• Płyta arduino Nano / Uno
• ultradźwiękowy czujnik odległości HC-CR04
• 6 diod LED
• 6 rezystorów przy 220 omach
• 2 rezystory na 10 km
• 2 przyciski zegara
• piszczący piezo
• szalona tablica
• tata tata druty
• gąbka do butów (do etui)
Z narzędzi:
• lutownica
• termo - klej
Rozważ algorytm urządzenia
Po obejrzeniu algorytmu zbieramy schemat na szalonej tablicy:
Ponieważ zamontowałem obwód w obudowie, postanowiono wykonać mini tarcze przycisków i diod LED.
Obudowa urządzenia została wykonana z pudełka z gąbki na buty.
Wygląda jak urządzenie w środku.
Zobaczmy kod.
int przełącznik 1 = 9; // Przycisk 1
int switch2 = 10; // Przycisk 2
int pin = 2;
int bin = 40; // Początkowa odległość krytyczna w centymetrach !!!
int echoPin = 12; // Pin Echo na module HC-SR04
int trigPin = 11; // Pin wyzwalający na module HC-SR04
int buz = 8; // Pinowy głośnik wysokotonowy
boolean lBut1 = LOW;
boolean lBut2 = LOW;
wartość logiczna cBut1 = LOW;
wartość logiczna cBut2 = LOW;
void setup () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (switch1, INPUT);
pinMode (switch2, INPUT);
pinMode (2, WYJŚCIE); // LED 1
pinMode (3, WYJŚCIE); // LED 2
pinMode (4, WYJŚCIE); // LED 3
pinMode (5, WYJŚCIE); // LED 4
pinMode (6, WYJŚCIE); // LED 5
pinMode (7, WYJŚCIE); // LED 6
pinMode (8, WYJŚCIE); // pisk
}
boolean debounce (boolean last)
{
prąd boolowski = digitalRead (switch1);
if (last! = current)
{
opóźnienie (5);
current = digitalRead (switch1);
}
prąd powrotny;
}
boolean debounce2 (boolean last2)
{
boolean current2 = digitalRead (switch2);
if (last2! = current2)
{
opóźnienie (5);
current2 = digitalRead (switch2);
}
prąd powrotny2;
}
void loop () {
int czas trwania, cm;
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
czas trwania = pulseIn (echoPin, HIGH);
cm = czas trwania / 58;
Numer seryjny (cm);
Serial.println („cm”);
opóźnienie (10);
cBut1 = debounce (lBut1);
if (lBut1 == LOW && cBut1 == HIGH)
{
pin = pin-1;
bin = bin-7; // Liczba 7 oznacza odjęcie o 7 cm od odległości krytycznej !!!
}
lBut1 = cBut1;
digitalWrite (pin, WYSOKI);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == HIGH)
{
pin = pin + 1;
bin = bin + 7; // Liczba 7 oznacza dodanie 7 cm od odległości krytycznej !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
if (cm 0)
{
ton (8 200 200);
opóźnienie (300);
}
jeszcze
{
noTone (8);
}
}
Wartości bin można zmienić na bardziej wygodne dla Ciebie.
W rezultacie urządzenie regularnie wykonuje swoje funkcje.
Ten artykuł pomoże ci zrobić te same czujniki parkowania bez większego wysiłku.
Życzę wszystkim powodzenia w powtarzaniu tego urządzenia. Mam nadzieję, że mój przewodnik był dla ciebie przydatny.