/* Uhrzeit mit millis() erzeugen
* Die Abfrage von millis() und previousMillis gibt eine Ausführung in der if-Abfrage
* im Sekundentakt. Mit einem Module-60-Zähler werden Sekunden und Minuten erzeugt
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Die Bibliothek muss noch installiert werden!
LiquidCrystal_I2C lcd(0x27, 16, 2); // Display mit 2 Zeilen, 16 Zeichen, I2C-Adresse 0x27 (PCF8574!)
//***** Taster und LEDs wie auf bleuer Platine **********************
const int LED_rot=32, LED_gruen=33, Taster2=2, Taster4=4;
//***** Globale Variablen *******************************************
uint8_t heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
};
uint8_t heart2[8] = { 0b00000, 0b01010, 0b01110, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000,};
uint8_t heart3[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000, 0b00000 };
byte Empfang5[8] = { 0b00000, 0b00000, 0b00001, 0b00011, 0b00111, 0b01111, 0b11111, 0b00000 };
byte Empfang4[8] = { 0b00000, 0b00000, 0b00001, 0b00011, 0b00111, 0b01111, 0b00000, 0b00000 };
byte Empfang3[8] = { 0b00000, 0b00000, 0b00001, 0b00011, 0b00111, 0b00000, 0b00000, 0b00000 };
byte Empfang2[8] = { 0b00000, 0b00000, 0b00001, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000 };
byte Empfang1[8] = { 0b00000, 0b00000, 0b00001, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
//***** Setup, wird 1x ausgeführt ***********************************
void setup() {
Serial.begin(115200);
pinMode(LED_rot, OUTPUT);
pinMode(LED_gruen, OUTPUT);
pinMode(Taster2, INPUT_PULLUP);
pinMode(Taster4, INPUT_PULLUP);
lcd.init(); // oder
//lcd.begin(16, 2);
lcd.backlight(); // Hintergrundbeleuchtung einschalten
lcd.createChar(0, Empfang1); // verwende Array heart[]
lcd.createChar(1, Empfang2); // verwende Array heart[]
lcd.createChar(2, Empfang3); // verwende Array heart[]
lcd.createChar(3, Empfang4); // verwende Array heart[]
lcd.createChar(4, Empfang5); // verwende Array heart[]
lcd.createChar(5, heart); // verwende Array heart[]
lcd.createChar(6, heart2); // verwende Array heart[]
lcd.createChar(7, heart3); // verwende Array heart[]
}
//***** Loop wird immer wieder ausgeführt ****************************
void loop() {
lcd.setCursor(0,0);
lcd.print(" I \x03 Arduino");
for (int temp = 0; temp < 5; temp++) {
lcd.setCursor(2*temp,1);
lcd.write(temp);
delay(1000);
}
}
Taster2
Taster4
LED32
LED34
ESP32 Schulboard mit LEDs und Tastern, I2C-Bus mit Standard-Belegung
Auf dem Display sitzt ein PCF8574