In diesem Projekt zeige ich Ihnen, wie Sie selbst eine Arduino-Uhr herstellen
Mit dieser Arduino-Uhr können Sie Datum und Uhrzeit anzeigen.
In diesem Projekt verwenden wir einen 16 × 2-LCD-Bildschirm, ein Echtzeituhrmodul und ein Potentiometer. Die Echtzeituhr (ab sofort RTC) ist eigentlich eine Uhr, aber in elektronischer Form. Wenn der Arduino nicht mehr mit Strom versorgt wird, wird die RTC fortgesetzt, da sie mit einer kleinen Batterie betrieben wird. Auf diese Weise kann er 7 Jahre Zeit behalten. Dies ist besonders nützlich, wenn Sie die Arduino-Uhr mit einer Batterie betreiben möchten. Wenn der Akku leer ist, müssen Sie die Uhrzeit nicht immer richtig einstellen. Wir verwenden das Potentiometer, um die Helligkeit des LCD-Bildschirms zu ändern.
- Level - Durchschnitt 45%
- Dauer - 40/60 min 45%
- Kosten - 48.85 € abgeschlossen 30%
Schritt 1: Anforderungen
Schritt 2: Bauen und Verkabeln
Jetzt werden wir das Projekt bauen
Wir beginnen mit dem Löten der Stiftleisten an die RTC. Tun Sie dies gemäß den Abbildungen unten. Wenn Sie genau hinsehen, können Sie sehen, dass ich die RTC verkehrt herum auf das Brot gelegt habeboard platziert haben. Ich tat dies, damit er besser auf dem Brot istboard passt, da meine Stiftleisten nicht lang genug waren. Sie müssen selbst sehen, was Sie am einfachsten finden. Stellen Sie sicher, dass Sie die richtigen Anschlüsse an der RTC verwenden.
Nachdem Sie die Nadelköpfe gelötet haben, können Sie die Komponenten gemäß der Zeichnung platzieren. Danach können Sie mit der Verkabelung der Komponenten und des Arduino beginnen.
Es ist wichtig, dass Sie die richtigen Komponenten an die richtigen Arduino-Pins anschließen, sonst funktioniert der Code nicht!
RTC -> Arduino Uno
SCL -> Pin A5
SDA -> Pin A4
VCC -> 5V
GND -> GND
LCD -> Arduino Uno
VSS -> GND
VDD -> 5V
VO -> Potentiometersignal
RS -> Pin 12
RW -> GND
E -> Pin 11
D4 -> Pin 5
D5 -> Pin 4
D6 -> Pin 3
D7 -> Pin 2
A -> 5V
K -> GND
Schritt 3: Programmierung
Nachdem Sie Ihren Arduino Alarm verdrahtet und aufgebaut haben, können Sie mit der Programmierung beginnen Arduino Uno.
Wir müssen auch eine Bibliothek für diesen Code hinzufügen.
Eine Bibliothek oder Include-Datei enthält häufig Code, der häufig in anderen Skizzen wiederverwendet werden kann. Oft sind Bibliotheken (Bibliotheken) eine Sammlung verwandter Funktionen, die auf eine bestimmte Anwendung abzielen. Zum Beispiel zur Steuerung eines Streifens mit LEDs, speziellen mathematischen Funktionen oder zum Beispiel zur Steuerung eines LCD-Bildschirms.
Wir benutzen die Bibliothek für die RTC, sonst weiß er nicht, was er tun soll.
Laden Sie die Bibliothek herunter hier
Um die Bibliothek zur IDE hinzuzufügen, müssen Sie den RTC-Ordner kopieren oder in den Bibliotheksordner verschieben.
Dieser Ordner befindet sich normalerweise in C: \ Benutzer \ (Name) \ Dokumente \ Arduino \ Bibliotheken
Anschließend können Sie den folgenden Code vollständig kopieren und in die Arduino IDE einfügen.
Laden Sie den Code in die hoch Arduino Uno und sehen, ob es funktioniert.
Der LCD-Bildschirm sollte brennen und das richtige Datum und die richtige Uhrzeit anzeigen.
Mit dem Potentiometer können Sie die Helligkeit des LCD-Bildschirms ändern.
Wenn dies der Fall ist, der LCD-Bildschirm eingeschaltet ist, aber nichts anzeigt, müssen Sie das Potentiometer nach links oder rechts drehen.
Kopieren Sie nun den folgenden Code in Ihr Arduino-Programm. Wir empfehlen, dass Sie ihn selbst übernehmen, wenn Sie mehr daraus lernen.
#einschließen
#einschließen // Stellen Sie sicher, dass Sie den RTC-Ordner im richtigen Bibliotheksordner ablegen
#einschließen
RTC_DS1307 Echtzeituhr;
const int rs = 12 und = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd (rs und d4, d5, d6, d7);
Leere Einrichtung () {
Serial.begin (9600);
Wire.begin ();
RTC.begin ();
lcd.begin (16, 2);
// Der folgende Satz setzt die Zeit von der RTC auf die Zeit zurück, zu der dieser Code auf das Arduino hochgeladen wird
RTC.adjust (DateTime (_DATE, __TIME_));
}
Leere Schleife () {
DateTime now = RTC.now ();
lcd.setCursor (4,0);
lcd.print (now.day (), DEC);
lcd.print ('/');
lcd.print (now.month (), DEC);
lcd.print ('/');
lcd.print (now.year (), DEC);
lcd.print ('');
lcd.setCursor (4,1);
lcd.print (now.hour (), DEC);
lcd.print (':');
lcd.print (now.minute (), DEC);
lcd.print (':');
lcd.print (now.second (), DEC);
lcd.print ('');
Verzögerung (1000);
}
Ich hoffe du hast es geschafft die Arduino Uhr zu machen!
Ein weiterer Kommentar, den ich zu diesem Projekt hinzufügen möchte: Die Tatsache, dass Sie die RTC beim Ein- und Ausschalten des Setups immer mit einem alten Datum laden, ist natürlich äußerst seltsam. Warum benötigen Sie überhaupt eine Pufferbatterie? Sie sollten das Laden dieses Datums auf jeden Fall entfernen, wenn Sie die Uhr normal verwenden möchten. Sie müssen tatsächlich einen Mechanismus entwerfen, um die Uhr einzustellen. Ich habe das mit einem sogenannten Drehgeber gemacht, aber Sie können auch ein paar Druckknöpfe an Ihr Arduino anschließen.
Am nächsten Tag ging es wieder los und dann stellte sich heraus, dass es funktionierte. Vielleicht war es etwas gewöhnungsbedürftig. Die Zeit ist jetzt 15 Stunden zurück.
Hallo Jan,
Vielen Dank für Ihre Antwort. Können Sie den Code erneut hochladen? Die aktuelle Uhrzeit wird dann auch auf das Arduino hochgeladen.
Viel Glück mit dem Projekt!
Ich meine, ich sehe noch keine Zeit auf dem Display.
So funktioniert der Code nicht. Zunächst sollten Sie keine seltsamen Qoutes (offene und geschlossene Anführungszeichen) für die print-Anweisungen verwenden, die in ein Textverarbeitungsprogramm gehören. Daher sollten die Anführungszeichen hier alle durch normale ASCII-Anführungszeichen ersetzt werden. Außerdem funktioniert RTC.adjust (DateTime (_DATE, __TIME_)); entweder muss es sein (__DATE__, __TIME__).
Ich habe es jetzt erstellt und das Programm eingefügt, aber ich sehe es noch eine Weile auf dem Display.