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
Leds blinken lassen mit if-Abfrage und millis
22.10.2015, 15:03
Beitrag #9
RE: Leds blinken lassen mit if-Abfrage und millis
Schonmal danke bis hierhin!!

Ich hab jetzt mal a paar Sachen fürs Entprellen ausprobiert. Und folgendes scheint ganz gut zu funktionieren:
Code:
//Debounce
long ButtonTime = 0;  // letzter Wechsel des Buttons
long ButtonDebounce = 50; //DeounceZeit




void setup()
{
  Serial.begin(9600);
  pinMode(2, INPUT);  //Button1
  pinMode(Led1, OUTPUT); //Led1
  pinMode(3, INPUT);  //Button2
  pinMode(Led2, OUTPUT); //Led2
  pinMode(4, INPUT);  //Button3
  pinMode(Led3, OUTPUT); //Led3
  pinMode(5, INPUT);  //Button4
  pinMode(Led4, OUTPUT); //Led4
}

void loop()
{
  Button1 = digitalRead(2);

  if (Button1 == HIGH && Button1Alt == LOW && millis()-ButtonTime > ButtonDebounce)
  {
    MIDIsenden(144,36,127);
    StatusLeds(HIGH, LOW, LOW, LOW);
    Button1Alt = Button1;
    ButtonTime = millis();
  }
  if (millis()-previousMillisLed1 > ZeitLed1)
  {
    previousMillisLed1 = millis();
    digitalWrite(Led1, LOW);
    Button1Alt = Button1;
  }
  if (Button1 == LOW && Button1Alt == HIGH && millis()-ButtonTime > ButtonDebounce)
  {
    MIDIsenden(144,36,0);
    previousMillisLed1 = millis();
    Button1Alt = Button1;
    ButtonTime = millis();
  }

Habt ihr dazu noch irgendwelche Bedenken?

Werd mich dann mal dem nächsten Problem widmen. Für weitere Anregungen bin ich aber weiterhin dankbar.

Mal noch eine allgemeine Frage:
Habt ihr Erfahrungen mit der Zuverlässigkeit des Arduinos?
Das Ganze ist nämlich kein Spassprojekt sondern soll im Livebetrieb eingesetzt werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.10.2015, 17:31
Beitrag #10
RE: Leds blinken lassen mit if-Abfrage und millis
(22.10.2015 15:03)ferdi schrieb:  Habt ihr dazu noch irgendwelche Bedenken?
Ich würd's vielleicht anders machen, aber so müsste es auch gehen.

Zitat:Habt ihr Erfahrungen mit der Zuverlässigkeit des Arduinos?
Das Ganze ist nämlich kein Spassprojekt sondern soll im Livebetrieb eingesetzt werden.
Die Frage wäre: Was ist die Alternative?
Ich denke mal, dass der zentrale Baustein ziemlich stabil ist. Der Rest auf der Platine wahrscheinlich auch, außer vielleicht man nimmt billige China-Klone oder baut irgendeinen Scheiß mit der Stromversorgung.
In meiner Heizanlage tut seit etwa zwei Jahren ein Arduino Uno (oder ein Clone, weiß gerade nicht) seinen Dienst. Probleme gab es nur weil ich Müll programmiert habe, ansonsten läuft das Ding bockstabil. Auch Stromausfälle und ähnliche Gemeinheiten machen dem Teil nichts aus.
Arduinos sind recht einfache Teile, da kann nicht ganz so viel kaputt gehen.
Gruß,
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
24.10.2015, 07:26
Beitrag #11
RE: Leds blinken lassen mit if-Abfrage und millis
Also das wichtige ist, dass das mit der Midiübertragung stabil läuft. Das Ganze drum herum mit den Leds ist dann mehr oder weniger Spielerei. Deshalb wärs z.b. möglich den Doepfer USB64 zu verwenden und dann für die Leds meinetwegen zusätzlich den Arduino. Aber wenns mit einem Gerät stabil läuft muss es ja nicht sein.

Und noch eine Frage: gibt es einen einfachen Befehl mit dem ich meinen Loop an einer bestimmten Stelle stoppen kann? Also einfach nur zu Testzwecken, dass ich schauen kann ob bis zu dieser Stelle alles funktioniert bzw. wenn irgendein Problem auftritt ich die Stelle im Code besser eingrenzen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.10.2015, 08:54 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2015 09:05 von Bitklopfer.)
Beitrag #12
RE: Leds blinken lassen mit if-Abfrage und millis
(24.10.2015 07:26)ferdi schrieb:  ...
Und noch eine Frage: gibt es einen einfachen Befehl mit dem ich meinen Loop an einer bestimmten Stelle stoppen kann? Also einfach nur zu Testzwecken, dass ich schauen kann ob bis zu dieser Stelle alles funktioniert bzw. wenn irgendein Problem auftritt ich die Stelle im Code besser eingrenzen kann.

Moin,
nun das simpelste was mir da gerade einfällt ist ein einfaches delay() mit ein paar Minuten reinzuhängen z.B. delay(300000); in der Zeit macht der Ardi dann nichts anderes als abzuwarten. Zusätzlich kannst du ja vor dem delay noch eine LED einschalten damit er dir anzeigt das er nun aufs delay aufläuft. Nach dem Delay machste die LED wieder aus. Früher hat man einfach einen Port auf 1 geschaltet und mit dem Oszi geschaut ob der Programmablauf da vorbeikommt. Aber auch eine Ausgabe auf den Textmonitor ist gut geeignet um sich Meldungen und auch Variablenwerte während der Programmausführung anzeigen zu lassen um zu sehen was gerade Sache ist.
Eine andere Methode wäre eine do while Zeile einzufügen die nie wahr wird...
In Assembler gäbe es noch den Sleep Befehl...aber da werden dann immer noch Interrupts zugelassen sofern die nicht explizit gesperrt sind.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Pulsierende LEDs KBLc 4 190 20.10.2016 22:35
Letzter Beitrag: hotsystems
  Problem mit Delay und Millis funnyzocker 1 462 26.06.2016 09:54
Letzter Beitrag: hotsystems
  tip für Qellcode nur 1mal ablaufen lassen himbeersirup 4 355 19.05.2016 11:51
Letzter Beitrag: himbeersirup
  Mehrere Abläufe gleichteitig mit "Millis" MarkusSpielt 3 682 11.04.2016 18:23
Letzter Beitrag: MarkusSpielt
  Programme lassen sich nicht auf das Gemma Board downloaden! Jack Sparrow 13 566 08.04.2016 10:01
Letzter Beitrag: hotsystems
  WS2812 Helligkeit einzelner LEDs steuern mavericklp 3 666 11.03.2016 09:32
Letzter Beitrag: torsten_156
  Lampe mit Key leuchten lassen FCraftLP 1 476 05.03.2016 11:44
Letzter Beitrag: hotsystems
  Problem bei Temperatur/volt Ampere Abfrage LCD Flimmern nuernie66 9 647 04.03.2016 19:25
Letzter Beitrag: hotsystems
  IRemote probleme mit abfrage schnutzkurt 18 1.153 20.02.2016 01:30
Letzter Beitrag: SkobyMobil
  Mit dem Pin 8 und 9 vom Yun werden zwei LED wechselseitig blinken über http arduinofan 1 551 08.12.2015 15:03
Letzter Beitrag: arduinofan

Gehe zu:


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