//#include <LowPower.h>
#include <avr/power.h> //Bibliothek fuer die Abschaltung der Peripherie
#include <avr/wdt.h> // Watchdog Bibliothek
const int buttonPin = 13; // Der Pin, an dem der Taster angeschlossen ist
const int ledPin = 2; // Der Pin, an dem die LED angeschlossen ist
const int buzzerPin = 9;
int mode = 0; // Der aktuelle Betriebsmodus
unsigned long startTime; // Die Zeit, zu der das Arduino eingeschaltet wurde
// Zeiten für Pause
int minPause;
int maxPause;
// Zeiten für Run
int minRun;
int maxRun;
// Frequenzen für LEDs
int minBlinkFrequenz;
int maxBlinkFrequenz;
//Frequenzen für Buzzer
int minBuzzerFrequenz;
int maxBuzzerFrequenz;
void setup() {
// disable ADC: Turn off ADC (analog to digital conversion)
ADCSRA = 0;
// Initialisierung der Pins
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
startTime = millis();
Serial.begin(9600); //DEBUG MODUS
// kurzer Start Buzzer 1x signalisiert POWER ON
tone(buzzerPin, 1000, 100);
delay(200);
while (millis() - startTime <= 5000) { // Wenn seit dem Einschalten weniger als 10 Sekunden vergangen sind
if (digitalRead(buttonPin) == LOW) { // Wenn der Taster gedrückt wird
Serial.println("Taster gedrückt"); // DEBUG MODUS
mode = (mode + 1) % 4; // Wechseln Sie zum nächsten Betriebsmodus
delay(200); // Entprellen des Tasters
for (int i = 0; i <= mode; i++) { // Blinken Sie die LED entsprechend der Modusnummer
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
if (i < mode) {
delay(200);
}
}
}
Serial.print("Modus:");
Serial.println(mode);
}
// kurzer Stopp Buzzer 2x signalisiert dass der Mode nicht mehr verstellt werden kann
tone(buzzerPin, 1000, 100);
delay(400);
tone(buzzerPin, 1000, 100);
delay(1000);
// der nun fest ausgewählte Modus wird nochmals durch Blinken angezeigt
for (int i = 0; i <= mode; i++) { // Blinken Sie die LED entsprechend der Modusnummer
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
if (i < mode) {
delay(200);
}
}
}
void loop() {
// Fügen Sie hier den Code für jeden Betriebsmodus hinzu
switch (mode) {
case 0:
// Modus 0
Serial.print("Modus fest:");
Serial.println(mode);
break;
case 1:
// Modus 1
Serial.print("Modus fest:");
Serial.println(mode);
break;
case 2:
// Modus 2
Serial.print("Modus fest:");
Serial.println(mode);
break;
case 3:
// Modus 3
Serial.print("Modus fest:");
Serial.println(mode);
break;
}
}