Timer

Hallo, ich bin noch Anfänger in Sachen Arduino und benötige einmal eure Hilfe.

Ich soll die Umgebungstemperatur eines Hubmagneten bestimmen, der periodisch ein- und ausgeschalten wird.

Dafür gibt es 3 Varianten.

  1. t-ein=10s, t-aus=40s, Laufzeit=180min
  2. t-ein=40s, t-aus=160s, Laufzeit=180min
  3. t-ein=120s, t-aus=480s, Laufzeit=180min

Allerdings ist mir die Funktion des Timers noch nicht ganz klar.
Ich hoffe Ihr könnt mir helfen.

Gruß Katharina

Katharina:
Allerdings ist mir die Funktion des Timers noch nicht ganz klar.

Mir ist nicht klar, was genau die Frage ist. Wenn Du zeitgesteuerte Vorgänge programmieren möchtest, kannst Du z. B. delay() verwenden, was jedoch nicht immer nützlich ist. Man kann auch mit millis() arbeiten, was jedoch eine abstraktere Denke benötigt. Vorteil der Arbeit mit millis() ist, dass man mehrere Dinge „gleichzeitig“ machen kann. Vorteil von delay() ist, dass es sehr einfach zu verstehen ist.

HTH

Gregor

Nachtrag: Zum Thema timer hat Gunther (s. nächstes Posting) eine ziemlich gute Erklärung gebracht. Siehe hier.

Katharina:
Allerdings ist mir die Funktion des Timers noch nicht ganz klar.

Da gibts viel zu lesen.....

https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
playground: Timer
Hallo Welt! - Mit Interrupt und Timer Library

Hallo,

ich denke im hohen Sekunden und Minutenbereich ist millis() völlig ausreichend.
Mal wieder finde ich die praktische Erklärung von Theseus zu millis nicht.
Das war sehr anschaulich formuliert.

Der Begriff "Timer" ist sicher eher verwirrend. Ein Microcontroller (auch der in Arduinos verbaute) hat mehrere Hardware-Timer, die alles mögliche unabhängig bzw. im Hintergrund von deinem sketch machen.

Einer davon sorgt u.a. dafür, dass die Arduino-Funktion millis() im Lauf der Zeit andere Werte zurückliefert. Und dass bei der Funktion delay() eine Zeitlang fast gar nichts passiert.

Mit diesen Hardware-Timern willst du dich, wenn du so fragst, gar nicht direkt beschäftigen.


Dafür gibt es 3 Varianten.

  1. t-ein=10s, t-aus=40s, Laufzeit=180min
  2. t-ein=40s, t-aus=160s, Laufzeit=180min
  3. t-ein=120s, t-aus=480s, Laufzeit=180min

Mal abgesehen davon, dass mir nicht klar ist, was nach 180 Minuten passieren soll: Was ist jetzt die Fragestellung?

Sollen diese Zyklen parallel auf drei verschiedenen Ausgangspins zu sehen sein, oder willst du zwischen den 3 Varianten auswählen? (Wie?)

Katharina:
Ich soll die Umgebungstemperatur eines Hubmagneten bestimmen, der periodisch ein- und ausgeschalten wird.

Dafür gibt es 3 Varianten.

  1. t-ein=10s, t-aus=40s, Laufzeit=180min
  2. t-ein=40s, t-aus=160s, Laufzeit=180min
  3. t-ein=120s, t-aus=480s, Laufzeit=180min

Allerdings ist mir die Funktion des Timers noch nicht ganz klar.

Du schreibst, Du sollst eine Umgebungstemperatur messen. Was haben die Zeitvarianten damit zu tun?
Du hast nicht geschrieben, dass Du Zeitsteuerungen bauen willst, also gehe ich davon aus, die steuert ein anderer.

Was willst Du denn nun genau maachen?

Gruß Tommy