#include <LiquidCrystal_I2C.h>
#include <Wire.h>
const int Potentiometer = A0;
const int maxCols=20;
int adc = 0;
int i=0;
int prozent=0;
int segmente=0;
int switchEIN= 2;
int switchAUS= 3;
const int ledR=10;
const int ledG=9;
LiquidCrystal_I2C display(0x27,maxCols,4);
void setup()
{
display.init();
display.backlight();
display.setCursor(0,0);
display.print("text");
delay(0);
display.clear();
pinMode(switchEIN, INPUT_PULLUP);
pinMode(switchAUS, INPUT_PULLUP);
display.init();
display.backlight();
pinMode(ledR,OUTPUT);
pinMode(ledG,OUTPUT);
}
void loop()
{
adc = analogRead(Potentiometer);
display.setCursor(0,1);
display.print(adc); //adc,BIN für binär adc,HEX für Hexazahlensystem
display.print(" ");
segmente = map(adc,0,1023,0,20); // nicht 0 bis 1023 "sondern" 0 bis 20
showGraph(segmente,3);
}
void showGraph(int anzSegmente,int row)
{
for(i=0;i < maxCols; i++)
{
if(i < anzSegmente )
{
display.setCursor(i,row);
display.write(0xFF);
}
else
{
display.setCursor(i,row);
display.write(0x20);
}
}
{
if(digitalRead(switchEIN)==LOW)
{
display.setCursor(0,0);
display.print("Motor EIN");
digitalWrite(ledR, HIGH);
digitalWrite(ledG, LOW);
}
if(digitalRead(switchAUS)==LOW)
{
display.setCursor(0,0);
display.print("Motor AUS");
digitalWrite(ledG, HIGH);
digitalWrite(ledR, LOW);
}
}
}