Go Down

Topic: BlinkwithoutDelay - Die Nachtwächtererklärung (Read 18161 times) previous topic - next topic

Doc_Arduino

Hallo,

will ja nicht nörgeln, aber ich lese Threads immer noch komplett. Darauf bezog sich meine Aussage. Ich sehe weder ein Überlaufproblem noch eine angebliche, in einen Fehler führende, Addition.

Quote
Dann erkläre es doch gleich richtig!

Womöglich wird die Millis() Variable nach 50Tagen oder wann auch immer überlaufen und auf Null resettet, wenn man kurz vorm Überlauf die 300 oder 700 draufrechnet gibts einen SystemFehler.

Also macht man das mit Minus.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

carsten72

#16
Mar 14, 2017, 10:26 pm Last Edit: Mar 14, 2017, 10:38 pm by carsten72
Halllo und Grüss Euch erstmal.
Vielen Dank für die ausführliche Erklärung!

Ich habe da eine Frage :
Ich habe eine Uhr gebaut.

Kann ich den "Wachmann" auch für das refreshen eines Displays (Nokia5110) (Displayclear) verwenden und die Sekunden Punkte einer Uhr darüber blinken lassen? Es müsste doch möglich sein, die Ausgabe vom LED Pin umzuschreiben auf eine Funktion die dann Aufgerufen wird? Oder wie ich es gerne machen würde zwei Funktionen.

Bisher habe ich das mit delay gemacht ... keine gute lösung

Vielen Dank!

Carsten

FlyingEagle

ja liese es sich, vorausgesetzt das die Abarbeitung binnen einer Sekunde erfolgt, ansonsten hast du ein unregelmäßiges Blinken.

carsten72

#18
Mar 14, 2017, 10:46 pm Last Edit: Mar 14, 2017, 10:54 pm by carsten72
Es gibt ja noch eine weitere lösung
Z.b. per Interrupt - die sind aber sehr schwer zu programmieren .. oder?

Tommy56

#19
Mar 14, 2017, 10:50 pm Last Edit: Mar 14, 2017, 11:06 pm by Tommy56
Halllo und Grüss Euch erstmal.
Vielen Dank für die ausführliche Erklärung!

Ich habe da eine Frage :
Ich habe eine Uhr gebaut.

Kann ich den "Wachmann" auch für das refreshen eines Displays (Nokia5110) (Displayclear) verwenden und die Sekunden Punkte einer Uhr darüber blinken lassen? Es müsste doch möglich sein, die Ausgabe vom LED Pin umzuschreiben auf eine Funktion die dann Aufgerufen wird? Oder wie ich es gerne machen würde zwei Funktionen.

Bisher habe ich das mit delay gemacht ... keine gute lösung

Vielen Dank!

Carsten
Klar geht das. Anstelle der Led erfolgt Deine Ausgabe.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

carsten72


Vielen Dank Tommy
Ich probiers mal mit dem Wachmann
Gruß Carsten

Eisebaer

hi,

falls Du eine RTC einsetzt, hat die im normalfall einen pin, auf dem alle sekunden von GND auf Vcc geschalten wird. ich finde das ideal, um die sekunden zu schalten.

gruß stefan

carsten72

Hi Stefan (Eisbär)
Ich verwende die DS3231.
Hast Du einen Link oder evtl. eine Zeichnung? Damit kann man den : (doppelpunkt) blinken lassen?
Das währe ja ideal.
Gruß Carsten

HotSystems

Wenn ich das richtig verstehe, verwendest du ein Nokia-Display. Da kannst du nicht einfach einen Pin zum Blinken schalten.
Das musst du in deinem Sketch lösen.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

carsten72

#24
Mar 15, 2017, 08:46 am Last Edit: Mar 15, 2017, 08:51 am by carsten72
Hi HotSystems,
Habe ich in der zwischenzeit auch gemerkt das es so nicht funktioniert.
Kann ich denn nicht das Display refresh und das blinken im Interrupt lösen?
Eine Routine zum Display Doppelpunkt anzeigen / löschen habe ich schon.. was fehlt ist der Trigger, den
ich bisher mit delay gelöst hatte was aber unsinn ist.
Grüße Carsten

HotSystems

Dann sieh dir diesen Beitrag an, mit der Library kannst du deine Funktion ganz ohne Interrupt starten.

Interval

Damit mache ich es auch in einem LCD-Display.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Eisebaer

hi,

Quote
Wenn ich das richtig verstehe, verwendest du ein Nokia-Display. Da kannst du nicht einfach einen Pin zum Blinken schalten.
ich meinte natürlich nicht, daß man einen pin der RTC direkt an das display anschließt und dadurch was zum blinken bringt. aber die RTC kann dem sketch im sekundentakt ein signal geben.

auf der DS3231 ist das der SQW-pin, verwende ich auch. die funktionen zum anschalten und intervall-festlegen findest Du in den libraries. wenn Du eine sekunde einstellst, hast Du immer eine halbe sekunde HIGH und eine halbe sekunde LOW auf dem pin.

ich mache das dann in der form, daß ich bei jedem wechsel auf HIGH eine sekunde weiterzähle und natürlich nicht andauernd die uhrzeit abfragen muß, ob eine sekunde vergangen ist. das zähle ich intern, delays oder millis gibt's da garnicht. ein interrupt ist bei mir auch nicht nötig, passiert doch alles sehr langsam.

alle 60 sekunden vergleiche ich meine "mitgezählte" zeit mit der RTC.

für Deinen doppelpunkt kannst Du diesen halbsekundentakt natürlich optimal nutzen.

gruß stefan

FlyingEagle


carsten72

@ HotSystems: Super - genau danach habe ich gesucht!

HotSystems

Dann gebe ich den Dank weiter an combie, das ideale Teil erstellt hat.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Go Up