» electronică » Arduino »Căutător de gamă simplă pe Arduino

Simplu Arduino Rangefinder


Bună ziua iubitorilor DIY! Astăzi vom monta un telemetru simplu Arduino Pro Mini. Dispozitivul este capabil să măsoare o distanță de la 2 la 400 cm. Eroarea acestui dispozitiv ajunge la doar +/- 1-5 cm, în funcție de distanța măsurată.

Instrumente și materiale
-Arduino Pro mini
Senzor HC-04
- Indicator pentru tm1637
-Wire (am - MGTF 0.12)
-Programmator
-Cabina plastica
-Acumulator cu conectare
-Comutare mică
- Placă de încărcare la TP4056
-Superkley
-Fier de vânzare
-Pripoy
-Kanifol
Foraj, burghiu etc.

Etapa 1. Schema:
Conform schemei, totul este simplu, fără adăugări.


Etapa 2. Pregătirea cazului:
Mai întâi încercăm senzorul și găurim două găuri pentru 15 mm.

Apoi, faceți o gaură pentru un conector micro-usb cu un burghiu de 3-3,5 mm.

Selectăm un burghiu pentru diametrul întrerupătorului și burghiei.

Pe capac realizăm o „fereastră” pentru indicatorul cu șapte segmente (din fotografie fără procesare) și terminăm toate neregulile cu un fișier.


Pasul 3. Firmware:
În schiță, sunt evidențiate variabile care pot fi ajustate pentru tine. Toate codurile sunt comentate.

#include  // bibliotecile pentru muncă
#include 
// ------------- Pentru a configura --------------------------------- --------------------------------
bool Long = 0; // 0 - măsurați lungimea de la senzor
               // 1 - măsurați lungimea de la peretele carcasei, care este opus senzorului
nesemnat int corpus = 10; // distanța de la senzor la peretele carcasei opuse (în centimetri)

#define CLK 2 // pinii pentru conectare
#define DIO 3
#define TRIG 4
#define ECHO 5
// -------------------------------------------------------- ----------------------------------------------
impuls nesemnat int = 0; // variabile pentru calcul
unsigned int sm = 0;

GyverTM1637 disp. (CLK, DIO);
void setup () {
 pinMode (TRIG, OUTPUT); // setat ca ieșire
 pinMode (ECHO, INPUT); // setat ca intrare
 livrare (7); // luminozitate 0-7
 punct disp. (0); // oprit colonul
  disp.clear (); // ștergeți indicatorul
}

void loop () {
 digitalWrite (TRIG, HIGH); // alimentarea a 5 volți
  delayMicroseconds (10); // întârzie 10 microsecunde
  digitalWrite (TRIG, LOW); // servi 0
 
  impuls = puls In (ECHO, HIGH); // măsurați lungimea pulsului
  sm = impuls / 58; // convertiți în centimetri

  if (Long == 1) {// verificați setările
    sm = sm + corpus;
  }

  if (sm <= 2) {// zero valori false
    sm = 1;
  }
  if (sm> = 405) {
    sm = 1;
  }

  inter întreg = sm / 10;
  int zecimal = sm% 10;
  zecimal = zecimal * 10;
 disp.displayClock (număr întreg, zecimal); // ieșire la indicator

  întârziere (300); // întârziere 0,3 sec. între valoarea de ieșire
}

Apoi, conectați programatorul și flash MK.


Pasul 4. Asamblare:
Deoarece dispozitivul funcționează cu baterie, nu avem nevoie de o taxă suplimentară. Prin urmare, pe placa Arduino, am sudat ledurile și butonul de resetare (pentru a reduce dimensiunea).

Lipiți bateria pe corp pe superglue. Lipim placa de încărcare pe baterie, instalăm comutatorul și lipim totul conform schemei.

Lipim senzorul pe carcasă și lipim totul în conformitate cu schema. La început a existat o idee de a lipi placa pe banda dublu față, dar apoi s-a decis să-l lipiți pe superglue.Indicatorul poate fi înșurubat sau lipit.


Pasul cinci. Testare:
Notă: al patrulea segment va afișa întotdeauna 0. Aceasta se va asigura că ultimul segment nu este gol. Se dovedește că citirea este 270, atunci aceasta înseamnă că distanța este de 27 cm.

Pentru a fi sigur, mărturia poate fi verificată cu conducătorul.
8
8.3
7.6

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide
3 comentarii
Musafir George
Proiectul a fost furat de la „AlexGiver”, deci autorul este „șobolan” !!!
în primul rând
Nu avem nevoie de taxe suplimentare. Prin urmare, pe bord Arduino lipire LED-urile
, dar atunci cheltuim cu prostie mult mai economisit
al patrulea segment va afișa întotdeauna 0.

Pentru a fi sigur, mărturia poate fi verificată cu conducătorul.
Și care sunt rezultatele?

Proiectul în sine în forma prezentată este pur educativ, fără nici o importanță practică.
Leu
Am experimentat foarte mult cu acest senzor, din păcate, precizia măsurării sale depinde foarte mult de perpendicularitatea planului de măsurare pe planul dispozitivului.

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...