#include <LiquidCrystal_I2C.h> //Bindet die benötigte Display-Bibleothek ein.
#include <Wire.h> //Bindet die Wire-Bibleothek ein.
#define Messwiderstand A0 //Messpunkt definieren.
int Var1 = 0; //Variable zur Speicherung des INPUT-Wertes erstellen.
float Volt = 0; // Variable zur Speicherung der tatsächlichen Eingangsspannung.
float Vin = 0; //Variable zur Speicherung des (umgerechneten) Spannungswertes erstellen.
LiquidCrystal_I2C lcd(0x27, 16, 2); //Legt die Pinbelegung für das Display fest.
void setup() {
lcd.init(); //Initialisiert das Display.
lcd.backlight(); //Aktiviert die Hintergrundbeleuchtung.
Serial.begin(9600);
pinMode(Messwiderstand, INPUT); //A0 (Messpunktpin) als Eingang definieren.
}
void loop() {
Var1 = analogRead(Messwiderstand); // Analogen Wert an Pin A0 lesen und in der Variable (zwischen-)speichern.
Vin = Var1 * (3.3/1023); // Analogen Eingangswert (max. 1023) in Volt umrechnen.
Volt = Vin * (24.0 / 3.3); // Spannung zurückrechnen auf die tatsächliche Eingangsspannung.
Serial.print(Volt); // Spannungswert über die Konsole ausgeben.
Serial.println('V'); // 'V' für Volt über die Konsole ausgeben.
lcd.clear(); // Löscht das Display.
lcd.setCursor(0, 0); // Bewegt den cursor zu (0, 0).
lcd.print(Volt); // Gibt bei (0, 0) den Spannungswert auf dem Display aus.
lcd.setCursor(5, 0); // Bewegt den cursor zu (0, 0).
lcd.print('V'); // Gibt bei (0, 0) das 'V' für Volt auf dem Display aus.
delay(333); // Zeitverzögerung in Millsekunden, -> aktualisiert alle 333 Millsekunden den Spannungswert.
}