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

Arduino-Temp. Monitor und Echtzeituhr mit 3.2 Display

Komponenten und Verbrauchsmaterialien

Arduino Due
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Einführung

Liebe Freunde, willkommen zu einem weiteren Tutorial! Das ist Nick von educ8s.tv und heute werden wir sehen, wie man diese Echtzeituhr und den Temperaturmonitor entwickelt! Fangen wir an!

Vor einigen Wochen habe ich dieses 3,2-Zoll-Farb-TFT-Display für Arduino sowohl mit Arduino Mega als auch mit Due getestet. Das Display funktioniert gut, und ich habe ein einfaches Projekt damit erstellt. Es ist ein Temperaturmonitor und eine Echtzeituhr. Wie Sie oben sehen können, sehen wir das aktuelle Datum und die aktuelle Uhrzeit, wir können die aktuelle Temperatur sehen und unten zeichnet der Arduino die minimale und die maximale Temperatur auf, die er gemessen hat. Ich habe auch versucht, eine einfache Benutzeroberfläche mit einfachen Formen zu entwerfen. Wie Sie sehen, funktioniert alles gut und es ist ein sehr einfaches und nützliches Projekt zu erstellen. Mal sehen, wie es geht!

Schritt 1:Holen Sie sich alle Teile

Die Teile, die zum Bau dieses Projekts benötigt werden, sind diese:

  • Arduino Due
  • Ein 3,2-Zoll-Farb-TFT-Display
  • DS3231 RTC-Modul
  • Männliche Überschriften
  • Drähte

Die Kosten des Projekts betragen rund 24 $. Sie benötigen ca. 14$ für das Arduino Due, 8$ für das Display und ca. 2$ für das RTC-Modul.

Schritt 2:Das DS3231 Echtzeituhrmodul

Das Echtzeituhrmodul DS3231 ist, wie der Name vermuten lässt, eine Echtzeituhr. Mit seiner Batterie kann es jahrelang halten, da es einen minimalen Stromverbrauch hat.

Der DS3231 ist eine kostengünstige, extrem genaue I2C-Echtzeituhr (RTC) mit integriertem temperaturkompensierten Quarzoszillator (TCXO) und Quarz. Das Gerät verfügt über einen Batterieeingang und behält die genaue Zeitmessung bei, wenn die Hauptstromversorgung des Geräts unterbrochen wird. Die Integration des Quarzresonators verbessert die Langzeitgenauigkeit des Geräts und reduziert die Stückzahl in einer Fertigungslinie.

Die RTC speichert Sekunden, Minuten, Stunden, Tag, Datum, Monat und Jahr. Das Datum am Monatsende wird bei Monaten mit weniger als 31 Tagen automatisch angepasst, inklusive Korrekturen für Schaltjahre. Die Uhr arbeitet entweder im 24-Stunden- oder 12-Stunden-Format mit einer AM/PM-Anzeige. Es stehen zwei programmierbare Uhrzeitalarme und ein programmierbarer Rechteckwellenausgang zur Verfügung. Adresse und Daten werden seriell über einen bidirektionalen I2C-Bus übertragen.

Die Kosten des Moduls sind äußerst gering; es kostet ca. 2$ inklusive Batterie!

Holen Sie es hier.

Wir werden es verwenden, um die Zeit zu halten und Temperaturmesswerte daraus zu erhalten!

Schritt 3:Das 3,2"-Farb-TFT-Display (HX8357C oder HX8357B)

Ich wollte schon immer ein großes Display für meine Arduino-Projekte haben. Also habe ich mich vor ein paar Wochen entschieden, dieses 3,2 Zoll Farb-TFT-Display für Arduino Mega und Arduino Due zu kaufen, weil der Preis so verlockend ist! Weniger als 10 $ für ein 3,2''-Farb-TFT-Display. Bei diesem Preis können Sie nichts falsch machen.

Holen Sie es hier.

Das Display hat eine Auflösung von 480x320 Pixeln und hat auf der Rückseite einen SD-Kartenadapter. Ich habe die SD-Kartenfunktion bisher nicht verwendet. Ich werde versuchen, es in Zukunft zu verwenden. Wenn Sie genau hinschauen, können Sie sehen, dass das Display auch einen 3,3-V-Regler verwendet, sodass es mit 5V- und 3,3-V-Logikpegeln gut funktioniert.

Das Display gibt es in zwei Varianten. Einer davon verwendet den HX8357C-Controller und der andere den HX8357B-Controller. Zum Glück können wir für beide dieselbe Bibliothek verwenden.

DISPLAY-Bibliothek.

Nach dem Herunterladen der Bibliothek müssen Sie die Kommentarzeile 13 der Datei User_Setup.h öffnen und die Kommentarzeile 14 entfernen, wenn Ihr Display den HX8357C-Treiber verwendet, wie meiner.

Schritt 4:Anschließen der Teile

Ich werde das Arduino Due verwenden, um dieses Projekt zu bauen, obwohl ich das etwas billigere, aber langsamere Arduino Mega verwenden könnte. Arduino Due ist viel schneller als das Arduino Mega und hat viel Speicher, deshalb bevorzuge ich es für dieses Projekt.

Zuerst müssen wir alle Teile miteinander verbinden. Ich werde diese Stiftleisten verwenden, um das RTC-Modul mit dem Arduino DUE zu verbinden.

Wir brauchen vier Header-Pins. Zwei für die Stromversorgung und zwei für die I2C-Schnittstelle. Wir biegen sie so und verbinden einen mit dem 3,3-V-Pin des Arduino Due-Boards, den anderen mit GND und die anderen beiden mit dem SDA- und SCL-Pin des Boards. Mit einigen weiblichen Drähten verbinden wir das Modul mit der Platine. Das ist es.

Jetzt können wir das Display an der Platine befestigen. Sie müssen diese beiden Pins nicht mit dem Arduino-Board verbinden, damit ich sie schweben lasse.

Jetzt sind wir bereit, das Projekt hochzufahren. Wie Sie sehen, funktioniert es gut! So einfach ist das! Gehen wir nun zum Computer, um die Softwareseite des Projekts zu sehen.

Schritt 5:Der Code des Projekts

Jetzt können wir uns den Code ansehen. Wir verwenden in diesem Projekt zwei Bibliotheken:

  • Bibliothek anzeigen
  • DS3231-Bibliothek

Sie müssen sie installieren und dann wird das Projekt gut kompiliert!

Als erstes müssen wir die Uhrzeit auf das Echtzeituhrmodul einstellen, wenn es noch nicht eingestellt ist. Geben Sie dazu das aktuelle Datum und die aktuelle Uhrzeit in der Funktion void setRTCTime ein,

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

den Aufruf der Funktion in der Setup-Funktion auskommentieren:

void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618); Verzögerung (100); printUI(); setRTCTime();} 

Und laden Sie das Programm auf Arduino hoch. Jetzt ist die Zeit eingestellt. Aber dann müssen wir den Aufruf der setRTCTime-Funktion erneut kommentieren und das Programm noch einmal auf Arduino hochladen.

void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618); Verzögerung (100); printUI(); //setRTCTime();} 

Wie Sie sehen, ist der Code des Projekts einfach. Wir drucken einfach die Benutzeroberfläche und zeigen dann das Datum, die Uhrzeit und die darauf an.

void loop(){ float temperature =rtc.getTemperature(); getAndPrintTime(); Drucktemperatur (Temperatur); if (temperatur> maxTemperature) { maxTemperature =Temperatur; updateMaxTemperature(); } if (temperatur  

Sie finden den Code, der diesem Schritt beigefügt ist. Sie können die neueste Version des Codes von der Website des Projekts hier herunterladen:http://educ8s.tv/arduino-real-time-clock-32/

DuRTC.ino

Schritt 6:Abschließende Gedanken

Wie Sie sehen können, können wir mit wenigen Codezeilen und mit sehr geringen Kosten ein sehr nützliches Projekt erstellen. Ich werde mehr an diesem Projekt arbeiten, da es eine fortschrittliche Wetterstation mit mehr Sensoren, Grafiken und WLAN-Funktionen werden wird.

Da das Arduino Due sehr schnell ist und viel Speicher hat, denke ich, dass es das ideale Arduino-Board ist. Was halten Sie von diesem Projekt? Wie wollen Sie die Entwicklung sehen?

Bitte posten Sie Ihre Kommentare oder Ideen im Kommentarbereich unten.

Code

  • Code-Snippet 2
  • Code-Snippet #3
  • Code-Snippet Nr. 4
Code-Snippet #2Klartext
void setup () { rtc.begin (); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618); Verzögerung (100); printUI(); setRTCTime();}
Code-Snippet #3Kurztext
void setup () { rtc.begin (); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618); Verzögerung (100); printUI(); //setRTCTime();}
Code-Snippet #4Nur-Text
void loop () { float temperature =rtc.getTemperature (); getAndPrintTime(); Drucktemperatur (Temperatur); if (temperatur> maxTemperature) { maxTemperature =Temperatur; updateMaxTemperature(); } if (temperatur  
Github
https://github.com/Bodmer/TFT_HX8357_Duehttps://github.com/Bodmer/TFT_HX8357_Due
Github
https://github.com/SodaqMoja/Sodaq_DS3231https://github.com/SodaqMoja/Sodaq_DS3231

Herstellungsprozess

  1. Kontrollieren eines Effekts mit echten Sensoren
  2. Arduino-Uhr mit islamischen Gebetszeiten
  3. Wortuhr mit Minutenauflösung der Zeit in Worten
  4. Mit Nextion Display spielen
  5. TM1637 Digitaluhr mit Zeiteinstellung und Alarmfunktion
  6. DIY Voltmeter mit Arduino und einem Nokia 5110 Display
  7. BME280 Temperatur, Luftfeuchtigkeit und Druck auf dem Nextion-Display
  8. Steuerung des Servomotors mit Arduino und MPU6050
  9. u-blox LEA-6H 02 GPS-Modul mit Arduino und Python
  10. Einfacher Wecker mit DS1302 RTC