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.
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.
t-ein=10s, t-aus=40s, Laufzeit=180min
t-ein=40s, t-aus=160s, Laufzeit=180min
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.
t-ein=10s, t-aus=40s, Laufzeit=180min
t-ein=40s, t-aus=160s, Laufzeit=180min
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.