← terug

CODE_KNOPPEN.ino

Program flowchart

ESP32 + 4 Buttons + 4 LEDs
// flowchart
flowchart TD A([START]) --> B[Serial.begin 115200] B --> C[initWiFi] C --> C1[WiFi.begin\nSSID + password] C1 --> C2{WiFi\nconnected?} C2 -- No --> C3[Wait 500 ms] --> C2 C2 -- Yes --> C4[Print IP · RSSI · MAC] C4 --> D[initMQTTbroker] D --> D1[setServer broker:1883] D1 --> E[Set 4 buttons as INPUT_PULLUP] E --> F[Set 4 LEDs as OUTPUT] F --> LOOP subgraph LOOP [" loop() "] L1{MQTT\nconnected?} -- No --> L2[mqttConnect] L2 --> L2a{Connect OK?} L2a -- Yes --> L2b[Flash green LED\nPublish hello] L2a -- No --> L2c[Wait 5 s] --> L2 L2b --> L3 L1 -- Yes --> L3[mqttClient.loop\nprocess messages] L3 --> L4[i = 0] L4 --> L5{i < 4?} L5 -- No --> L8 L5 -- Yes --> L6{Button i\npressed?\ndigitalRead == LOW} L6 -- No --> L7[i++] --> L5 L6 -- Yes --> L6a{LED i\nalready ON?} L6a -- Yes --> L7 L6a -- No --> L6b[Turn LED i ON\nAppend color to strVolgorde\nteller++] L6b --> L6c[Print strVolgorde\nDelay 50 ms] L6c --> L7 L8[Delay 200 ms] --> L9{teller == 4?} L9 -- Yes --> L10[Publish strVolgorde\nto EscapeGame/Volgorde] L10 --> L11[Reset teller = 0\nClear strVolgorde\nTurn ALL LEDs OFF] L11 --> L1 L9 -- No --> L12{teller > 4?} L12 -- Yes --> L13[Turn ALL LEDs OFF] --> L1 L12 -- No --> L1 end