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
  LEDs mit Touchscreen steuern Mr_Martin 5 281 08.09.2019 22:55
Letzter Beitrag: georg01
  Millis benutzen statt delay beame 9 972 21.06.2019 16:16
Letzter Beitrag: Franz54
  2 leds Blinken 5 mal 5 Blinken lassen dann 2 andere Leds 5 mal Blinken lassen. Chesleyn 4 508 30.05.2019 14:30
Letzter Beitrag: Chesleyn
  Blynk app über eduroam laufen lassen? WLAN Hanno 6 505 06.04.2019 22:03
Letzter Beitrag: Hilgi
  Einfache IF-Abfrage....(mir) unerklärlicher Fehler Lite 10 790 24.03.2019 12:36
Letzter Beitrag: Lite
  Taster Abfrage Manuel 1 570 13.01.2019 10:50
Letzter Beitrag: Tommy56
  Led bei gedrückt gehaltenen Button nur 2 Sekunden leuchten lassen kiefer_dev 5 621 29.12.2018 14:36
Letzter Beitrag: Tommy56
  mehrere leds blinken jennerlein 1 589 18.12.2018 09:25
Letzter Beitrag: hotsystems
  Per Tastendruck Stepper-Motor eine bestimmte Drehung machen lassen Chef_2 2 913 09.10.2018 21:59
Letzter Beitrag: Chef_2
  Doppelte Abfrage der Bedingung mit Wartezeit ohne Delay soluman 3 1.325 05.07.2018 20:53
Letzter Beitrag: GuaAck

Gehe zu:


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