Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Komponenten und Zubehör

Arduino Due × 1

Apps und Online-Dienste

Über dieses Projekt

Einführung

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Hallo! Ich bin Nick von educ8s.tv. Heute bauen wir eine Echtzeituhr mit Temperaturüberwachung. Oben sehen wir Datum und Uhrzeit, aktuelle Temperatur, unten Min/Max-Temperatur. Einfache UI mit einfachen Formen. Alles funktioniert prima – ein einfaches, nützliches Projekt. Los geht’s!

Schritt 1: Teile besorgen

Kosten ca. 24 $: Due ~14 $, Display ~8 $, RTC ~2 $.

Schritt 2: DS3231 Echtzeituhr-Modul

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Der DS3231 ist ein kostengünstiger, extrem präziser I²C-Echtzeitkalender mit temperaturkompensiertem Quarzoszillator (TCXO) und integriertem Quarz. Batteriepufferung hält die Zeit bei Stromausfall jahrelang (minimaler Verbrauch).

Funktionen: Sekunden, Minuten, Stunden, Tag, Datum, Monat, Jahr. Automatische Monatsendenkorrektur (auch Schaltjahre). 24h/12h-Format mit AM/PM. Zwei programmierbare Alarme, programmierbarer Rechteckausgang. I²C-Bidirektionalbus.

Modul kostet ~2 $ inkl. Batterie!

Wir nutzen es für Zeitmessung UND Temperaturmessung (interner Sensor).

Schritt 3: 3,2″ Color TFT Display (HX8357C oder HX8357B)

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Ich wollte immer ein großes Display für Arduino-Projekte. Dieser 3,2″ TFT für Mega/Due war preislich unschlagbar (< 10 $). Auflösung 480×320 Pixel, SD-Kartenslot auf der Rückseite (bisher ungenutzt). 3,3 V-Regler onboard → funktioniert mit 5 V und 3,3 V Logik.

Zwei Varianten: HX8357C oder HX8357B Controller. Dieselbe Bibliothek für beide.

Display-Bibliothek: GitHub Bodmer/TFT_HX8357_Due

Nach Download: User_Setup.h öffnen, Zeile 13 auskommentieren, Zeile 14 einkommentieren (falls HX8357C, wie bei mir).

Schritt 4: Teile verbinden

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Ich nutze Arduino Due (schneller, mehr RAM als Mega).

RTC-Modul: 4 Pinheader (2× Strom, 2× I²C). Gebogen: 3,3 V, GND, SDA, SCL an Due. Mit Female-Kabeln verbinden. Fertig.

Display aufstecken (2 Pins bleiben frei).

Strom an → läuft!

Schritt 5: Projektcode

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Zwei Bibliotheken nötig:

Installieren → Projekt kompiliert.

Zuerst Uhrzeit im RTC setzen (falls nicht schon geschehen). In setRTCTime() aktuelles Datum/Zeit eintragen:

void setRTCTime() {
  DateTime dt(2016, 4, 4, 13, 56, 30, 1); // Jahr, Monat, Tag, Std, Min, Sek, Wochentag
  rtc.setDateTime(dt);
}

Aufruf in setup() einkommentieren, hochladen. Zeit gesetzt. Dann Aufruf wieder auskommentieren und erneut hochladen.

void setup() {
  rtc.begin();
  tft.init();
  tft.setRotation(1);
  tft.fillScreen(0xC618);
  delay(100);
  printUI();
  // setRTCTime(); // AUSKOMMENTIERT nach erstem Setzen
}

Code ist simpel: UI zeichnen, dann Datum, Zeit, Temperatur anzeigen.

void loop() {
  float temperature = rtc.getTemperature();
  getAndPrintTime();
  printTemperature(temperature);
  if (temperature > maxTemperature) {
    maxTemperature = temperature;
    updateMaxTemperature();
  }
  if (temperature < minTemperature) {
    minTemperature = temperature;
    updateMinTemperature();
  }
  delay(1000);
}

Vollständiger Code: educ8s.tv Projektseite oder Download DueRTC.ino.

Schritt 6: Fazit & Ausblick

Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display

Mit wenig Code und niedrigem Budget ein nützliches Gerät. Ich werde es zur fortgeschrittenen Wetterstation ausbauen (mehr Sensoren, Graphen, WiFi). Arduino Due ist ideal: schnell, viel Speicher. Was denken Sie? Wie soll es weitergehen? Kommentare willkommen!

Code

Code-Schnipsel

void setup() {
  rtc.begin();
  tft.init();
  tft.setRotation(1);
  tft.fillScreen(0xC618);
  delay(100);
  printUI();
  setRTCTime();
}
void setup() {
  rtc.begin();
  tft.init();
  tft.setRotation(1);
  tft.fillScreen(0xC618);
  delay(100);
  printUI();
  // setRTCTime();
}
void loop() {
  float temperature = rtc.getTemperature();
  getAndPrintTime();
  printTemperature(temperature);
  if (temperature > maxTemperature) {
    maxTemperature = temperature;
    updateMaxTemperature();
  }
  if (temperature < minTemperature) {
    minTemperature = temperature;
    updateMinTemperature();
  }
  delay(1000);
}

GitHub Repositories

Herstellungsprozess

  1. Sensor-gesteuerte Audio-Effekte mit dem Satellite CCRMA Kit bauen
  2. Arduino Echtzeituhr für islamische Gebetszeiten bauen
  3. Präzisions-Wortuhr: Minuten-genaue Zeitanzeige in Worten
  4. Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
  5. TM1637 Digitaluhr mit Zeiteinstellung & Alarm – Arduino Nano Prototyp
  6. DIY-Voltmeter mit Arduino und Nokia 5110 Display – Schritt-für-Schritt-Anleitung
  7. BME280 Temperatur, Luftfeuchte & Druck auf Nextion Touchscreen anzeigen
  8. Arduino & MPU6050: Präzise Servomotor-Steuerung mit SG90 & MG996R
  9. u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
  10. Zuverlässigen Wecker mit DS1302 RTC und Arduino UNO bauen