int Messwert, Ausgabewert2, Ausgabewert4;
unsigned long davorZeit = 0;
const int LED_gruen = 33, Taster2 = 2, Taster4 = 4, LED_rot = 32;
bool TGedrueckt2, TGedrueckt4;
void setup(){
Serial.begin(115200);
ledcAttachChannel(LED_gruen, 180, 12, 0);
ledcAttachChannel(LED_rot, 180, 12, 2);
pinMode(Taster2, INPUT_PULLUP);
pinMode(Taster4, INPUT_PULLUP);
}
void loop(){
einlesen();
verarbeiten();
ausgeben();
}
void einlesen(){
// Flanke Taster 2
bool tneu2 = digitalRead(Taster2);
bool talt2;
if (talt2 == 0 && tneu2 == 1) {
TGedrueckt2 = true;
delay(20);
}
else {
TGedrueckt2 = false;
}
talt2 = tneu2;
// Flanke Taster 4
bool tneu = digitalRead(Taster4);
bool talt;
if (talt == 0 && tneu == 1) {
TGedrueckt4 = true;
delay(20);
}
else {
TGedrueckt4 = false;
}
talt = tneu;
}
void verarbeiten(){
unsigned long jetztZeit = millis();
if (TGedrueckt2 == true){
if ( jetztZeit - davorZeit >= 200){
davorZeit = jetztZeit ;
Ausgabewert4 = analogRead(A0); // Eingang mit Potti
}
}
if (TGedrueckt4 == true){
if ( jetztZeit - davorZeit >= 200){
davorZeit = jetztZeit ;
Ausgabewert2 = analogRead(A0); // Eingang mit Potti
}
}
ledcWrite(LED_rot, map(Ausgabewert2, 0, 4095, 4095, 0));
ledcWrite(LED_gruen, map(AusgabeWert4, 0, 4095, 4095, 0));
}
void ausgeben(){
Serial.print("Ausgabewert 2:");
Serial.println(Ausgabewert2);
Serial.print("Ausgabewert 4:");
Serial.println(Ausgabewert4);
}
Taster2
Taster4
LED32
LED33
ESP32 Schulboard mit LEDs und Tastern, I2C-Bus mit Standard-Belegung
SSD1306 Display
WS2812 an Pin26