Jó napot szerelmesek DIY! Ma összeállítunk egy egyszerű távolságmérőt Arduino Pro Mini. A készülék képes mérni a távolságot 2 és 400 cm között, ennek a készüléknek a hibája a mért távolságtól függően mindössze +/- 1-5 cm.
Szerszámok és anyagok
-Arduino Pro mini
HC-04 érzékelő
- Jelző a tm1637-en
-Kábel (van - MGTF 0,12)
-Programmator
-Műanyag ház
-Li-on akkumulátor
-Kis kapcsoló
- Töltőlap a TP4056-on
-Superkley
- Forrasztópáka
-Pripoy
-Kanifol
Fúró, fúró stb.
1. lépés: Séma:
A rendszer szerint minden egyszerű, kiegészítések nélkül.
Második lépés: Az eset előkészítése:
Először megpróbáljuk az érzékelőt, és fúrunk két lyukat 15 mm-re.
Ezután készítsen egy furatot egy mikro-usb csatlakozóhoz 3-3,5 mm-es fúróval.
Kiválasztunk egy fúrót a kapcsoló átmérőjéhez és a fúrót.
A fedélre készítünk egy "ablakot" a hét szegmensű indikátorhoz (a képen feldolgozás nélkül), és az összes szabálytalanságot egy fájllal készítjük el.
Harmadik lépés: Firmware:
A vázlatban ki vannak emelve azok a változók, amelyeket saját maguk állíthatnak be. Az összes kódot kommentálják.
#include // könyvtárak munkához
# beletartozik a
// ------------- konfigurálása --------------------------------- --------------------------------
bool hosszú = 0; // 0 - mérje meg a hosszát az érzékelőtől
// 1 - mérje meg a hosszúságot a ház falától, amely az érzékelővel ellentétes
aláíratlan int corpus = 10; // távolság az érzékelőtől a ház ellenkező faláig (centiméterben)
#define CLK 2 // csapok a csatlakozáshoz
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
alá nem írt int impulzus = 0; // változók a számításhoz
aláíratlan int sm = 0;
GyverTM1637 displa (CLK, DIO);
érvénytelen beállítás () {
pinMode (TRIG, OUTPUT); // kimenetként beállítva
pinMode (ECHO, INPUT); // bemenetként beállítva
fényerősség (7); // fényerő 0-7
diszpont (0); // kapcsolja ki a kettőspontot
disp.clear (); // törölje a jelzőt
}
void loop () {
digitalWrite (TRIG, HIGH); // tápfeszültség 5 volt
késleltetésMikrosekundumok (10); // késleltetés 10 mikrosekundum
digitalWrite (TRIG, LOW); // szolgálja 0-t
impulzus = pulseIn (ECHO, HIGH); // mérje meg az impulzus hosszát
sm = impulzus / 58; // átalakítani centiméterre
if (Long == 1) {// ellenőrizze a beállításokat
sm = sm + corpus;
}
if (sm <= 2) {// nulla hamis értékek
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
int egész = sm / 10;
int tizedes = sm% 10;
tizedes = tizedes * 10;
displa.displayClock (egész, tizedes); // kimenet az indikátorhoz
késleltetés (300); // késleltetés 0,3 mp. érték kimenet között
}
Ezután csatlakoztassa a programozót és a flash MK-t.
Negyedik lépés: Összeszerelés:
Mivel az eszköz akkumulátorról üzemel, nem kell külön díjat fizetnünk. Ezért az Arduino táblán forrasztjuk a LED-eket és a reset gombot (a méret csökkentése érdekében).
Ragasztja az akkumulátort a testre a szuperragasztón. Ragasztjuk a töltőlapot az akkumulátorra, telepítjük a kapcsolót és forrasztunk mindent a séma szerint.
Az érzékelőt a házhoz ragasztjuk, és mindent a sémának megfelelően forrasztunk. Először volt egy ötlet, hogy a táblát kétoldalas ragasztóra ragasszuk, de aztán úgy döntöttek, hogy ragasztják rá szuperragasztóra. Az indikátor csavarozható vagy ragasztható.
Ötödik lépés: Teszt:
Megjegyzés: a negyedik szegmens mindig 0. értéket mutat. Ez annak biztosítása, hogy az utolsó szegmens nem üres. Kiderül, hogy ha a leolvasás 270, akkor ez azt jelenti, hogy a távolság 27 cm.
A bizonyosság érdekében a vallomást az vonalzóval ellenőrizhetjük.