Inhaltsverzeichnis:
- Schritt 1: Sammeln der Teile
- Schritt 2: Zusammenbau der Schaltung
- Schritt 3: Einstellen des LCD-Displays und der Uhr
- Schritt 4: Codierung
- Schritt 5: Zeit zum Testen
- Schritt 6: Einrichtung der Bluetooth-App
- Schritt 7: Aufbau des Gehäuses
- Schritt 8: Fertig
Video: Sonnenaufgangswecker mit LCD-Display und Bluetooth-App - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Die Winterzeit kann traurig sein. Du wachst auf, es ist dunkel und du musst aufstehen. Das Letzte, was Sie hören möchten, ist das nervige Geräusch Ihres Weckers. Wenn Sie, wie ich, morgens Probleme beim Aufwachen haben, ist dieser Wecker genau das Richtige für Sie.
In diesem Tutorial werden wir einen Sunrise Wecker bauen. Es ist ein Wecker wie jeder andere, bei dem Sie die Stunde und Minute einstellen können, die Sie aufwachen möchten, aber mit dem Vorteil, dass Licht Ihr Schlafzimmer über einen Zeitraum wie einen Sonnenaufgang aufhellt, um Sie aufzuwecken, anstatt zu stören Summer!
Wir werden auch ein Bluetooth-Modul verwenden, um eine App zu erstellen, mit der Sie den Wecker über Ihr Telefon auf die Uhr stellen können. Auf dem LCD-Display werden Uhrzeit, Datum und Wochentag angezeigt. Es gibt zwar Sonnenaufgangslampen auf dem Markt, aber sie können teuer sein (eine schnelle Suche auf Google gibt Produkte im Bereich von 100 € zurück), zerbrechlich und ziemlich klinisch aussehend. Deshalb habe ich mich entschieden, mein eigenes für mein Arduino-Schulprojekt zu machen. Alle Teile werden im nächsten Schritt aufgelistet. Der Code kann von meinem Github-Repo sunrise-alarm-clock heruntergeladen werden. Lass uns anfangen:)
Alle Codes finden Sie auf:
Schritt 1: Sammeln der Teile
Wir verwenden eine Uhr als Eingang und eine ultrahelle LED als Ausgang, um unseren Sonnenaufgang zu simulieren.
Um die Schaltung aufzubauen, benötigen wir:
- Arduino Uno- Clockmodul RTC DS3231 - ein MOSFET zur Steuerung der Helligkeit des Lichts - eine superhelle LED (ich habe 2 gekauft, eine warm, eine kalt) - 9V Batterie zur Stromversorgung der LED - ein Steckbrett- ein LCD-Display (16.):2)- Bluetooth-Adapter hc-05, damit wir eine App verwenden können, um den Wecker einzustellen.
Alles, was Sie brauchen, können Sie auf www.martoparts.nl kaufen
Schritt 2: Zusammenbau der Schaltung
Sie können sich auf die Skizze für meine Schaltung beziehen, leider konnte ich den RTC DS3231 nicht im Programm finden, also musste ich mit diesem zu tun haben. Verbindungen sind in Wirklichkeit etwas anders, hier sind die Verbindungen. (Das Bluetooth-Modul ist nicht in der Skizze enthalten, aber ich werde unten erklären, wie es funktioniert, da es ziemlich knifflig ist)
RTC DS3231GND geht auf dem Arduino auf GND
VCC geht an die 5v
SDA geht nach Arduino
SCL geht nach arduinoWir werden SQW & 32KMOSFET nicht verwenden
Gate-Pin geht auf Pin ~ 9 auf dem Arduino Uno, weil der PWMDrain-Pin auf die negative Seite der LED geht Source-Pin geht auf GND auf dem ArduinoLCD-DisplayGND geht auf GND auf dem Arduino
VCC geht auf 5VSDA geht auf A4 auf dem arduinoSKL geht auf A5 auf dem arduinoLED- geht auf mosfet+ geht auf die 5v9v-Batterie Sie können eine 9v-Batterie in jedem lokalen Geschäft kaufen, stecken Sie sie mit einer Steckerleiste in das Arduino.
Bluetooth-Modul hc-055V geht vom Arduino auf 5V
GND geht auf dem Arduino zu GND
Jetzt gibt es 2 weitere Eingänge, aber hier kommt der knifflige Teil, wir müssen die gegenüberliegenden Eingänge dieser 2 auf dem arduinoTX von hc-05 verbinden geht zu RX auf arduinoRX von hc-05 geht auf TX auf arduino
Wichtig: Stellen Sie sicher, dass Sie TX & RX vom HC-05 TRENNEN, wenn Sie Code auf Ihr Arduino hochladen, oder Sie erhalten im Compiler eine Fehlermeldung, die besagt, dass beim Hochladen des Codes etwas schief gelaufen ist.
Schritt 3: Einstellen des LCD-Displays und der Uhr
Die für das LCD-Display verwendete Bibliothek ist Flüssigkristall und kann unter:
Die Bibliothek, die ich zum Betreiben der Uhr verwende, finden Sie bei Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 und stellen Sie sicher, dass Sie sich auf der DS3231-Seite befinden. Laden Sie die Zip-Datei herunter, speichern Sie sie und legen Sie sie in den Bibliotheksordner Ihres Arduino.
Zeit
Fügen Sie die Bibliothek DS3231 oder DS1307 in Ihren Arduino-Code ein
Entkommentieren Sie diese 3 Codezeilen, um die Zeit einzustellen:
// rtc.setDOW (MONTAG); // Wochentag auf SONNTAG setzen // rtc.setTime(23, 57, 0); // Stellen Sie die Uhrzeit auf 12:00:00 (24-Stunden-Format) // rtc.setDate (14, 1, 2019); // Setzen Sie das Datum auf den 1. Januar 2014
LCD Bildschirm
Fügen Sie die Bibliothek liqduicrystal_i2c in Ihren Arduino-Code ein
Verwenden Sie zum Drucken auf dem LCD-Display
lcd.setCursor(col, row) // Position des Textes gedrucktlcd.print(~) // Text gedruckt
Schritt 4: Codierung
Laden Sie den Code herunter auf: github:
Entkommentieren Sie diese 3 Zeilen, um die Uhr auf Ihrem LCD-Display einzustellen:
// rtc.setDOW (MONTAG); // Wochentag auf SONNTAG setzen // rtc.setTime(23, 57, 0); // Stellen Sie die Uhrzeit auf 12:00:00 (24-Stunden-Format) // rtc.setDate (14, 1, 2019); // Setzen Sie das Datum auf den 1. Januar 2014
Verwenden Sie lcd.setCuros(col, row); um die Position des Textes auf dem Display einzustellen
lcd.setCursor(0, 2);
und print() um etwas auf dem Display zu drucken
lcd.print (rtc.getDateStr());
Ändern Sie diese Variablen, wenn Sie möchten
int fadeTime = 1; // Wie lange das Licht auf maxint verblassen wird setHour = 02; // Stunden zum Aufwachen einstellen (Militärzeit)int setMin = 49; // Minute zum Aufwachen einstellen int uled = 9; // Pinbelegung mit PWM setzen
Code des Bluetooth-Moduls
String firstHalf = getValue(input, ':', 0); // erste Eingabe prüfen bis ":"
String secondHalf = getValue(input, ':', 1); // zweite Eingabe nach ":" prüfen
// Verwenden Sie diesen Code, wenn Sie das Bluetooth-Modul nicht verwenden
// //if (t.hour == setHour && t.min == setMin) // Überprüfe, ob es Zeit zum Aufwachen ist! // { // Anfang(); //}
// Überprüfe die ersten 2 Ziffern der Eingabe, dann überprüfe die zweiten 2 Ziffern der Eingabe
if (t.hour == firstHalf.toInt() && t.min == secondHalf.toInt()) { start(); } }
// Logik zum Trennen von Strings
String getValue (String-Daten, Zeichentrennzeichen, Int-Index) { Int gefunden = 0; int strIndex = { 0, -1 }; int maxIndex = data.length() - 1;
for (int i = 0; i <= maxIndex && found <= index; i++) { if (data.charAt(i) == Separator || i == maxIndex) { found++; StrIndex[0] = StrIndex[1] + 1; strIndex[1] = (i == maxIndex) ? i+1: ich; } } Rückgabe gefunden> Index ? data.substring(strIndex[0], strIndex[1]): ""; }
Schritt 5: Zeit zum Testen
Kompilieren Sie Ihren Code und testen Sie, ob die Komponenten funktionieren!
Schritt 6: Einrichtung der Bluetooth-App
Da ich es nervig fand, jedes Mal, wenn ich einen Wecker stellen wollte, in den Code zu graben, wollte ich eine App entwickeln, die den Wecker stellt, was viel einfacher ist.
Gehen Sie zu https://ai2.appinventor.mit.eduhier können wir eine einfache App erstellen, mit der wir den Wecker einstellen können Bluetooth-Verbindung. Sie können dann Ihre App veröffentlichen und auf Ihrem Telefon eine Verbindung herstellen, indem Sie einen QR-Code verwenden oder die App direkt auf Ihren Computer herunterladen und sie dann mit einem Kabel auf Ihr Telefon übertragen. (Bildschirmfoto)
Schritt 7: Aufbau des Gehäuses
Sie können jederzeit ein anderes Gehäuse um Ihre Arduino-Uhr bauen. Ich habe Holz und mattes Plexiglas verwendet, um mein eigenes Weckergehäuse zu bauen. Ich habe mich für mattes Plexiglas entschieden, damit Sie das Licht klar durch das Gehäuse hindurch sehen können, aber Sie können das Innere der Uhr nicht sehen.
Schritt 8: Fertig
Nachdem Sie den Code auf Ihr Arduino hochgeladen, das Gehäuse gebaut und überprüft haben, ob Sie Ihre Uhr richtig zusammengebaut haben, können Sie in der Bluetooth-App einen Wecker stellen und natürlicher aufwachen!:)
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass