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
  2 LEDs unabhängig blinken lassen cappy0815 1 189 26.09.2017 07:42
Letzter Beitrag: hotsystems
  blinken mit millis Gonmaus 13 663 08.09.2017 21:12
Letzter Beitrag: Bitklopfer
  Taster an Interrupt - Prellen geschickter vermeiden als millis() zu prüfen? Flap 19 1.951 04.08.2017 08:10
Letzter Beitrag: Binary1
  LEDs ansteuern ohne Delay mir MIDI abfrage OnkelPelle 11 864 20.07.2017 22:35
Letzter Beitrag: hotsystems
  Ich komme mit millis nicht weiter !!! Gonmaus 8 728 09.07.2017 21:24
Letzter Beitrag: Tommy56
  LEDs und Sound synchron nach kurzem Tastendruck Thor Wallhall 32 1.595 24.06.2017 21:01
Letzter Beitrag: georg01
  LED blinken zeitversetzt starten Sky-Shadow 6 498 17.06.2017 15:12
Letzter Beitrag: Sky-Shadow
  2 Befehle gleichzeitig, Millis()-Befehl rakadami 24 1.729 13.05.2017 20:47
Letzter Beitrag: MicroBahner
  Brauche Hilfe für meine Abfüllanlage/ millis() Slash96 8 772 10.05.2017 21:04
Letzter Beitrag: MicroBahner
  Brauche Zeitverzögerung delay/millis/timer? Spiecky 17 1.258 15.04.2017 09:41
Letzter Beitrag: hotsystems

Gehe zu:


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