» Elektronika » Arduino »Jednoduchý dálkoměr na Arduino

Jednoduchý dálkoměr Arduino


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.
8
8.3
7.6

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
3 komentář
Host George
Projekt byl odcizen před "AlexGiver", takže autor je "krysa" !!!
První
Nepotřebujeme další poplatky. Proto na palubě Arduino pájet LED diody
, ale pak hloupě utratíme mnohem více spasených
čtvrtý segment bude vždy zobrazovat 0.

Svědectví lze ověřit pravítkem.
A jaké jsou výsledky?

Samotný projekt v prezentované podobě je čistě vzdělávací, nemá praktický význam.
Lev
S tímto senzorem jsem hodně experimentoval, bohužel přesnost jeho měření do značné míry závisí na kolmosti měřicí roviny k rovině zařízení.

Doporučujeme si přečíst:

Podejte to pro smartphone ...