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
  Brauche Zeitverzögerung delay/millis/timer? Spiecky 17 483 15.04.2017 09:41
Letzter Beitrag: hotsystems
Sad [Gelöst] Arduino bleibt in If-Abfrage hängen Hugeldugelking 2 127 11.04.2017 11:18
Letzter Beitrag: Hugeldugelking
  Arbeiten mit millis Franz54 5 266 07.03.2017 20:43
Letzter Beitrag: Tommy56
  Zeitabhängige LED Anzeige mit 2x4 Input Abfrage do1xxy 2 122 05.03.2017 19:25
Letzter Beitrag: do1xxy
  Tastereingabe zählen und LEDs nacheinander ausschalten kille 4 314 12.02.2017 14:03
Letzter Beitrag: Tommy56
  2 ESP8266 miteinander kommunizieren lassen NormanIGB 17 1.111 29.01.2017 14:14
Letzter Beitrag: NormanIGB
  Ausgang "blinken" lassen NormanIGB 11 653 28.12.2016 17:20
Letzter Beitrag: Tommy56
  Pulsierende LEDs KBLc 4 398 20.10.2016 22:35
Letzter Beitrag: hotsystems
  Problem mit Delay und Millis funnyzocker 1 723 26.06.2016 09:54
Letzter Beitrag: hotsystems
  tip für Qellcode nur 1mal ablaufen lassen himbeersirup 4 458 19.05.2016 11:51
Letzter Beitrag: himbeersirup

Gehe zu:


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