Hallo,
poste Deinen Sketch mal in Code-Tags "</>", oben links im Editor.
Sei herzlich willkommen im Forum. Du bist sicher Anfänger und mit den Gepflogenheiten des Forum
noch nicht so sehr vertraut.
Wir sind es hier eingentlich gewohnt, das der Code eines Sketch in Code-Tags gesetzt wird.
Das erhöht die Übersichtlich ernorm, und erleichtert es uns, Dir und anderen zu helfen.
Diese Code-Tags befinden sich oben links im Editor als Symbole zum anklicken. Optisch kannst Du
diese erkennen. So "</>" werden sie dargestellt.
Eine ausführliche Hilfe zum Forum gibt es auch.
Was ist das?
previousMillis
value
previousMillis_1
Dein Sketch kann in dieser Form auch nicht funktionieren, Du hast dort mindestens 3 Variablen die
nicht richtig deklariert sind.
Ich meine diese hier: previousMillis, value und previousMillis_1.
Wenn Du in einem Sketch eine Variable nutzen möchtest, dann muß diese zwingend als solche deklariert
werden. Wie man Variablen in einem Sketch nutzt, kannst Du z.B. hier sehr schön nachlesen.
Da nun keiner weiß, ob Du diese Ausdrücke als Variablen nutzen möchtest, und Dein Sketch- ich sage
einmal vorsichtig,"etwas chaotisch" dahin getippt ist- habe ich mich entschlossen Dir einmal einen
Lösungsansatz zur Hand zu geben.
Hier hast Du etwas für 2-Zeiten, eine 3. bekommst Du sicher selbst hin.
In diesem Sketch blinken 2 LED´s in einem bestimmten Intervall. Ich weiß, Du möchtest das aber mit
3 Intervallen bewerkstelligen- Wir stellen hier eigentlich keine fertigen Sketche ins Forum, weil wir
erwarten, das die andere Seite sich an der Arbeit beteitigt.
Wenn Du den nachfolgenden Sketch aufmerksam verfolgst, dann kommst Du sicher dahinter, wie man
einen 3. Intervall implentieren kann.
Für das "blinken lassen" gibt es eine schöne Lib mit der Du das Prinzip erkennen kannst.
Hier nun für Dich der Sketch:
// each "event" (LED) gets their own tracking variable
unsigned long previousMillisTonLED=0;
unsigned long previousMillisPauseLED=0;
// different intervals for each LED
int intervalTonLED = 500;
int intervalPauseLED = 1000;
// each LED gets a state varaible
boolean PauseLEDstate = false; // the LED will turn ON in the first iteration of loop()
boolean TonLEDstate = false; // need to seed the light to be OFF
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}
void loop() {
// get current time stamp
// only need one for both if-statements
unsigned long currentMillis = millis();
// time to toggle LED on Pin 12?
if ((unsigned long)(currentMillis - previousMillisTonLED) >= intervalTonLED) {
TonLEDstate = !TonLEDstate;
digitalWrite(12, TonLEDstate);
// save current time to pin 12's previousMillis
previousMillisTonLED = currentMillis;
}
// time to toggle LED on Pin 13?
if ((unsigned long)(currentMillis - previousMillisPauseLED) >= intervalPauseLED) {
PauseLEDstate = !PauseLEDstate;
digitalWrite(13, PauseLEDstate);
// save current time to pin 12's previousMillis
previousMillisPauseLED = currentMillis;
}
}
Sollte Dir die Implementierung der Intervalle, trotz Deiner Mitarbeit, denoch nicht gelingen- wird
sich sicher jemand finden, der die bei der Lösung Deines Problem mit Rat und Tat zur Seite steht.
Arbeite Dich da mal ruhig ein, dann wirst Du dieses Problem schon lösen können. Das schaffst Du!
Gruß und Spaß
Einen vergnüglichen Tag wünsche ich Dir- und mir.
Andreas