Arduino EV J1772 laddning Station (9 / 12 steg)
Steg 9: RGB LCD (valfritt)
Montera enligt guiden på webbplatsen adafruit...
Lägg till LCD kod i öppen EVSE koden...
#include < Adafruit_MCP23017.h >
#include < Adafruit_RGBLCDShield.h >
#define röd 0x1
#define gul 0x3
#define grön 0x2
#define blå 0x6
tid elapsedTime;
void OnboardDisplay::Update()
{
uint8_t curstate = g_EvseController.GetState();
int i;
om (g_EvseController.StateTransition()) {
Switch(curstate) {
fall EVSE_STATE_A: / / inte ansluten
lcd.setBacklight(GREEN);
lcd.setCursor (0, 0);
LCD.Print ("EVSE Ready");
lcd.setCursor(13,0);
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print("A");
lcd.setCursor (0, 1);
LCD.Print ("inte ansluten");
bryta;
fall EVSE_STATE_B: / / ansluten/inte laddning
lcd.setBacklight(YELLOW);
lcd.setCursor (0, 0);
LCD.Print ("EVSE Ready");
lcd.setCursor(13,0);
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print("A");
lcd.setCursor (0, 1);
LCD.Print ("väntar EV");
bryta;
fall EVSE_STATE_C: / / laddning
lcd.setBacklight(BLUE);
lcd.setCursor (0, 0);
LCD.Print ("laddning");
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print ("A");
bryta;
fall EVSE_STATE_D: / / vent krävs
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE fel");
lcd.setCursor (0, 1);
LCD.Print ("VENT REQUIRED");
bryta;
fall EVSE_STATE_DIODE_CHK_FAILED:
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE fel");
lcd.setCursor (0, 1);
LCD.Print ("diod CHK misslyckades");
bryta;
fall EVSE_STATE_GFCI_FAULT:
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE fel");
lcd.setCursor (0, 1);
LCD.Print ("GFCI fel");
bryta;
}
}
om (curstate == EVSE_STATE_C) {
lcd.setCursor (0, 1);
elapsedTime = now();
om (hour(elapsedTime) < 10) {
LCD.Print("0");
}
LCD.Print(Hour(elapsedTime));
LCD.Print(":");
om (minute(elapsedTime) < 10) {
LCD.Print("0");
}
LCD.Print(Minute(elapsedTime));
LCD.Print(":");
om (second(elapsedTime) < 10) {
LCD.Print("0");
}
LCD.Print(Second(elapsedTime));
LCD.Print("");
}
}