Geros dienos visiems! Šiame straipsnyje norėčiau papasakoti, kaip naudojant Arduino, šviesos diodų rinkinį ir ultragarso jutiklį, galite surinkti prietaisą, kuris nustato atstumą nuo stebėtojo iki objekto, kitaip tariant, diapazono ieškiklis. Ir taip einam!
Ko mums reikia:
Paprasta dėžutė. Pageidautina, kad jis būtų mažas, nes jame bus tik vienas mikrovaldiklis.
Naudojant ultragarsinis keitiklis HC-SR04 galime nustatyti atstumą.
Keturių skaitmenų indikatorius turime išvesti gautas vertes.
Rinkinys Šviesos diodai bet kokios spalvos (aš naudojau žalią, nes jos ryškesnės), rezistoriai esant 220 omų laidai ar šuolininkai taip pat bandelė.
Kad mūsų prietaiso komponentai būtų tvirtai pritvirtinti, aš juos lituoju.
Tam mums reikia lituoklis, srautas, lydmetalistaip pat bandelė litavimui.
Ir, žinoma, be Arduino mes negalime padaryti! (Galite pasirinkti bet kurį mikrovaldiklį, aš pirmenybę teikiau Arduino Leonardo ar jam lygiaverčiam Iskra Neo)
Kaip minėjau aukščiau, iš visų įrankių, kuriems mums reikia lituoklio, peilis ir žnyplės.
Dabar pradėkime surinkti įrenginį.
1 žingsnis
Norėdami pradėti, naudodami duonos lentelę, surinksime būsimojo įrenginio prototipą. Tai atrodys maždaug taip ..
Nesijaudink! Šioje laidų netvarkoje nėra nieko baisaus!
„HC-SR04“ jutiklis turi keturis kaiščius: plius, minus (kuriuos mes priklijuojame prie valdiklio 5 V ir GND), „Trig“ ir „Echo“ (mes įterpiame arduino kaiščius atitinkamai į 12 ir 11).
Keturių skaitmenų indikatorius turi 3 laidus: maitinimą, žemę ir signalą. Pastarasis yra prijungtas prie 9 kontaktų Arduino.
Mes prijungiame tris šviesos diodus prie 6, 5 ir 4 valdiklio kontaktų nuosekliai su rezistoriais. Nepamirškite apie poliškumą. Srovė teka iš ilgesnės kojos į trumpesnę.
Štai viskas, kai mes surinkome savo prietaisą ant duonos lentos, įkėlėme eskizą (jis bus straipsnio pabaigoje) ir įsitikinome, kad viskas veikia, nesivaržykite pradėti lituoti.
2 žingsnis
Pirmiausia pritvirtinkite ultragarso jutiklį prie lentos. Aš naudojau mažą bandelę pagal dydį, nes elementų skaičius neviršija 7.
Po to, naudodamiesi žnyplėmis, nusipjaukite kojas (atsiprašau už tautologiją), padarydami jas trumpesnes, kad jos netrukdytų ir atrodytų gražiau!
Po to prijunkite keturis laidus prie jutiklio kontaktų.
Taip pat nepamirškite apie spenelius!
3 žingsnis
Jutiklis yra vietoje, belieka išlydyti tris šviesos diodus kartu su rezistoriais.
Iš kitos pusės jis atrodo taip:
4 žingsnis
Dėžutės šone išpjaukite apvalią skylę maistui.
Ant dangtelio turite iškirpti ertmę iki dydžio (šiek tiek mažesnio ilgio) savo lentos, taip pat gręžti skylutes varžtams.
Dabar, jei apsukame tuščią lentos lentą be elementų (aš tai padariau tik demonstravimui ..), gauname kažką panašaus:
5 žingsnis
Taigi, kad būtų patogiau, siūlau pirmiausia prijungti laidus prie arduino, o tik tada prisukti duonos lentą prie dėžutės dangčio. Be to, nepamirškite apie mūsų indikatorių, kurį pateikiau virš maketo.
Viskas šiame įrenginio komplekte baigta!
Belieka tik atsisiųsti kitą eskizas ir mėgaukitės žaislu!
# įtraukti
# įtraukti
„NewPing“ hidrolokatorius (12.11, 400);
int a, j, b;
nepasirašytas ilgas t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
negaliojanti sąranka ()
{
už (int i = 4; i & lt; 7; i ++)
{
pinMode (i, OUTPUT);
}
displayClear (9);
už (int i = 4; i & lt; 7; i ++)
{
„digitalWrite“ (i, 0);
}
}
tuščia kilpa ()
{
j = 7;
už (int i = 0; i100) toną (2,70);
„digitalWrite“ (j, masiv [i]);
tuo tarpu (milis () & lt; = t + b)
{
vėlavimas (50);
a = sonaras.ping_cm ();
„displayInt“ (9, a);
b = a;
}
t = milis ();
if (j == 4) j = 7;
jei (i == 8)
{
„digitalWrite“ (4.1);
o (milis () & lt; = (t + b) + (b * 2))
{
vėlavimas (50);
a = sonaras.ping_cm ();
„displayInt“ (9, a);
b = a;
}
„digitalWrite“ (4.0);
t = milis ();
}
}
Keletas žodžių programos kodas. Jo dėka, trys mūsų šviesos diodai mirksės pakaitomis vienas po kito, o jų mirksėjimo greitis priklausys nuo atstumo iki objekto, kurį apskaičiuoja ultragarso jutiklis. Tačiau norint, kad šviesos diodai mirksėtų, nėra visiškai logiška naudoti delsos () funkciją, nes kai jis naudojamas, valdiklis užšąla ir jokie skaičiavimai neatliekami. Yra keletas būdų, kaip išspręsti šią problemą. Visų pirma, vienas iš jų yra funkcijos „millis“ () naudojimas, kuris grąžina skaičių milisekundėmis nuo valdiklio veikimo momento. Ir kaip atidėti sąlyginę 100 milisekundžių? Norėdami tai padaryti, aš sukūriau iš esmės tuščią ciklą, kurio išėjimas bus tik po šių 100 milisekundžių, o tada programa tęsis, kad įjungtų / išjungtų šviesos diodus.
Na, viskas! Ačiū, kad perskaitėte šį straipsnį iki galo. Tikiuosi, kad jūs jai ne tik patiko, bet ir įkvėpėte naują jūrą amatai ir išradimai!