// TechyTron water-level-display — Arduino Uno
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128,64,&Wire,-1);
const int dryRaw=20,wetRaw=650;
void setup(){Serial.begin(115200);Wire.begin();if(!display.begin(SSD1306_SWITCHCAPVCC,0x3C)){Serial.println("OLED not found");while(true){};}display.clearDisplay();display.setTextSize(1);display.setTextColor(SSD1306_WHITE);}
void loop(){int raw=analogRead(A0);long level=map(raw,dryRaw,wetRaw,0,100);level=constrain(level,0,100);Serial.println(raw);display.clearDisplay();display.setCursor(0,0);display.println("Relative contact level");display.print(level);display.println(" %");display.display();delay(300);}
