Dobar dan ljubavnici DIY! Danas ćemo sastaviti jednostavan daljinomjer Težak Pro Mini. Uređaj može izmjeriti udaljenost od 2 do 400 cm. Pogreška ovog uređaja doseže samo +/- 1-5 cm, ovisno o izmjerenoj udaljenosti.
Alati i materijali
-Arduino Pro mini
Senzor HC-04
- Pokazatelj na tm1637
-Wire (imam - MGTF 0,12)
-Programmator
-Plastično kućište
-Li-on baterija
-Mali prekidač
- Punjenje na TP4056
-Superkley
-Poljedajuće željezo
-Pripoy
-Kanifol
Bušilica, bušilica itd.
Prvi korak: shema:
Prema shemi, sve je jednostavno, bez dodataka.
Drugi korak: Priprema slučaja:
Prvo isprobamo senzor i izbušimo dvije rupe za 15 mm.
Zatim napravite rupu za mikro-usb priključak s bušilicom od 3-3,5 mm.
Za promjer prekidača i bušilicu odaberemo bušilicu.
Na poklopcu napravimo "prozor" za sedmosegmentni indikator (na fotografiji bez obrade), a sve nepravilnosti završimo s datotekom.
Treći korak.
U skici su istaknute varijable koje možete prilagoditi sebi. Komentiran je sav kod.
#include // knjižnice za rad
#include
// ------------- Za konfiguriranje --------------------------------- --------------------------------
bool Long = 0; // 0 - mjeri duljinu od senzora
// 1 - izmjerite duljinu od zida kućišta koja je suprotna senzoru
nepotpisani int korpus = 10; // udaljenost od senzora do suprotnog zida kućišta (u centimetrima)
#define CLK 2 // igle za spajanje
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
nepotpisani int impuls = 0; // varijable za proračun
nepotpisani int sm = 0;
GyverTM1637 disp (CLK, DIO);
poništavanje postave () {
pinMode (TRIG, OUTPUT); // postaviti kao izlaz
pinMode (ECHO, INPUT); // postaviti kao ulaz
osvjetljenost (7); // svjetlina 0-7
točka točka (0); // isključiti debelo crijevo
disp.clear (); // obrišite indikator
}
void petlja () {
digitalWrite (TRIG, HIGH); // napajanje 5 volti
kašnjenjeMikrosekunde (10); // odgoditi 10 mikrosekundi
digitalWrite (TRIG, LOW); // poslužiti 0
impuls = pulsIn (ECHO, HIGH); // izmjeriti duljinu pulsa
sm = impuls / 58; // pretvoriti u centimetre
ako je (Long == 1) {// provjerite postavke
sm = sm + korpus;
}
ako je (sm <= 2) {// nula lažnih vrijednosti
sm = 1;
}
ako je (sm> = 405) {
sm = 1;
}
int cijeli broj = sm / 10;
int decimalni = sm% 10;
decimalni = decimalni * 10;
disp.displayClock (cijeli broj, decimalni broj); // izlaz na indikator
kašnjenje (300); // kašnjenje 0,3 sek. između iznosa vrijednosti
}
Zatim spojite programator i treptajte s MK-om.
Korak četvrti. Skupština:
Budući da uređaj radi na bateriju, ne treba nam dodatno punjenje. Stoga na ploči Arduino lemimo LED i tipku za resetiranje (za smanjenje veličine).
Nalijepite bateriju na tijelo supergljepilom. Ljepimo ploču za punjenje na bateriju, instaliramo prekidač i lemimo sve prema shemi.
Zalijepimo senzor na kućište i lemimo sve prema shemi.Na početku je postojala ideja lijepljenje ploče na dvostranu traku, ali onda je odlučeno da se lijepi na super ljepilo.Pokazatelj se može zavrtiti ili zalijepiti.
Korak pet. Test:
Napomena: četvrti segment uvijek će prikazati 0. To će osigurati da zadnji segment nije prazan. Ispada da je čitanje 270, onda to znači da je udaljenost 27 cm.
Da budemo sigurni, svjedočanstvo se može ovjeriti s vladarom.