INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Array mit Zähler steuern
18.11.2015, 14:34
Beitrag #17
RE: Array mit Zähler steuern
Danke Thorsten. Hab ich auch schon gemerkt dass ich die Klammern vergessen habe. Allerdings hilft das nichts. Sobald die Funktion in einer If-Schleife steht leuchten die Leds dauerhaft.

Mit Fotos bzw. Videos musst du dich noch etwas gedulden da das Ganze noch relativ im Anfangsstadium ist. (Also bis jetzt nur auf dem Breadboard). Sobald es was vorzeigbares gibt stell ich es gerne hier rein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.11.2015, 16:02
Beitrag #18
RE: Array mit Zähler steuern
Hi,
ich denke, auch das ist erklaerbar.
Code:
if(millis()-previousMillisLedsBGStart[y] > ZeitLeds[y]-5000) {
       Blinken();
       previousMillisLedsBGStart[y] = millis();
     }
Das ganze wird einmal durchlaufen und damit die LEDs eingeschaltet. Dann setzt Du sofort previousMillisLedsBGStart[y] auf "jetzt", wodurch die Bedingung beim naechsten Durchlauf falsch wird und damit wirk Blinken() nicht mehr aufgerufen. Wahrscheinlich willst Du eigentlich so etwas wie:
Code:
if(millis()-previousMillisLedsBGStart[y] > ZeitLeds[y]-5000) {
       Blinken();
       if(millis()-previousMillisLedsBGStart[y] > ZeitLeds[y]) {
           previousMillisLedsBGStart[y] = millis();
       }
}
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2015, 12:58
Beitrag #19
RE: Array mit Zähler steuern
Also ich glaube schön langsam dass ich einfach zu dumm bin für das Ganze.

Wenn ich jetzt in den Teil
Code:
if (Buttons[y] == LOW && ButtonsAlt[y] == HIGH && millis()-ButtonTime > ButtonDebounce) {
     MIDIsenden(144,y+40,127);
     switchOnOnlyOne(y);
     ButtonsAlt[y] = Buttons[y];
     ButtonTime = millis();    
    }

einfach "digitalWrite(68, HIGH);

und in
Code:
if (millis()-previousMillisLeds[y] > ZeitLeds[y]) {
      digitalWrite(LedsButtons[y], LOW);
      previousMillisLeds[y] = millis();
      ButtonsAlt[y] = Buttons[y];
    }

digitalWrite(68, LOW);

reinschreibe sollten doch eigentlich die LED die y entspricht und die die an Pin68 anliegt gleichzeitig an und wieder ausgehen??!!
Da haperts nämlich schon. Die gehen zwar gleichzeitig an aber unterschiedlich aus. Wenn ich nicht mal das hinkriege brauch ich erst gar nicht mit dem blinken anfangen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2015, 14:18
Beitrag #20
RE: Array mit Zähler steuern
Hi,
tja, da muss noch irgendwo anders was passieren. Wenn Du diese beiden Zeilen hintereinander stehen hast:
Code:
digitalWrite(LedsButtons[y], LOW);
digitalWrite(68, LOW);
...dann muessten beide Ausgaenge tatsaechlich praktisch gleichzeitig auf LOW gehen. Moeglicherweise setzt aber irgend ein anderes Stueck Coding einen davon wieder auf HIGH.
Mein Tipp: Mach Dir erstmal einen Experimentier-Sketch und loesche so lange Sachen raus, bis das, was uebrig bleibt, vollkommen nach Deinen Erwartungen funktioniert.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2015, 15:11
Beitrag #21
RE: Array mit Zähler steuern
Hallo,
(19.11.2015 12:58)ferdi schrieb:  Also ich glaube schön langsam dass ich einfach zu dumm bin für das Ganze.

Wenn ich jetzt in den Teil
Code:
if (Buttons[y] == LOW && ButtonsAlt[y] == HIGH && millis()-ButtonTime > ButtonDebounce) {
     MIDIsenden(144,y+40,127);
     switchOnOnlyOne(y);
     ButtonsAlt[y] = Buttons[y];
     ButtonTime = millis();    
    }
...

Solche Konstruktionen bei "if" Bedingungen vermeide ich weil mir nicht klar ist wie der Compiler das umsetzt.
Ich setze dabei lieber ein paar Klammern mehr als zu wenig.
Code:
if ( (!Buttons[y])  && (ButtonsAlt[y])  && ((millis()-ButtonTime) > ButtonDebounce) ) {
Ich fühle mich dann sicherer dass der Compiler auch das daraus macht was ich will.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  2 Servos ohne delay steuern Ratlos 13 255 Gestern 18:28
Letzter Beitrag: Tommy56
  Roboter kompassgestützt steuern Snörb 3 236 Gestern 14:59
Letzter Beitrag: Snörb
  pinMode mit array luj1990 5 73 20.07.2017 19:10
Letzter Beitrag: SkobyMobil
  Neo Pixel Clone mit 7 2812B Steuern Lil-De 8 302 12.06.2017 22:02
Letzter Beitrag: Lil-De
  Array-Index zu groß: Tückisches Verhalten GuaAck 6 262 05.05.2017 22:03
Letzter Beitrag: Tommy56
  Array mit Serial.read befüllen Gonmaus 4 377 01.05.2017 09:13
Letzter Beitrag: Gonmaus
  Array länge oOSpikeOo 4 226 28.03.2017 18:57
Letzter Beitrag: oOSpikeOo
  RGB Animation über Serial Steuern Medolino 5 350 20.02.2017 16:14
Letzter Beitrag: Medolino
  Mehrere Servos gleichzeitig steuern (Hexapod) scritch 7 577 25.01.2017 08:18
Letzter Beitrag: scritch
  Über drei Taster zwei externe Timer steuern Sidamo 23 958 09.01.2017 20:12
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste