#include <LiquidCrystal_I2C.h>
#include "symbols.h"
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
// Object
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
// Fucties
void printSymbol(uint8_t symbol[]);
// Variabelen
int pos = 1;
void setup() {
Serial.begin(115200);
lcd.init(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
lcd.createChar(0, hlb); // Hoek Links Boven
lcd.createChar(1, hrb);
lcd.createChar(2, verl); // Verticaal Links
lcd.createChar(3, verr);
lcd.createChar(4, hlo); // Hoek Links Onder
lcd.createChar(5, hro);
printSymbol(negen);
printSymbol(acht);
printSymbol(zeven);
printSymbol(zes);
printSymbol(vijf);
printSymbol(vier);
printSymbol(drie);
printSymbol(twee);
printSymbol(een);
printSymbol(nul);
}
void loop() {
printRaket(raket,pos%20);
pos++;
}
void printSymbol(uint8_t symbol[]) {
for (int i = 0 ; i < 45 ; i = i + 3) {
lcd.setCursor(symbol[i], symbol[i + 1]); //
lcd.write(symbol[i + 2]);
}
delay(100);
}
void printRaket(uint8_t symbol[],byte pos) {
for (int i = 0 ; i < 18 ; i = i + 3) {
lcd.setCursor((pos+symbol[i])%20, symbol[i + 1]); //
lcd.write(symbol[i + 2]);
}
delay(20);
lcd.clear();
/*
delay(10);
for (int i = 0 ; i < 18 ; i = i + 3) {
lcd.setCursor((pos+symbol[i])%20, symbol[i + 1]); //
lcd.write(char(254));
}
*/
}