Inhaltsverzeichnis:

Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung - Gunook
Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung - Gunook

Video: Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung - Gunook

Video: Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung - Gunook
Video: BitBastelei #489 - DIY Temperaturüberwachung mit DS18B20 2024, November
Anonim
Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung
Große Arduino-LCD-Uhr mit zwei Alarmen und Temperaturmonitor, gesteuert durch IR-TV-Fernbedienung

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

Image
Image

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

Gebäude
Gebäude

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

Gebäude
Gebäude
Gebäude
Gebäude
Gebäude
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

Fernbedienung
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

Schaltplan und Code
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

Empfohlen: