Zeitzünder für Feuerwerk

Guten Abend,

am TV lief nix, da dachte ich mir ich kann ja mal deinen Sketch aufhübschen. :slight_smile:

Du hast ja einen verstellbaren Countdown vorgesehen, nur wie möchtest du den Wert
ohne LCD oder 7-Segmentanzeigen darstellen?

Möchtest du nur eine Zündung nach einer bestimmten Zeit auslösen?

Wenn erwünscht setze ich mich morgen nochmal an den Sketch, für heute ist erst mal "Feierabend".

//NICHT VOLLSTAENDIGER CODE!!!
//Feuerwerk ist kein SPIELZEUG !!!
//zur Visualisierung der Countdownzeit fehlt ein LCD
//Eingaenge
const uint8_t s_save = 2; //Sicherheitsschalter
const uint8_t s_start = 3; //Starttaster
const uint8_t s_stopp = 4; //Stopptaster
const uint8_t s_plus = 5; //countdown +
const uint8_t s_minus = 6; //countdown -
const uint8_t s_kreis = 7; //zuendungskreis auswaehlen
//Ausgaenge
const uint8_t statusled = 8;
const uint8_t scharfled = 9;
const uint8_t zuendung[2]={10,11};
const uint8_t kreisled[2]={12,13};
/*----------------Variablen----------------*/
bool save = 0;
bool start = 0;
bool stopp = 0;
bool plus = 0;
bool minus = 0;
bool kreis = 0;
uint16_t zeit1 = 10000; //10s bis Kreis 1 zuendet
uint16_t zeit2 = 10000; //10s bis Kreis 2 zuendet
const uint16_t m_1s = 1000; //1s
unsigned long j_ms = 0; //Zeitpunkt "jetzt"
unsigned long l_ms = 0; //Zeitpunkt "zuletzt"

void setup()
{
    //pulldown Widerstaende verwenden 10kOhm
    pinMode(s_save, INPUT);
    pinMode(s_start, INPUT);
    pinMode(s_stopp, INPUT);
    pinMode(s_plus, INPUT);
    pinMode(statusled, OUTPUT);
    pinMode(scharfled, OUTPUT);
    for (uint8_t i; i < 2; i++) //zuendung als OUTPUT & LOW setzen
    {
    pinMode(zuendung[i], OUTPUT);
    digitalWrite(zuendung[i], LOW);
    }
    for (uint8_t x; x < 2; x++) //kreisled als OUTPUT festlegen
    {
    pinMode(kreisled[x], OUTPUT);
    }
    digitalWrite(statusled, HIGH);
}
void loop()
{
    //Eingaenge einlesen (erspart Platz)
    save = digitalRead(s_save);
    start = digitalRead(s_start);
    stopp = digitalRead(s_stopp);
    plus = digitalRead(s_plus);
    minus = digitalRead(s_minus);
    kreis = digitalRead(s_kreis);

    if ( == 0)
    {
    
    }
    else
    {
        l_ms = millis();
    }

    j_ms = millis();
    if (j_ms - l_ms >= m_5s)
    {
      
    }
}