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
  Schrittmotor Geschwindigkeit mit Wägezelle + HX711 Modul steuern Schrittmotor 10 1.003 30.08.2017 23:45
Letzter Beitrag: hotsystems
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 2.605 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  2 Servos ohne delay steuern Ratlos 27 1.855 26.07.2017 20:43
Letzter Beitrag: MicroBahner
  Roboter kompassgestützt steuern Snörb 5 661 22.07.2017 12:16
Letzter Beitrag: Snörb
  pinMode mit array luj1990 6 545 22.07.2017 10:24
Letzter Beitrag: Binary1
  Neo Pixel Clone mit 7 2812B Steuern Lil-De 8 467 12.06.2017 22:02
Letzter Beitrag: Lil-De
  Array-Index zu groß: Tückisches Verhalten GuaAck 6 344 05.05.2017 22:03
Letzter Beitrag: Tommy56
  Array mit Serial.read befüllen Gonmaus 4 458 01.05.2017 09:13
Letzter Beitrag: Gonmaus
  Array länge oOSpikeOo 4 309 28.03.2017 18:57
Letzter Beitrag: oOSpikeOo
  RGB Animation über Serial Steuern Medolino 5 542 20.02.2017 16:14
Letzter Beitrag: Medolino

Gehe zu:


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