Todennäköisesti yksi perusprojekteista Työläs Olen pysäköintianturit. Mutta tässä artikkelissa ei kuvata tavallisten pysäköintianturien luomista, vaan pysäköintianturit, joissa kriittinen etäisyys säädetään manuaalisesti. Laitteen luomisprosessissa parannat piiri- ja ohjelmointitaitojasi.
Pääkomponentit:
• arduino Nano / Uno -taulu
• ultraäänietäisyysanturi HC-CR04
• 6 LEDiä
• 6 vastukset 220 ohmin paineessa
• 2 vastusta 10 KOm kohti
• 2 kellopainiketta
• pietsokoriste
• herkullinen lauta
• isä isä johdot
• kenkäsieni (koteloon)
Työkaluista:
• juotosrauta
• lämpöliima
Harkitse laitteen algoritmia
Algoritmin tarkastelun jälkeen keräämme kaavion herkulliselle taululle:
Koska asennin piirin koteloon, päätettiin tehdä painikkeiden ja ledien minisuojat.
Laitteen kotelo oli valmistettu kenkäsientä sisältävästä laatikosta.
Näyttää siltä, että laite on sisällä.
Katsotaanpa koodia.
int-kytkin1 = 9; // Painike 1
int-kytkin2 = 10; // Painike 2
int-nasta = 2;
int bin = 40; // Alkuperäinen kriittinen etäisyys senttimetreinä !!!
int echoPin = 12; // E-tappi HC-SR04-moduulissa
int trigPin = 11; // Käynnistystappi HC-SR04-moduulissa
int buz = 8; // Napauta tweeter
boolean lBut1 = alhainen;
boolean lBut2 = LOW;
boolean cBut1 = LOW;
boolean cBut2 = LOW;
tyhjä asennus () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (kytkin1, INPUT);
pinMode (kytkin2, INPUT);
pinMode (2, OUTPUT); // LED 1
pinMode (3, OUTPUT); // LED 2
pinMode (4, OUTPUT); // LED 3
pinMode (5, OUTPUT); // LED 4
pinMode (6, OUTPUT); // LED 5
pinMode (7, OUTPUT); // LED 6
pinMode (8, OUTPUT); // Purista
}
boolean debounce (boolean viimeinen)
{
boolean current = digitalRead (kytkin1);
if (viimeinen! = nykyinen)
{
viive (5);
nykyinen = digitalRead (kytkin1);
}
paluuvirta;
}
boolean debounce2 (boolean last2)
{
boolean current2 = digitalRead (kytkin2);
if (viimeinen2! = nykyinen2)
{
viive (5);
current2 = digitalRead (kytkin2);
}
paluuvirta2;
}
tyhjä silmukka () {
int kesto, cm;
digitalWrite (trigPin, LOW);
viiveMikrosekunnit (2);
digitalWrite (trigPin, HIGH);
viiveMikrosekunnit (10);
digitalWrite (trigPin, LOW);
kesto = pulseIn (echoPin, HIGH);
cm = kesto / 58;
Sarjajälki (cm);
Serial.println ("cm");
viive (10);
cBut1 = poisto (lBut1);
if (lBut1 == LOW && cBut1 == HIGH)
{
pin = pin-1;
bin = bin-7; // Numero 7 tarkoittaa 7 cm: n vähennystä kriittisestä etäisyydestä !!!
}
lBut1 = cBut1;
digitalWrite (pin, HIGH);
cBut2 = debounce2 (lBut2);
if (lBut2 == LOW && cBut2 == HIGH)
{
nasta = nasta + 1;
bin = bin + 7; // Numero 7 tarkoittaa 7 cm: n lisäystä kriittisestä etäisyydestä !!!
}
lBut2 = cBut2;
digitalWrite (pin, LOW);
if (cm 0)
{
ääni (8 200 200);
viive (300);
}
muu
{
noTone (8);
}
}
Roskakorin arvot voidaan muuttaa sinulle sopivimmaksi.
Seurauksena on, että laite suorittaa säännöllisesti toimintonsa.
Tämä artikkeli auttaa sinua tekemään samat pysäköintianturit ilman paljon vaivaa.
Toivotan kaikille onnea tämän laitteen toistamisessa. Toivon oppaastani hyötyä sinulle.