Inhaltsverzeichnis:
Video: Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung - Gunook
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
So bauen Sie eine Arduino-basierte LCD-Uhr mit zwei Alarmen und einem Temperaturmonitor, der über eine IR-TV-Fernbedienung gesteuert wird.
Schritt 1: Beschreibung
Dies ist eine LCD-Uhr mit dem Echtzeituhrmodul DS3231, die im Gegensatz zu DS1307 die Möglichkeit der Alarm- und Temperaturüberwachung bietet. In diesem Fall zeigt der LCD-Bildschirm Datum, Uhrzeit, zwei Alarme und auch die aktuelle Temperatur an. Und das Interessanteste daran ist, dass die komplette Einstellung der Uhr sowie das Stummschalten des Weckers über die TV-Fernbedienung erfolgen.
Schritt 2: Teile
Für den Bau benötigte Hardware-Teile:
-Arduino-Board
-DS3231 RTC-Platine
-20X4 LCD-Anzeige
-I2C Arduino LCD-Anzeigemodul
-RC5-Protokoll IR-Fernbedienung
-IR-Empfänger
-LED
-Summer
-220 Ohm Widerstand
Schritt 3: Gebäude
Der Grundcode stammt von der Simple-Circuit-Webseite Und ich habe ein paar Änderungen vorgenommen: Der Einfachheit halber habe ich dem LCD-Display ein I2C-Modul hinzugefügt und den Code entsprechend modifiziert. Ich habe auch einen kleinen Summer hinzugefügt, der einen Ton mit einer bestimmten Frequenz erzeugt, während der Alarm aktiv ist.
Die DS3231-Platine wird mit 5V als 20x4 LCD und dem IR-Empfänger versorgt, diese 5V kommen von der Arduino-Platine, es sind 3 Datenleitungen zwischen dieser Platine und dem Arduino angeschlossen, SCL-Leitung ist mit analogem Pin 5 verbunden, SDA ist verbunden mit Der analoge Pin 4 und die INT-Leitung sind mit dem digitalen Pin 2 verbunden, dem externen Interrupt-Pin des Arduino (INT0). Der DS3231 unterbricht den Mikrocontroller bei einem Alarm (Alarm1 oder Alarm2). Der IR-Empfänger hat 3 Pins: GND, VCC und OUT, wobei der OUT-Pin mit Arduino-Pin 3 verbunden ist, der ein externer Interrupt-Pin (INT1) ist. Die LED, die an Arduino Pin 10 angeschlossen ist, wird als Alarmanzeige (Alarm1 oder Alarm2) verwendet. Wenn also ein Alarm auftritt, zieht der DS3231 den INT-Pin herunter, der den Mikrocontroller (ATmega328P) unterbricht und der Mikrocontroller schaltet die LED ein, hier eine Taste auf der Fernbedienung schaltet sowohl die LED als auch den aufgetretenen Alarm aus. Wir müssen unsere Fernbedienung decodieren, um den Code jeder Taste zu kennen, da wir ihn in der Arduino-Software (Code) hinzufügen müssen.
Schritt 4: Fernbedienung
Die in diesem Projekt verwendete Fernbedienung ist eine TV-IR-Fernbedienung mit RC5-Protokoll, es ist die unten gezeigte (verwendete Tasten sind nummeriert):
Tastenfunktionscode (Hex-Format)
1 Inkrement 0x20
2 Uhrzeit und Kalender einstellen 0x10
3 Dekrement 0x21
4 Alarme 0x11. einstellen
5 Alarme zurücksetzen 0x0C
Beachten Sie, dass dieser Code die Fernbedienung mit dem RC5-Protokoll verwenden muss, und am häufigsten werden solche Fernbedienungsgeräte von älteren Philips-Geräten verwendet. Unten finden Sie einen einfachen Code "IR-Protokollfinder", mit dem Sie das Protokoll jeder Fernbedienung sowie den Wert jeder Taste leicht bestimmen können. Das Bild zeigt die von mir verwendete Fernbedienung mit den markierten Werten und Funktionen der Tasten.
Schritt 5: Schaltplan und Code
Unten ist ein kleiner Code zum Bestimmen des Protokolltyps und der Werte der Tasten auf dem IR-Controller und des vollständigen Taktcodes dargestellt