Paso 9: RGB LCD (opcional)
Montar de acuerdo con la guía en el sitio de adafruit...
Agregue código de LCD con código abierto EVSE...
#include < Adafruit_MCP23017.h >
#include < Adafruit_RGBLCDShield.h >
#define rojo 0 x 1
#define amarillo 0x3
#define verde 0 x 2
#define azul 0x6
time_t elapsedTime;
void OnboardDisplay::Update()
{
uint8_t curstate = g_EvseController.GetState();
int i;
Si (g_EvseController.StateTransition()) {}
{Switch(curstate)}
caso EVSE_STATE_A: / / no conectado
lcd.setBacklight(GREEN);
lcd.setCursor (0, 0);
LCD.Print ("EVSE listo");
lcd.setCursor(13,0);
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print("A");
lcd.setCursor (0, 1);
LCD.Print ("no conectado");
rotura;
caso EVSE_STATE_B: / / conectados/no carga
lcd.setBacklight(YELLOW);
lcd.setCursor (0, 0);
LCD.Print ("EVSE listo");
lcd.setCursor(13,0);
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print("A");
lcd.setCursor (0, 1);
LCD.Print ("Waiting for EV");
rotura;
caso EVSE_STATE_C: / / carga
lcd.setBacklight(BLUE);
lcd.setCursor (0, 0);
LCD.Print ("carga");
LCD.Print((int)g_EvseController.GetCurrentCapacity());
LCD.Print ("A");
rotura;
caso EVSE_STATE_D: / / ventilación necesaria
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE Error");
lcd.setCursor (0, 1);
LCD.Print ("ventilación requerido");
rotura;
caso EVSE_STATE_DIODE_CHK_FAILED:
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE Error");
lcd.setCursor (0, 1);
LCD.Print ("diodo CHK ha fallado");
rotura;
caso EVSE_STATE_GFCI_FAULT:
lcd.setBacklight(RED);
lcd.setCursor (0, 0);
LCD.Print ("EVSE Error");
lcd.setCursor (0, 1);
LCD.Print ("GFCI falla");
rotura;
}
}
Si (curstate == EVSE_STATE_C) {}
lcd.setCursor (0, 1);
elapsedTime = now();
Si (hour(elapsedTime) < 10) {}
LCD.Print("0");
}
LCD.Print(hour(elapsedTime));
LCD.Print(":");
Si (minute(elapsedTime) < 10) {}
LCD.Print("0");
}
LCD.Print(minute(elapsedTime));
LCD.Print(":");
Si (second(elapsedTime) < 10) {}
LCD.Print("0");
}
LCD.Print(Second(elapsedTime));
LCD.Print("");
}
}