• IT-Karriere:
  • Services:

Zeitgesteuerte Ausführung

In der Loop-Funktion haben wir noch Code hinzugefügt, um die Temperaturmessung alle 30 Minuten durchzuführen. Die Zeitdauer von 30 Minuten wurde in der Konstanten PERIOD festgelegt.

Stellenmarkt
  1. berbel Ablufttechnik GmbH, Rheine
  2. Wirtgen GmbH, Windhagen

Für die Zeitüberwachung benutzen wir die Variable sensortime:

  1. static unsigned long sensortime = 0;

Das Static-Keyword sorgt dafür, dass der Wert der Variablen auch beim Verlassen der Funktion erhalten bleibt. Ihr Wert wird bei jedem Aufruf der Loop-Funktion mit der Anzahl an Millisekunden verglichen, die seit dem Start des Arduinos vergangen sind. Beim ersten Aufruf ist diese Bedingung immer erfüllt, weshalb der erste Temperaturwert direkt nach dem Start verschickt wird. Gleichzeitig wird in Millisekunden berechnet, zu welchem Zeitpunkt der nächste Aufruf erfolgen sollte. Dieser Wert wird in sensortime gespeichert.

  1. if(millis() > sensortime) {
  2. sensortime = millis() + PERIOD * 60l * 1000l;
  3. sensors.requestTemperatures();
  4. sendTemperature(thermometer);
  5. }

Nach der gleichen Logik arbeitet auch der Code in der loop()-Funktion, welcher dafür sorgt, dass die LED regelmäßig blinkt, wenn ein Fehler auftritt.

Jetzt zum Freizeitforscher werden

Mit dem Schaltungsaufbau und dem regelmäßigen Skriptaufruf ist alles beisammen, um an unserem großen Projekt teilzunehmen: Wie warm ist es in euren Büros?. Wir hoffen, dass möglichst viele Bastler mitmachen - jetzt vielleicht auch du?

In dieser Artikelserie sind bereits erschienen:

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Ethernet-Shield initialisieren
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5


Anzeige
Top-Angebote
  1. (u. a. WISO Steuer-Software für PC und Mac für je 19,99€)
  2. (u. a. Emtec X150 SSD Power Plus 960 GB für 84,90€ + 6,99€ Versand und Thermaltake V200 TG RGB...
  3. (u. a. Samsung 860 EVO 1 TB für 85€)
  4. (u. a. Samsung 860 EVO 1 TB für 85€)

MikePenison 22. Apr 2016

Hallo, ich habe Interesse an so einem Temperatur Projekt auf Bluetooth Basis (Arduino...

NoLabel 22. Apr 2016

Breadboard ist ja auch nur zum testen einer Schaltung da und nicht für Dauerbetrieb...

TuX12 22. Apr 2016

Damit geht's auch und kost' fast nix ;)


Folgen Sie uns
       


Demon's Souls Remake (PS5) - Fazit

Im Testvideo stellt Golem.de das Remake des epischen Fantasy-Rollenspiels Demon's Souls für die Playstation 5 vor.

Demon's Souls Remake (PS5) - Fazit Video aufrufen
    •  /