Pozdrowienia dla wszystkich kochanków domowej roboty, dzisiaj zmontujemy woltomierz samochodowy Arduino oraz siedmiosegmentowy wskaźnik do monitorowania napięcia na pokładzie w auto. To urządzenie jest łatwe w montażu i wymaga konfiguracji tylko raz.
Narzędzia i materiały
-Arduino Pro mini
Rezystor dla 10 Kom 0,5 W.
- Rezystor przy 2 Kom 0,5 W.
- Wskaźnik na TM1637
-Wire (w moim przypadku - MGTF 0.12)
-Programator
-Klem
-Thermokley
-Klej pistoletu
-Lutownica
- Sprzedający
Kalafonia
Krok 1. Schemat:
Obwód jest łatwy w montażu. R1 = 10 Kom, R2 = 2 com.
Krok 2. Montaż:
Montaż dzielnika napięcia
Przylutuj przewody do wskaźnika
Lutujemy wszystko zgodnie ze schematem
Miejsca, w których może wystąpić zwarcie, można wypełnić gorącym klejem
Klej Arduino z tyłu wskaźnika (aby zmniejszyć rozmiar)
Krok trzeci. Szkic:
Szkic zawiera 4 zmienne, które musisz dostosować dla siebie
#include
// --------- Zmienne do konfiguracji ------------
# zdefiniować CLK 2 // Port cyfrowy w Arduino, do którego podłączony jest wyświetlacz CLK
# zdefiniować DIO 3 // Port cyfrowy w Arduino, do którego podłączony jest wyświetlacz DIO
int analogInput = A0; // Port analogowy, do którego podłączone jest wyjście z dzielnika napięcia
podwójna niedokładność = 0,5; // napięcie w woltach, które należy odjąć od odczytu woltomierza, aby było zgodne z odczytami na zasilaczu (lub dodać)
// ----------------------------------------------
GyverTM1637 disp (CLK, DIO);
bajtowa opona [] = {0x40, 0x40, 0x40, 0x40}; // wyjście ----
zmiennoprzecinkowa R1 = 10000,0; // Odporność R1 (10K) w OMAH
zmiennoprzecinkowa R2 = 2000,0; // Odporność R2 (2K) w OMAX
float vout = 0,0;
float vin = 0,0;
wartość int = 0;
podwójne ptr;
void setup () {
pinMode (analogInput, INPUT);
rozjaśnienie jasności (7);
disp.point (0);
disp.displayByte (opona);
opóźnienie (500);
disp.clear ();
}
void loop () {
wartość = analogRead (analogInput);
vout = (wartość * 5.0) / 1024.0;
vin = vout / (R2 / (R1 + R2));
vin = vin - niedokładność;
podwójne V1 = podłoga (vin);
double V2 = modf (vin, & ptr);
V2 = V2 * 100;
disp.displayClock (V1, V2);
jeśli (vin <0,95) {
vin = 0,0;
disp.displayClock (00.00);
}
opóźnienie (1200);
}
Czwarty krok. Test:
Podłączamy baterię i widzimy wynik:
Gotowe! Teraz pozostaje zainstalować to urządzenie w samochodzie i możesz z niego korzystać.