Milí popoludní milenci DIY! Dnes zostavíme jednoduchý diaľkomer Arduino Pro Mini. Prístroj je schopný zmerať vzdialenosť od 2 do 400 cm, chyba tohto zariadenia je v závislosti od nameranej vzdialenosti iba +/- 1-5 cm.
Náradie a materiály
-Arduino Pro mini
Senzor HC-04
- Ukazovateľ na tm1637
-Wire (mám - MGTF 0,12)
-Programmator
-Plastové puzdro
- Batéria zapnutá
- Malý prepínač
- Nabíjacia doska na TP4056
-Superkley
-Odhorievanie železa
-Pripoy
-Kanifol
Vŕtačka, vŕtačka atď.
Krok 1: Schéma:
Podľa schémy je všetko jednoduché, bez dodatkov.
Krok dva: Príprava prípadu:
Najprv vyskúšame senzor a vyvŕtame dva otvory pre 15 mm.
Potom urobte otvor pre konektor micro-usb s vrtákom 3-3,5 mm.
Vyberieme vrták pre priemer výhybky a vŕtačky.
Na veku vytvoríme „okno“ pre sedemsegmentový indikátor (na fotografii bez spracovania) a všetky nepravidelnosti dokončíme súborom.
Krok 3: Firmvér:
V náčrte sú zvýraznené premenné, ktoré môžete upraviť sami. Celý kód je okomentovaný.
#include // knižnice pre prácu
#include
// ------------- Konfigurácia --------------------------------- --------------------------------
bool Long = 0; // 0 - zmerajte dĺžku od snímača
// 1 - zmerajte dĺžku steny steny, ktorá je oproti senzoru
nepodpísaný int corpus = 10; // vzdialenosť od senzora k protiľahlej stene skrinky (v centimetroch)
#define CLK 2 // piny na pripojenie
#define DIO 3
#define TRIG 4
#definovať ECHO 5
// ------------------------------------------------ ----------------------------------------------
impulz bez znamienka = 0; // premenné na výpočet
bez znamienka int sm = 0;
GyverTM1637 disp (CLK, DIO);
neplatné nastavenie () {
pinMode (TRIG, OUTPUT); // nastavený ako výstup
pinMode (ECHO, INPUT); // nastavený ako vstup
nepriehľadnosť (7); // jas 0-7
disp.point (0); // vypnite dvojbodku
disp.clear (); // vymaž indikátor
}
void loop () {
digitalWrite (TRIG, HIGH); // napájanie 5 voltov
oneskorenieMikrosekundy (10); // oneskorenie 10 mikrosekúnd
digitalWrite (TRIG, LOW); // slúži 0
impulz = pulzn (ECHO, VYSOKÝ); // zmerajte dĺžku impulzu
sm = impulz / 58; // previesť na centimetre
if (Long == 1) {// skontrolujte nastavenia
sm = sm + korpus;
}
if (sm <= 2) {// nula falošných hodnôt
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
int celé číslo = sm / 10;
int desatinné miesto = sm% 10;
desatinné miesto = desatinné miesto * 10;
disp.displayClock (celé číslo, desatinné miesto); // výstup na ukazovateľ
oneskorenie (300); // oneskorenie 0,3 s. medzi výstupom hodnoty
}
Ďalej pripojte programátor a Flash MK.
Krok 4: Zostavenie:
Pretože zariadenie je napájané z batérie, nepotrebujeme ďalšie poplatky. Preto sme na doske Arduino spájkovali LED a tlačidlo reset (aby sme zmenšili veľkosť).
Batériu prilepte na telo pomocou lepidla. Lepiacu dosku nalepíme na batériu, nainštalujeme spínač a spájku všetko podľa schémy.
Senzor prilepíme na puzdro a všetko spájkujeme podľa schémy: Najprv bol nápad nalepiť dosku na obojstrannú pásku, ale potom bolo rozhodnuté nalepiť ju na lepidlo.
Krok 5 Test:
Poznámka: štvrtý segment sa vždy zobrazí 0. Týmto sa zabezpečí, aby posledný segment nebol prázdny. Ukázalo sa, že ak je údaj 270, potom to znamená, že vzdialenosť je 27 cm.
Svedectvo je možné overiť pravítkom.