#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); //Initialize the pins int moisture = A0; int manual = A2; int relay = 8; //Setup void setup() { pinMode(relay, OUTPUT); lcd.init(); lcd.backlight(); lcd.setCursor(2, 0); lcd.print("Initializing"); lcd.setCursor(0, 1); lcd.print("STYRERIUM MODULE"); Serial.begin(9600); delay(10000); } void loop() { lcd.clear(); //Convert to percentage int moistureValue = analogRead(moisture); int moisturePercent = map(moistureValue, 0, 1023, 100, 0); int manualValue = analogRead(manual); int manualPercent = map(manualValue, 0, 1023, 0, 100); //Relay control if (moisturePercent < 13 || moisturePercent < manualPercent) { digitalWrite(relay, HIGH); } else { //Turn off relay digitalWrite(relay, LOW); } //Displaying the stats lcd.setCursor(0, 0); lcd.print("Moisture: "); lcd.setCursor(12, 0); lcd.print(moisturePercent); lcd.print("%"); //Manual watering display lcd.setCursor(0, 1); lcd.print("Manual: "); lcd.setCursor(12, 1); lcd.print(manualPercent); lcd.print("%"); delay(100); }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter