God dag til alle! I denne artikel vil jeg gerne fortælle, hvordan brug Arduino, et sæt LED'er og en ultralydssensor, kan du samle en enhed, der bestemmer afstanden fra observatøren til objektet, med andre ord, rækkevidde finder. Og så lad os gå!
Hvad har vi brug for:
sædvanlige kassen. Det er ønskeligt at være lille i størrelse, da det kun vil indeholde en mikrokontroller.
med ultralydstransducer HC-SR04 vi kan bestemme afstanden.
Firecifret indikator vi er nødt til at udsende de opnåede værdier.
sæt lysdioder alle farver (jeg brugte grønt, da de er lysere), modstande ved 220 ohm ledninger eller springere også breadboard.
Så at komponenterne på vores enhed er sikkert fastgjort, lodder jeg dem.
Til dette har vi brug for loddejern, flux, lodningså godt brødbræt til lodning.
Og selvfølgelig uden Arduino vi kan ikke gøre! (Du kan vælge en hvilken som helst mikrokontroller, jeg foretrak Arduino Leonardo eller dets tilsvarende Iskra Neo)
Af værktøjerne har vi brug for et loddejern, som jeg sagde ovenfor, kniv og nipper.
Lad os nu begynde at samle enheden.
Trin 1
For at komme i gang ved hjælp af en brødbræt samler vi en prototype af vores fremtidige enhed. Det vil se sådan ud ..
Bare rolig! Der er ikke noget forfærdeligt i dette rod med ledninger!
HC-SR04 sensoren har fire stifter: plus, minus (som vi holder fast i 5V og GND på controlleren), Trig og Echo (vi indsætter arduino-stifterne i henholdsvis 12 og 11)
Den fircifrede indikator har 3 ledninger: strøm, jord og signal. Den sidstnævnte er forbundet til den 9-polede Arduino.
Vi forbinder tre lysdioder til 6, 5 og 4 kontakter fra controlleren i serie med modstande. Glem ikke polariteten. Strøm flyder fra et længere ben til et kortere.
Det var alt, da vi samlet vores enhed på en brødbræt, uploadede skitsen (det vil være i slutningen af artiklen) og sørgede for, at alt fungerer, er du velkommen til at begynde at lodde.
Trin nummer 2
Lod først den ultralydsensor til brødbrættet. Jeg brugte en lille brødbræt i størrelse, da antallet af elementer ikke overstiger 7.
Efter det, ved hjælp af nipere, bid benene af (jeg undskylder tautologien), så de bliver kortere, så de ikke forstyrrer sig og ser pænere ud!
Lod derefter de fire ledninger mod sensorkontakterne.
Glem heller ikke nipperne!
Trin 3
Sensoren er på plads, det gjenstår at lodde de tre LED'er sammen med modstanderne.
På bagsiden ser det sådan ud:
Trin 4
På siden af kassen skal du skære et rundt hul til mad.
På låget skal du skære et hulrum til størrelsen (lidt mindre i længden) på din brødbræt og også bore huller til skruer.
Hvis vi nu skruer et tomt brødbræt uden elementer på det (jeg lige gjorde det til demonstration ..), får vi noget i det følgende:
Trin # 5
Så for at gøre det mere praktisk foreslår jeg først at tilslutte ledningerne til arduino og først derefter skrue brædbrættet til kasselåget. Glem heller ikke vores indikator, som jeg placerede over layoutet.
Alt på denne enhedsenhed er færdig!
Det gjenstår kun at downloade det næste skitse og nyd legetøjet!
#include
#include
NewPing-ekkolodd (12.11, 400);
int a, j, b;
usigneret lang t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
ugyldig opsætning ()
{
for (int i = 4; i & lt; 7; i ++)
{
pinMode (i, OUTPUT);
}
displayClear (9);
for (int i = 4; i & lt; 7; i ++)
{
digitalWrite (i, 0);
}
}
void loop ()
{
j = 7;
for (int i = 0; i100) tone (2,70);
digitalWrite (j, masiv [i]);
mens (millis () & lt; = t + b)
{
forsinkelse (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
t = millis ();
hvis (j == 4) j = 7;
hvis (i == 8)
{
digitalWrite (4.1);
mens (millis () & lt; = (t + b) + (b * 2))
{
forsinkelse (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
digitalWrite (4.0);
t = millis ();
}
}
Et par ord programkode. Takket være ham vil vores tre lysdioder blinke skiftevis efter hinanden, og hastigheden på deres blink vil afhænge af afstanden til objektet, der beregnes af ultralydssensoren. Men for at få lysdioderne til at blinke, er det ikke helt logisk at bruge funktionen forsinkelse (), da kontrollen fryser, når der bruges, og der udføres ingen beregninger. Der er flere måder at løse dette problem på. Især en af dem er brugen af funktionen millis (), der returnerer et tal i millisekunder fra det øjeblik, controlleren fungerer. Og hvordan udsætter vi betingede 100 millisekunder? For at gøre dette oprettede jeg en i det væsentlige tom cyklus, hvorfra udgangen først er efter disse 100 millisekunder, og derefter fortsætter programmet med at tænde / slukke lysdioderne.
Det er alt sammen! Tak, fordi du læser denne artikel til slutningen. Jeg håber du ikke kun kunne lide hende, men også inspirerede et nyt hav kunsthåndværk og opfindelser!