#include "LCDMenu.h"
// Menu
LCDMenu *menu;
// Screens
LCDScreen *infoScreen, *setupScreen, *growthScreen, *sensorScreen, *clockScreen, *backlightScreen;
LCDScreen *alarmScreen, *schedulingScreen, *lightScreen, *floodScreen, *cleanScreen, *timingScreen;
// Variables
float temp, EC, pH;
void setup() {
menu = new LCDMenu(20, 4);
setupScreen = new LCDScreen(menu);
growthScreen = new LCDScreenLine(setupScreen, "Active Levels");
sensorScreen = new LCDScreenLine(setupScreen, "Sensor Setup");
clockScreen = new LCDScreenLine(setupScreen, "Clock Setup");
backlightScreen = new LCDScreenLine(setupScreen, "Backlight Config");
alarmScreen = new LCDScreenLine(setupScreen, "Alarm Setup");
infoScreen = new LCDScreenLine(setupScreen, "Info Screen");
LCDLine line1(infoScreen, "Temp: ", temp, "*C");
LCDLine line2(infoScreen, "EC: ", EC, "ppm");
LCDLine line3(infoScreen, "pH: ", pH);
LCDLine line4(infoScreen, "line 4");
menu->print();
}
void loop() {
temp = random();
EC = random();
pH = random();
delay(2500);
infoScreen->setAsActive();
delay(2500);
setupScreen->setAsActive();
}
/*
info screen)
Temp: xx*C L1: xx
EC: xx ppm L2: xx
pH: xx L3: xx
xx:xx xm P1: xx
setup screen)
active growth levels
level 1
level 2
level 3
sensor thresholds
manual setup
ph
temp
plant catalog
tomatoes
herbs
lettuce
...
set clock
hours
minutes
am/pm
backlight timeout
alarm settings
scheduling screen)
light on/off schedule
flood/drain schedule
cleaning schedule
advanced flood/draining timing
*/