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.