Stap 9: RGB LCD (optioneel)
Monteren volgens de handleiding op de site van adafruit...
LCD-code toevoegen aan Open EVSE code...
#include < Adafruit_MCP23017.h >
#include < Adafruit_RGBLCDShield.h >
#define RED 0x1
#define gele 0x3
#define groen 0x2
#define BLUE 0x6 gemaakt
time_t VerstrekenTijd;
VOID OnboardDisplay::Update()
{
uint8_t curstate = g_EvseController.GetState();
int i;
Als (g_EvseController.StateTransition()) {}
switch(curstate) {}
kast EVSE_STATE_A: / / niet aangesloten
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 ('niet verbonden');
breken;
kast EVSE_STATE_B: / / aangesloten/niet opladen
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 ("Waiting for EV");
breken;
kast EVSE_STATE_C: / / opladen
lcd.setBacklight(BLUE);
lcd.setCursor (0, 0);
LCD.Print ("opladen");
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print ("A");
breken;
kast EVSE_STATE_D: / / vent nodig
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE fout");
lcd.setCursor (0, 1);
LCD.Print ("VENT REQUIRED");
breken;
Case EVSE_STATE_DIODE_CHK_FAILED:
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE fout");
lcd.setCursor (0, 1);
LCD.Print ("DIODE CHK mislukt");
breken;
Case EVSE_STATE_GFCI_FAULT:
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE fout");
lcd.setCursor (0, 1);
LCD.Print ("GFCI schuld");
breken;
}
}
Als (curstate == EVSE_STATE_C) {}
lcd.setCursor (0, 1);
VerstrekenTijd = now();
Als (hour(elapsedTime) < 10) {}
LCD.Print("0");
}
LCD.Print(Hour(elapsedTime));
LCD.Print(":");
Als (minute(elapsedTime) < 10) {}
LCD.Print("0");
}
LCD.Print(Minute(elapsedTime));
LCD.Print(":");
Als (second(elapsedTime) < 10) {}
LCD.Print("0");
}
LCD.Print(Second(elapsedTime));
LCD.Print("");
}
}