#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27, if new version please use 0x3F instead.
#define PRINTS(s) { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(F(s)); }
#define PRINT(s,v) { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(F(s)); lcd.setCursor(0, 1); lcd.print(v); }
#define PRINTX(s,v) { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(F(s)); lcd.setCursor(0, 1); lcd.print(F("0x")); lcd.setCursor(2, 1); lcd.print(v, HEX);}
#define PRINTB(s,v) { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(F(s)); lcd.setCursor(0, 1); lcd.print(F("b")); lcd.setCursor(2, 1); lcd.print(v, BIN);}
#define PRINTE1(s) { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print((s)); }
#define PRINTE2(s) { lcd.setCursor(0, 1); lcd.print((s)); }
uint8_t desiredpwm = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(11, OUTPUT);
pinMode(8, INPUT_PULLUP);
pinMode(A0, INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(3, LOW);
digitalWrite(5, LOW);
//digitalWrite(6, LOW);
desiredpwm = map(analogRead(A0),0,1023,0,255);
Serial.println(desiredpwm);
PRINTE1(analogRead(A0));
analogWrite(11,desiredpwm);
PRINTE2(pulseIn(8,HIGH,4000));
analogWrite(6,desiredpwm);
}