Okay, also die Batterie-Problematik hab ich jetzt mal mit nem 100 μf ELKO abgepuffert um die Lebzeit des Nano zu verlängern.
Und beim Sketch hab ich rausgefunden, dass ein delay im setup wohl eher nicht so optimal ist und das ganze eher durcheinander bringt. Vermutlich liegt/lag hier der Hund begraben.
Und auch in meinem loop waren ganz viele delays drin, die wohl Probleme machen können.
Zeit hab ich von 32 auf 16 umgestellt und das ganze jetzt noch in nen komplett überarbeiteten und hoffentlich funktionierenden Sketch gepackt.
Vielleicht schaut da mal kurz jemand drüber, der da mehr Ahnung hat als ich?!
Ich hab versucht das Ganze so übersichtlich und verständlich wie möglich zu gestalten:
uint16_t zeit;
uint8_t iteration;
void setup() {
//leds
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
//audio
pinMode(6, OUTPUT);
//einmalige Ansteuerung des Audiomodules:
digitalWrite(6, HIGH);
//initialisiere variablen
zeit = 0;
iteration = 0;
}
void loop() {
//teile den loop in 10ms ticks
delay(10);
//starte leds iteration nach 670ms neu
if(iteration > 67){
iteration = 0;
}
//starte leds nach 25 sekunden
if(zeit > 2500){
iteration++;
}
//leds blinkabfolge
switch(iteration){
case 1: digitalWrite(2, HIGH);
case 3: digitalWrite(5, HIGH);
case 5: digitalWrite(2, LOW);
case 12: digitalWrite(5, LOW);
case 19: digitalWrite(2, HIGH);
case 20: digitalWrite(5, HIGH);
case 21: digitalWrite(4, HIGH);
case 22: digitalWrite(5, LOW);
case 23: digitalWrite(2, LOW);
case 25: digitalWrite(4, LOW);
case 35: digitalWrite(3, HIGH);
case 37: digitalWrite(4, HIGH);
case 39: digitalWrite(3, LOW);
case 46: digitalWrite(4, LOW);
case 53: digitalWrite(3, HIGH);
case 55: digitalWrite(3, LOW);
}
//stoppe audio nach 45 sekunden
if (zeit > 4500){
digitalWrite(6, LOW);
zeit = 9999;
} else {
zeit++;
}
}
Bitte seid nicht allzu streng mit mir, ich bin diesbezüglich echt noch ein N00b und versuche mich bestmöglich einzuarbeiten...