Guten Abend,
am TV lief nix, da dachte ich mir ich kann ja mal deinen Sketch aufhübschen. ![]()
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)
{
}
}