Dobré odpoledne milenci domácí! Dnes sestavíme jednoduchý dálkoměr Arduino Pro Mini. Přístroj je schopen měřit vzdálenost od 2 do 400 cm. Chyba tohoto zařízení činí v závislosti na měřené vzdálenosti jen +/- 1-5 cm.
Nástroje a materiály
-Arduino Pro mini
Senzor HC-04
- Ukazatel na tm1637
-Drát (mám - MGTF 0,12)
-Programátor
-Plastové pouzdro
-Li-on baterie
- Malý spínač
- Nabíjecí deska na TP4056
Superglue
-Solding iron
-Prodej
Rosin
Vrták, vrták atd.
Krok 1: Schéma:
Podle schématu je vše jednoduché, bez přírůstků.
Krok 2: Příprava případu:
Nejprve vyzkoušíme senzor a vyvrtáme dva otvory do 15 mm.
Dále vytvořte otvor pro konektor micro-usb s vrtákem 3-3,5 mm.
Vybereme vrták pro průměr spínače a vrtáku.
Na víku vytvoříme „okno“ pro sedmisegmentový indikátor (na fotografii bez zpracování) a všechny nepravidelnosti dokončíme souborem.
Krok 3: Firmware:
V náčrtu jsou zvýrazněny proměnné, které lze upravit sami. Celý kód je okomentován.
#include // knihovny pro práci
#include
// ------------- Konfigurace --------------------------------- --------------------------------
bool Long = 0; // 0 - změřte délku ze senzoru
// 1 - změřte délku od stěny pouzdra, která je naproti senzoru
unsigned int corpus = 10; // vzdálenost od senzoru k opačné stěně pouzdra (v centimetrech)
#define CLK 2 // piny pro připojení
#define DIO 3
#define TRIG 4
#definovat ECHO 5
// ------------------------------------------------ --------------------------------------------------
nepodepsaný int impuls = 0; // proměnné pro výpočet
unsigned int sm = 0;
GyverTM1637 disp (CLK, DIO);
neplatné nastavení () {
pinMode (TRIG, OUTPUT); // nastaveno jako výstup
pinMode (ECHO, INPUT); // nastaveno jako vstup
disp.brightness (7); // jas 0-7
disp.point (0); // vypněte tlusté střevo
disp.clear (); // vymaže indikátor
}
void loop () {
digitalWrite (TRIG, HIGH); // napájení 5 voltů
delayMicroseconds (10); // zpoždění 10 mikrosekund
digitalWrite (TRIG, LOW); // slouží 0
impulse = pulseIn (ECHO, HIGH); // změřte délku impulsu
sm = impuls / 58; // převést na centimetry
if (Long == 1) {// zkontrolujte nastavení
sm = sm + korpus;
}
if (sm <= 2) {// nula falešných hodnot
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
int celé číslo = sm / 10;
int decimální = sm% 10;
decimal = decimal * 10;
disp.displayClock (celé číslo, desetinné číslo); // výstup na indikátor
zpoždění (300); // zpoždění 0,3 s. mezi výstupem hodnoty
}
Dále připojte programátor a flash MK.
Krok čtvrtý:
Vzhledem k tomu, že zařízení běží na baterie, nepotřebujeme další poplatky. Proto jsme na desce Arduino pájeli LED diody a resetovací tlačítko (zmenšení velikosti).
Přilepte baterii k tělu na lepidlo. Na baterii nalepíme nabíjecí desku, instalujeme spínač a pájíme vše podle schématu.
Přilepíme čidlo k pouzdru a pájíme vše podle schématu: Nejprve byl nápad nalepit desku na oboustrannou pásku, ale pak bylo rozhodnuto nalepit ji na lepidlo.
Krok 5: Test:
Poznámka: čtvrtý segment se vždy zobrazí 0. To zajistí, že poslední segment nebude prázdný. Ukázalo se, že je-li hodnota 270, pak to znamená, že vzdálenost je 27 cm.
Svědectví lze ověřit pravítkem.