SE-TP2/code/LCDScreen.cpp

49 lines
1.1 KiB
C++

#include <Arduino.h>
#include <LiquidCrystal_I2C.h>
enum LCDScreenState {
DISPLAY_DEFAULT_MESSAGE,
DISPLAY_TEMPERATURE,
DISPLAY_PARKING_SPOTS
};
class LCDScreen {
private:
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27,20,4);
LCDScreenState state;
String default_message = "Bem vindo!";
public:
LCDScreen(String default_message = ""){
if (default_message != ""){
this->default_message = default_message;
}
}
void init(){
lcd.init();
lcd.backlight();
this->display_default_message();
}
void clear(){
lcd.clear();
}
void display_temperature(float temp){
this->state = DISPLAY_TEMPERATURE;
lcd.setCursor(0, 0);
this->clear();
lcd.print(temp);
lcd.print(" C");
}
void display_default_message(){
this->state = DISPLAY_DEFAULT_MESSAGE;
lcd.setCursor(0, 0);
this->clear();
lcd.print(this->default_message);
}
};