Salutări tuturor iubitorilor DIY, astăzi vom monta un voltmetru auto Arduino și un indicator de șapte segmente pentru monitorizarea tensiunii la bord autoturisme. Acest dispozitiv este ușor de asamblat și necesită configurare o singură dată.
Instrumente și materiale
-Arduino Pro mini
-Rezistor pentru 10 Kom 0,5 W
- Rezistență la 2 Kom 0,5 W
- Indicator pentru tm1637
-Wire (în cazul meu - MGTF 0.12)
-Programmator
-Klemy
-Termokley
-Pistol de luciu
-Fier de vânzare
-Pripoy
-Kanifol
Etapa 1. Schema:
Circuitul este ușor de asamblat. R1 = 10 Kom, R2 = 2 com.
Etapa a doua. Asamblare:
Asamblarea unui divizor de tensiune
Cabluri de lipit la indicator
Am vândut totul conform schemei
Locurile în care se pot produce scurtcircuite, puteți umple cu lipici fierbinte
Adeziv Arduino în partea din spate a indicatorului (pentru a reduce dimensiunea)
Pasul trei. Schiță:
Există 4 variabile în schiță pe care trebuie să le ajustezi pentru tine
#include
// --------- Variabile de configurat ------------
#define CLK 2 // Port digital pe Arduino unde este conectat afișajul CLK
#define DIO 3 // Port digital pe Arduino unde este conectat afișajul DIO
int analogInput = A0; // Port analogic unde este conectată ieșirea de la divizorul de tensiune
dublu inexactitate = 0,5; // tensiunea în volți care trebuie scoasă din citirea voltmetrului, astfel încât să se potrivească cu citirile de pe sursa de alimentare (sau adăugați)
// ------------------------------------------------------
GyverTM1637 disp. (CLK, DIO);
anvelopă de byte [] = {0x40, 0x40, 0x40, 0x40}; // ieșire ----
float R1 = 10000.0; // Rezistența R1 (10K) în OMAH
float R2 = 2000,0; // Rezistența R2 (2K) în OMAX
float vout = 0,0;
float vin = 0,0;
valoarea int = 0;
dublu ptr;
void setup () {
pinMode (analogInput, INPUT);
livrare (7);
punct disp. (0);
disp.displayByte (anvelopă);
întârziere (500);
disp.clear ();
}
void loop () {
valoare = analogRead (analogInput);
vout = (valoare * 5,0) / 1024,0;
vin = vout / (R2 / (R1 + R2));
vin = vin - inexactitate;
dublu V1 = etaj (vin);
dublu V2 = modf (vin, & ptr);
V2 = V2 * 100;
Dis.displayClock (V1, V2);
if (vin <0.95) {
vin = 0,0;
Dis.displayClock (00.00);
}
întârziere (1200);
}
Al patrulea pas. Testare:
Conectăm bateria și vedem rezultatul:
Gata! Acum rămâne să instalați acest dispozitiv în mașină și îl puteți folosi.