#include "pico/stdlib.h"
// GPIO-Pins für die LEDs und den Button
const uint LED_PINS[6] = {2, 3, 4, 5, 6, 7}; // GPIO-Pins für die LEDs
const uint BUTTON_PIN = 15; // GPIO-Pin für den Button
void setup() {
// Initialisiere die GPIO-Pins für die LEDs
for (int i = 0; i < 6; i++) {
gpio_init(LED_PINS[i]);
gpio_set_dir(LED_PINS[i], GPIO_OUT);
gpio_put(LED_PINS[i], 0); // LEDs initial ausschalten
}
// Initialisiere den Button
gpio_init(BUTTON_PIN);
gpio_set_dir(BUTTON_PIN, GPIO_IN);
gpio_pull_up(BUTTON_PIN); // Interner Pull-Up-Widerstand aktivieren
}
void loop() {
static int current_led = 0; // Aktuelle Position des Lauflichts
static bool button_pressed = false; // Verhindert Mehrfachauslösungen
// Prüfe den Button-Zustand
if (gpio_get(BUTTON_PIN) == 0 && !button_pressed) {
button_pressed = true; // Button gedrückt markieren
// Lauflicht bewegen
gpio_put(LED_PINS[current_led], 0); // Aktuelle LED ausschalten
current_led = (current_led + 1) % 6; // Nächste LED, bei 6 zurück zu 0
gpio_put(LED_PINS[current_led], 1); // Neue LED einschalten
} else if (gpio_get(BUTTON_PIN) == 1) {
button_pressed = false; // Button losgelassen
}
sleep_ms(50); // Entprellzeit
}
int main() {
setup(); // Initialisierung
while (true) {
loop(); // Hauptprogramm
}
return 0;
}