This is stripped code but this is also the whole code that has anything to do with LCD.
I changed the vars and names to english so there my be some typo...
#include <U8glib.h>
//#include "U8glib.h"
#include <EEPROM.h>
#include <Keypad.h>
U8GLIB_ST7920_128X64 u8g(13, 11, 12, U8G_PIN_NONE);
void u8g_prepare(void) {
u8g.setFont(u8g_font_6x10);
u8g.setFontRefHeightExtendedText();
u8g.setDefaultForegroundColor();
u8g.setFontPosTop();
}
void greetingMsg(void) {
//-------- SA FRAMEOM
u8g.drawFrame(3, 3, 122, 38);
u8g.setFont(u8g_font_6x12);
u8g.drawStr(15, 13, "Insert coin");
u8g.setFont(u8g_font_10x20);
String str = String(rest) + " Eur";
const char *srest = str.c_str();
u8g.drawStr( 23, 28, srest );
u8g.setFont(u8g_font_6x12);
str = "Inserted: " + String(allIN) + "eur";
const char *ssetup = str.c_str();
u8g.drawStr( 8, 38, ssetup);
u8g.drawCircle(11, 52, 9);
u8g.drawCircle(30, 52, 9);
u8g.drawCircle(49, 52, 9);
u8g.setFont(u8g_font_6x12);
u8g.drawStr( 5, 56, "10");
u8g.drawStr( 25, 56, "20");
u8g.drawStr( 44, 56, "50");
u8g.drawStr( 70, 50, Input);
}
void enought(void) {
//-------- with FRAME
u8g.drawFrame(3, 3, 122, 38);
u8g.setFont(u8g_font_6x12);
u8g.drawStr(15, 13, "Insert coins");
u8g.setFont(u8g_font_10x20);
u8g.drawStr( 4, 28, "Door open");
u8g.setFont(u8g_font_6x12);
String str = "Inserted: " + String(allIN) + "eur";
const char *ssetup = str.c_str();
u8g.drawStr( 8, 38, ssetup);
u8g.drawCircle(11, 52, 9);
u8g.drawCircle(30, 52, 9);
u8g.drawCircle(49, 52, 9);
u8g.setFont(u8g_font_6x12);
u8g.drawStr( 5, 56, "10");
u8g.drawStr( 25, 56, "20");
u8g.drawStr( 44, 56, "50");
u8g.drawStr( 70, 50, Input);
}
// -------------------------------- SETUP ----------------------------------
void setup(void) {
Serial.begin(9600);
// assign default color value
if ( u8g.getMode() == U8G_MODE_R3G3B2 )
u8g.setColorIndex(255); // white
else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
u8g.setColorIndex(3); // max intensity
else if ( u8g.getMode() == U8G_MODE_BW )
u8g.setColorIndex(1); // pixel on
}
void loop(void) {
u8g_prepare();
// INSERTED
if (String(rest) == "0.00" ) {
rest = needed;
alltogether = 0;
u8g.firstPage();
do {
dovoljno();
} while ( u8g.nextPage() );
otvoriRelay();
} else if (rest < 0) {
allIN = allIN - needed;
rest = needed - allIN;
otvoriRelay();
}
else {
u8g.firstPage();
do {
greetingMsg();
} while ( u8g.nextPage() );
}
}
void ispisKoda(char Input[Password_Lenght]) {
//-------- with FRAME
u8g.drawFrame(3, 3, 122, 38);
u8g.setFont(u8g_font_6x12);
u8g.drawStr(15, 13, "Inserted code");
u8g.setFont(u8g_font_10x20);
String str = String(rest) + " Eur";
const char *srest = str.c_str();
u8g.drawStr( 23, 28, srest );
u8g.setFont(u8g_font_6x12);
str = "Inserted: " + String(allIN) + "eur";
const char *ssetup = str.c_str();
u8g.drawStr( 8, 38, ssetup);
u8g.drawCircle(11, 52, 9);
u8g.drawCircle(30, 52, 9);
u8g.drawCircle(49, 52, 9);
u8g.setFont(u8g_font_6x12);
u8g.drawStr( 5, 56, "10");
u8g.drawStr( 25, 56, "20");
u8g.drawStr( 44, 56, "50");
u8g.drawStr( 70, 50, Input);
}
}
void clearData() {
while (data_count != 0) {
Input[data_count--] = 0;
}
return;
}
String giveInput(int lenght) {
bool setup = false;
int count = 0;
String input = "";
clearData() ;
u8g.firstPage();
do {
greetingMsg();
} while ( u8g.nextPage() );
while (!setup) {
char key = keypad.getKey();
if (key) {
input += key;
Input[count] = key;
count++;
u8g.firstPage();
do {
greetingMsg();
} while ( u8g.nextPage() );
}
if (count == lenght - 1)
{
clearData() ;
u8g.firstPage();
do {
greetingMsg();
} while ( u8g.nextPage() );
return input;
}
}
}