Geros popietės mėgėjai naminis! Šiandien mes surinksime paprastą nuotolio ieškiklį Arduino „Pro Mini“. Įrenginys gali išmatuoti atstumą nuo 2 iki 400 cm. Šio prietaiso paklaida siekia tik +/- 1-5 cm, atsižvelgiant į išmatuotą atstumą.
Įrankiai ir medžiagos
-Arduino Pro mini
Jutiklis HC-04
- indikatorius ant tm1637
-Vyras (turiu - MGTF 0,12)
-Programmeris
-Plastinis korpusas
-Li-on baterija
-Mažas jungiklis
- įkrovimo lenta ant TP4056
Super klijai
-Lituoklis
-Solderis
Rosinas
Gręžtuvas, gręžtuvas ir kt.
Pirmas žingsnis: Schema:
Pagal schemą viskas paprasta, be papildymų.
Antras žingsnis. Atvejo paruošimas:
Pirmiausia išbandome jutiklį ir gręžiame dvi skylutes po 15 mm.
Tada padarykite skylę mikro-usb jungčiai su 3-3,5 mm grąžtu.
Mes pasirenkame gręžtuvą jungiklio skersmeniui ir gręžtuvui.
Ant dangtelio padarome „langą“ septynių segmentų indikatoriui (nuotraukoje neapdorojant) ir visus pažeidimus užbaigiame byla.
Trečias žingsnis: Firmware:
Eskize išryškinami kintamieji, kuriuos galite pritaikyti sau. Visas kodas yra pakomentuotas.
# įtraukti // bibliotekos darbui
# įtraukti
// ------------- Norėdami sukonfigūruoti --------------------------------- --------------------------------
bukas ilgas = 0; // 0 - išmatuokite ilgį nuo jutiklio
// 1 - išmatuokite ilgį nuo korpuso sienos, priešingos jutikliui
nepasirašytas int korpusas = 10; // atstumas nuo jutiklio iki priešingos korpuso sienos (centimetrais)
#define CLK 2 // kaiščiai, kad būtų galima prisijungti
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
nepasirašytas int impulsas = 0; // skaičiavimo kintamieji
nepasirašytas int sm = 0;
„GyverTM1637 Disc“ (CLK, DIO);
negaliojanti sąranka () {
pinMode (TRIG, OUTPUT); // nustatyti kaip išvestį
pinMode (ECHO, INPUT); // nustatyti kaip įvestį
ryškumo ryškumas (7); // ryškumas 0-7
dispo taškas (0); // išjunkite dvitaškį
displa.clear (); // išvalykite indikatorių
}
tuščia kilpa () {
„digitalWrite“ (TRIG, HIGH); // tiekti 5 voltus
vėlavimasMikrosekundės (10); // atidėkite 10 mikrosekundžių
„digitalWrite“ (TRIG, LOW); // tarnauti 0
impulsas = pulseIn (ECHO, HIGH); // išmatuokite impulso ilgį
sm = impulsas / 58; // konvertuoti į centimetrus
if (Ilgas == 1) {// patikrinkite nustatymus
sm = sm + korpusas;
}
if (sm <= 2) {// nulis klaidingų verčių
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
vidinis skaičius = sm / 10;
vidinis dešimtainis = sm% 10;
dešimtainis = dešimtainis * 10;
displa.displayClock (sveikasis skaičius, dešimtainis); // išvestis į indikatorių
vėlavimas (300); // vėlavimas 0,3 sek. tarp išvesties vertės
}
Tada prijunkite programuotoją ir „flash MK“.
Ketvirtas žingsnis: Surinkimas:
Kadangi įrenginys veikia iš akumuliatoriaus energijos, mums nereikia papildomo mokesčio. Todėl „Arduino“ lentoje mes lituojame šviesos diodus ir „Reset“ mygtuką (kad sumažintume dydį).
Klijuokite akumuliatorių prie kūno ant superklijaus. Mes klijuojame įkrovimo lentą ant akumuliatoriaus, įdiekite jungiklį ir viską lituokite pagal schemą.
Mes klijuojame jutiklį prie korpuso ir viską litame pagal schemą. Pirmiausia kilo idėja lentą klijuoti ant dvipusės juostos, bet tada buvo nuspręsta ją klijuoti ant superklijaus. Indikatorių galima prisukti arba priklijuoti.
Penktas žingsnis: Testas:
Pastaba: ketvirtasis segmentas visada rodys 0. Tai reiškia, kad paskutinis segmentas nėra tuščias. Pasirodo, jei rodmuo yra 270, tai reiškia, kad atstumas yra 27 cm.
Norėdami būti tikri, parodymus galima patikrinti pas valdovą.