#include <Arduino.h>
#include <U8x8lib.h>
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(/* clock */ 4, /* data */ 3, /* reset */ U8X8_PIN_NONE);
#define RELAY 1 // LED1, must connect to pwm pin
float averageVolt = 0.0;
const float threshold = 0.36;
void setup() {
pinMode(RELAY, OUTPUT);
digitalWrite(RELAY,LOW);
u8x8.begin();
u8x8.setPowerSave(0);
u8x8.setFont(u8x8_font_8x13B_1x2_n);
}
void loop() {
int atod = analogRead(1);
float volt = atod * 5.0 / 1024;
averageVolt = (volt + averageVolt) / 2.0;
String vString = String(averageVolt);
u8x8.drawString(0, 1, vString.c_str());
if (averageVolt - volt > threshold) {
digitalWrite(RELAY,HIGH);
delay(2000);
} else {
digitalWrite(RELAY,LOW);
}
delay(10);
}