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
Weiches Auf- und Abblenden mit delay vs millis()
22.12.2020, 15:47 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2020 15:48 von hotsystems.)
Beitrag #17
RE: Weiches Auf- und Abblenden mit delay vs millis()
(22.12.2020 15:39)Tommy56 schrieb:  @hotsystems: Diese Lib kannte ich auch noch nicht.

Gruß Tommy

Hallo Tommy,
freut mich, dass ich dir auch mal was "neues" zeigen konnte.
Ja, die Lib ist bei mir in den Bewegungsmeldern für meine Led-Lampensteuerungen. Ist sehr komfortabel für diese Steuerung.

Musste ich "leider" nehmen, weil ich mit der Lib von MicroBahner auf dem Tiny nicht klar kam. Die habe ich aber auch schon in "geile Projekte" genutzt. Wink

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.12.2020, 15:51
Beitrag #18
RE: Weiches Auf- und Abblenden mit delay vs millis()
(22.12.2020 15:37)do1xxy schrieb:  Hallo Dieter,

ich will ja lernen, schließlich ist das Thema Arduino faszinierend. Ich weiß auch nicht warum ich gerade bei den millis() blockiere. Ich habe mich auch trotz Verständnisprobleme in DesingCAD eingearbeitet und konstruiere gut in 3D. Aber milli() - die totale Blockade. kennt man ja auch als Schüler, bei bestimmten Lehrern ging nichts mehr. Ich schaue mir das mal an, vielleicht kommt es dann zur Initialzündung.

Schöne feiertage und bleib gesund.

Ok, Armin,
versuche es damit mal, ist auch gut beschrieben.
Ebenso schöne Feiertage und gesund bleiben.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.12.2020, 18:44 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2020 18:48 von Franz54.)
Beitrag #19
RE: Weiches Auf- und Abblenden mit delay vs millis()
(22.12.2020 15:04)do1xxy schrieb:  auch wenn ich sehr ungern damit hausieren gehe: nach einer schweren Gehirnhautentzündung 2 Jahre Reha um wieder annähernd in dem Zustand zu kommen in dem ich davor befand. Da kommt es schon mal zu einigen nicht so erwünschten Aussetzern. Bin jetzt fleißiger ... for Dummies Bücher Leser. Cést la vie.

Das kenne ich. Ich hatte vor 25 Jahren eine unerkannte Borrelliose. Hoch leben die Ärzte die mich Jahrelang auf "Grippe" behandelt haben. Ein besonders verblödetert Arzt hat sogar behauptet, dass das lauter immer wieder neue "Grippeerkrankungen" ware. Wie der Blödi darauf kam weiß ich nicht, denn er wusste dass die ganz schwere Zeit 2 Jahre am Stück war. Aber da er sich die zwei Jahre mit einer Grippe nicht erklären konnte, hat er einfach für sich entschieden dass das nicht eine Erkrankung war, sondern viele einzelne. Wenn man solche Ärzte hat, ...... AngryAngry

Diese Borrelliose hat meine Logik Abteilung im Oberstübchen auch schwer gebeutelt, und ich bin auch heute noch weit entfernt von 50% meiner vorherigen Leistung im Obestübchen. Aber ich versuche trotzdem alles wieder auf die Reihe zu bekommen, ist halt nur mit x-facher Zeit von vorher zu schaffen. ConfusedConfused Alles was vorher einfach die Logik von ganz alleine erklärte, ist heute schwer in den Kopf zu bekommen, muss mühsam erarbeitet werden.

Alles Gute weiterhin.
Franz

https://www.youtube.com/watch?v=Fnzn85oWM_Q
Hier was zum Thema Deutsche Politik Angry
Und hier zum Thema richtige Politik Big Grin
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.12.2020, 19:01 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2020 19:09 von Franz54.)
Beitrag #20
RE: Weiches Auf- und Abblenden mit delay vs millis()
(22.12.2020 15:37)do1xxy schrieb:  Aber milli() - die totale Blockade. kennt man ja auch als Schüler, bei bestimmten Lehrern ging nichts mehr. Ich schaue mir das mal an, vielleicht kommt es dann zur Initialzündung.

Du musst von dem Gedanken weg, dass du mit Millis die "delay Bremse" ersetzt. Das Programm arbeitet den ganzen Loop ohne diese delays alle paar Millisekunden immer wieder durch. Und in jedem Durchgang musst du schauen, wieviele Millisekunden vergangen sind. Wenn eine bestimmte Zeit vergangen ist, sagst du JETZT ist es Zeit eine bestimmte Aktion durchzuführen. Wenn du die Aktion ausgeführt hast, sagst du einem Merker bei welcher Zeitmarke (Millis) das aktuell ausgeführt wurde, und der Loop geht weiter. Wenn es noch nicht so weit ist, gehst du wieder weiter ohne eine Aktion. Also KEINE Stopps, sondern nur alle paar Millisekunden (in jedem neuen Loopdurchlauf) erneut schauen, ob es Zeit für eine Aktion ist. Und JEDE Aktion hat ihren eigenen Zeitmarker.

Wenn du mehr Aktionen hast, testest du eben für jede Aktion an einer eigenen Stelle im Loop, ob es Zeit für diese Aktion ist.

loop
if (zeit für aktion 1) dann
{
ausführen
Zeitmarker1 neu setzen
}
if (zeit für aktion 2) dann
{
ausführen
Zeitmarke2 neu setzen
}
if (zeit für aktion 3) dann
{
ausführen
Zeitmarke3 neu setzen
}
loop ende

https://www.youtube.com/watch?v=Fnzn85oWM_Q
Hier was zum Thema Deutsche Politik Angry
Und hier zum Thema richtige Politik Big Grin
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.12.2020, 19:15
Beitrag #21
RE: Weiches Auf- und Abblenden mit delay vs millis()
Wenn man eine wirklich gleichmäßige Änderung von Werten haben will, sollte man auf Hardware-Timer zurückgreifen. Bei allem andern besteht immer die Gefahr von längeren Laufzeiten des Codes an irgendeiner Stelle und dann kommt es zu Aussetzern (Hängern). Es geht zwar auch ohne, aber wirklich einfacher, eine gleichmäßige Änderung zu erzielen, wäre es mit einem Timer.

Mit freundlichem Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.12.2020, 19:18
Beitrag #22
RE: Weiches Auf- und Abblenden mit delay vs millis()
(22.12.2020 19:15)Nichtraucher schrieb:  Bei allem andern besteht immer die Gefahr von längeren Laufzeiten des Codes an irgendeiner Stelle und dann kommt es zu Aussetzern (Hängern).
Nach meiner Erfahrung eigentlich nur bei schlechter Programmierung oder zu leistungsschwachem Prozessor für die LED-Anzahl.
Für wirklich gleichmäßige Änderung muss man eher die Nichtlinearität rausrechnen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.12.2020, 19:25 (Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2020 19:28 von Franz54.)
Beitrag #23
RE: Weiches Auf- und Abblenden mit delay vs millis()
(22.12.2020 19:15)Nichtraucher schrieb:  Wenn man eine wirklich gleichmäßige Änderung von Werten haben will, sollte man auf Hardware-Timer zurückgreifen. Bei allem andern besteht immer die Gefahr von längeren Laufzeiten des Codes an irgendeiner Stelle und dann kommt es zu Aussetzern (Hängern).

Wenn man im Code keine Bremsen einbaut, dann gibt es vielleicht Unterschiede im Loop - Durchlauf von ein paar Millisekunden. Die merkst du gar nicht. Oder willst du sagen dass du 3-4 Millisekunden (Tausenstel Sekunde) per Auge erkennst??

Diese dauernde Gehabe mit den Interrupten für solche völlig Zeitunkritische Abläufe geht mir auf die Nerfen. Das ist wie mit Kanonen auf Spatzen schießen.

https://www.youtube.com/watch?v=Fnzn85oWM_Q
Hier was zum Thema Deutsche Politik Angry
Und hier zum Thema richtige Politik Big Grin
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.12.2020, 12:53
Beitrag #24
RE: Weiches Auf- und Abblenden mit delay vs millis()
Hallo Franz,

es geht nicht darum, was ich erkenne oder was nicht. Dass es funktionieren kann, schrieb ich ja schon.

Arduino macht die Timer-Handhabung wirklich extremst einfach. Da ist weder Vodoo dabei, noch anderes Hexenwerk. Es ist simpel und effektiv. Für dauernde Änderungen, die in gleichmäßigen Abständen stattfinden sollen, sind Timer gemacht. Für so was sind die in der Hardware eingebaut. Ebenso, um auf äußere Ereignisse direkt reagieren zu können. Wenn hier ein Timer aktiviert wird, der den Wert (oder auch mehrere) in- oder dekrementiert, braucht man nur noch Ausgangswerte zu setzen und zu prüfen ob Zielwerte schon erreicht sind. Einfacher geht es nicht. Das hat doch nichts mit " Gehabe mit den Interrupten" zu tun.

Gruß
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 millis() statt mit delay() schalten Norman 11 338 17.04.2021 23:18
Letzter Beitrag: Franz54
  4 mal Blink ohne Delay Blende8 2 414 02.03.2021 18:36
Letzter Beitrag: Blende8
  von delay auf millis umgestellt, klappt nur nicht. Servo Geschwindigkeit einstellen. gutschy 8 722 21.02.2021 15:22
Letzter Beitrag: gutschy
  Frage zu Delay-Alternative Holzwurm56 13 1.003 24.01.2021 21:55
Letzter Beitrag: Franz54
  Servos ohne delay juergen001 23 2.360 30.10.2020 16:49
Letzter Beitrag: MicroBahner
  Probleme mit millis(); timer basteldin 3 952 01.09.2020 19:04
Letzter Beitrag: basteldin
  millis Schleife bleibt hängen Cubicany 10 1.754 28.06.2020 18:39
Letzter Beitrag: Tommy56
  Fehler bei delay über 32767 Kleingärtner 5 1.135 07.05.2020 18:51
Letzter Beitrag: Kleingärtner
  Hilfe Millis treibt mich in den Wahnsinn Nefrett 17 2.630 04.05.2020 20:53
Letzter Beitrag: Tommy56
  Wie bekomme ich DIESES Delay weg. DO3GE 9 1.698 18.04.2020 12:44
Letzter Beitrag: Fips

Gehe zu:


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