#include #include String Version = "V 2018-03-09 36"; int I2CAddr = 0x3F; //LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); LiquidCrystal_I2C lcd(I2CAddr, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); byte backslash[8] = { 0b00000, 0b10000, 0b01000, 0b00100, 0b00010, 0b00001, 0b00000, 0b00000 }; void setup() { // open the Serial port Serial.begin(57600); Serial.println("Display bespielen"); Serial.println(Version); Serial.print("Adresse dez: "); Serial.println(I2CAddr); delay(500); lcd.begin(16,2); // initialize the lcd lcd.createChar(0, backslash); //das Byte-Array in den LCD-Speicher 0 schreiben // Cursor Position: CHAR, LINE) start at 0 lcd.setCursor(0,0); //Start at character 0 on line 0 // lcd.print("Serial Radio mk "); lcd.print(" Display testen "); lcd.setCursor(0,1); lcd.print(Version); delay(1000); lcd.setCursor(0,1); lcd.print(" "); } int TurnDelay = 500; unsigned long Start = 0; void loop() { turn(); DisplayTime(); delay(1000); } // loop void turn() { lcd.setCursor(0,1); lcd.print("/ "); lcd.write((uint8_t)0 ); delay(TurnDelay); lcd.setCursor(0,1); lcd.print("- - "); lcd.print(TurnDelay); delay(TurnDelay); lcd.setCursor(0,1); lcd.write((uint8_t)0 ); lcd.print(" /"); // lcd.print((char)245); // lcd.print("\\"); delay(TurnDelay); Start = millis(); lcd.setCursor(0,1); lcd.print("| |"); Serial.print(millis()); Serial.print(" - "); Serial.println(millis() - Start); delay(TurnDelay); TurnDelay = TurnDelay + 5; } void DisplayTime () { long WriteDisplay = millis(); // test long int RunTime = millis() / 1000; // links Laufzeit in hh:mm:ss ausgeben // RunTime = RunTime + 3550; int hr = 0; int min = 0; int sek = 0; do { // Stunden errechnen if ((RunTime - 3600) >= 0) { RunTime = RunTime - 3600; hr ++; } } while (RunTime > 3599); do { // Minuten errechnen if ((RunTime - 60) > -1) { RunTime = RunTime - 60; min ++; } } while (RunTime > 59); sek = RunTime; // restliche Sekunden // String LCD_Line1 = ""; char LCD_Line1[16]; sprintf(LCD_Line1, "%02d:%02d:%02d", hr, min, sek); /* if (hr < 10) { LCD_Line1 = LCD_Line1 + "0"; } LCD_Line1 = LCD_Line1 + String(hr) +":"; if (min < 10) { LCD_Line1 = LCD_Line1 + "0"; } LCD_Line1 = LCD_Line1 + String(min) +":"; if (sek < 10) { LCD_Line1 = LCD_Line1 + "0"; } LCD_Line1 = LCD_Line1 + String(sek) +" Stunden"; */ lcd.clear(); lcd.setCursor(0,0); lcd.print(LCD_Line1); /* if (hr < 10) { lcd.print("0"); } lcd.print(hr); lcd.print(":"); if (min < 10) { lcd.print("0"); } lcd.print(min); lcd.print(":"); if (sek < 10) { lcd.print("0"); } lcd.print(sek); */ int Dauer = millis() - WriteDisplay; // test lcd.setCursor(0,1); lcd.print("Dauer write: "); lcd.print(Dauer); lcd.print(" ms"); } // Ende DisplayTime // End.