#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define high_led0 8
#define high_led1 9
#define poti A0
unsigned long Pause = 2000;
unsigned long millis_alt = 0;
byte LByte = 0;
byte HByte = 0;
void setup()
{
Serial.begin(9600);
pinMode(high_led0, OUTPUT);
pinMode(high_led1, OUTPUT);
digitalWrite(high_led0, LOW);
digitalWrite(high_led1, LOW);
lcd.init();
lcd.backlight();
}
void loop()
{
unsigned int potiwert = analogRead(poti);
LByte = (potiwert & 0xFF);
HByte = ((potiwert >> 8) & 0xFF);
if((millis() - millis_alt) > Pause)
{
digitalWrite(high_led0, bitRead(HByte, 0));
digitalWrite(high_led1, bitRead(HByte, 1));
lcd.setCursor(0,0);
lcd.print("Poti");
lcd.setCursor(6,0);
lcd.print("H:");
lcd.print(conv2binString(HByte));
lcd.setCursor(0,1);
lcd.print(potiwert);
lcd.setCursor(6,1);
lcd.print("L:");
lcd.print(conv2binString(LByte));
Serial.print("High: ");
Serial.print(HByte);
Serial.print(" Low: ");
Serial.print(LByte);
Serial.println();
millis_alt = millis();
}
}
String conv2binString(byte bVal)
{
String binWert = "";
for (int i = 7; i >= 0; i--)
{
if((bitRead(bVal,i) & 1) == 1)
{
binWert += "1";
}
else
{
binWert += "0";
}
}
return binWert;
}