Grüße an alle Liebhaber hausgemachtHeute werden wir ein Auto-Voltmeter montieren Arduino und eine Sieben-Segment-Anzeige zur Überwachung der Bordspannung in auto. Dieses Gerät ist einfach zu montieren und muss nur einmal eingerichtet werden.
Werkzeuge und Materialien
-Arduino Pro mini
-Resistor für 10 Kom 0,5 W.
- Widerstand bei 2 Kom 0,5 W.
- Anzeige auf tm1637
-Wire (in meinem Fall - MGTF 0.12)
-Programmer
-Klem
-Thermokley
-Kleberpistole
-Lötkolben
-Solder
Kolophonium
Schritt eins. Schema:
Die Schaltung ist einfach zu montieren. R.1 = 10 Kom, R.2 = 2 com.
Schritt zwei. Montage:
Zusammenbau eines Spannungsteilers
Löten Sie die Drähte an die Anzeige
Wir löten alles nach dem Schema
Stellen, an denen Kurzschlüsse auftreten können, können Sie mit Heißkleber füllen
Arduino-Kleber auf die Rückseite des Indikators (um die Größe zu verringern)
Schritt drei. Skizze:
Die Skizze enthält 4 Variablen, die Sie selbst anpassen müssen
#include
// --------- Zu konfigurierende Variablen ------------
#define CLK 2 // Digitaler Port auf Arduino, an dem das Display CLK angeschlossen ist
#define DIO 3 // Digitaler Port auf Arduino, an dem das DIO-Display angeschlossen ist
int analogInput = A0; // Analoger Port, an dem der Ausgang des Spannungsteilers angeschlossen ist
doppelte Ungenauigkeit = 0,5; // Spannung in Volt, die vom Voltmeter-Messwert entfernt werden muss, damit sie mit den Messwerten am Netzteil übereinstimmt (oder addiert)
// ----------------------------------------------
GyverTM1637 disp (CLK, DIO);
Byte-Reifen [] = {0x40, 0x40, 0x40, 0x40}; // Ausgabe ----
float R1 = 10000,0; // Widerstand R1 (10K) in OMAH
float R2 = 2000.0; // Widerstand R2 (2K) in OMAX
float vout = 0.0;
float vin = 0,0;
int value = 0;
doppelt ptr;
void setup () {
pinMode (analogInput, INPUT);
Disp. Helligkeit (7);
disp.point (0);
disp.displayByte (Reifen);
Verzögerung (500);
disp.clear ();
}}
void loop () {
value = analogRead (analogInput);
vout = (Wert * 5,0) / 1024,0;
vin = vout / (R2 / (R1 + R2));
vin = vin - Ungenauigkeit;
doppeltes V1 = Boden (vin);
doppeltes V2 = modf (vin, & ptr);
V2 = V2 * 100;
disp.displayClock (V1, V2);
if (vin <0,95) {
vin = 0,0;
disp.displayClock (00.00);
}}
Verzögerung (1200);
}}
Vierter Schritt. Test:
Wir schließen die Batterie an und sehen das Ergebnis:
Fertig! Jetzt muss dieses Gerät noch im Auto installiert werden und Sie können es verwenden.