This repository has been archived on 2025-10-20. You can view files and clone it, but cannot push or open issues or pull requests.
Files
2bki21/INF/sketch_dec13a/sketch_dec13a.ino
danielvici123 1539d9c452 infp, progp
progp nicht fertig
2024-12-18 11:42:05 +01:00

66 lines
1.3 KiB
C++

const int Taster2 = 2;
const int LED_rot = 32;
enum Zustaende_t { zoff, zlow, znorm, zhigh } Zustand;
bool T_druck;
uint32_t zeit = 0;
void setup() {
pinMode(Taster2, INPUT_PULLUP);
pinMode(LED_rot, OUTPUT);
Serial.begin(115200);
Serial.println("TEST - DANIEL");
ledcAttachChannel(LED_rot, 100, 12,0);
Zustand = zoff;
}
void loop (){
einlesen();
verarbeiten();
delay(10);
}
void einlesen () {
static bool Neu, Alt;
Neu = digitalRead(Taster2);
if (Neu == 0 && Alt == 1) {
T_druck = true;
} else {
T_druck = false;
}
Alt = Neu;
}
void verarbeiten () {
switch (Zustand) {
case zoff: ledcWrite(LED_rot, 4095);
Serial.println("zoff ");
if (T_druck == true) {
Zustand = zlow;
}
break;
case zlow: ledcWrite(LED_rot, 3071);
Serial.println("zlow");
if (T_druck == true){
Zustand = znorm;
}
break;
case znorm: ledcWrite(LED_rot, 2047);
Serial.println("znorm");
if (T_druck == true){
Zustand = zhigh;
zeit = millis();
}
break;
case zhigh: ledcWrite(LED_rot, 0);
Serial.println("zhigh");
if (T_druck == true){
Zustand = zoff;
}
if (millis() - zeit >= 5000){
Zustand = znorm;
}
break;
default:
Serial.println("default");
break;
}
}