Inhaltsverzeichnis:

Sonnenaufgangswecker mit LCD-Display und Bluetooth-App - Gunook
Sonnenaufgangswecker mit LCD-Display und Bluetooth-App - Gunook

Video: Sonnenaufgangswecker mit LCD-Display und Bluetooth-App - Gunook

Video: Sonnenaufgangswecker mit LCD-Display und Bluetooth-App - Gunook
Video: Beste LICHTWECKER 2023 | Top 3 Sonnenaufgangswecker im Vergleich 2024, Juli
Anonim
Sonnenaufgangswecker mit LCD-Display und Bluetooth-App
Sonnenaufgangswecker mit LCD-Display und Bluetooth-App
Sonnenaufgangswecker mit LCD-Display und Bluetooth-App
Sonnenaufgangswecker mit LCD-Display und Bluetooth-App

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

Sammeln der Teile
Sammeln der Teile
Sammeln der Teile
Sammeln der Teile
Sammeln der Teile
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

Zusammenbau der Schaltung
Zusammenbau der Schaltung
Zusammenbau der Schaltung
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

Einstellen des LCD-Displays und der Uhr
Einstellen des LCD-Displays und der Uhr
Einstellen des LCD-Displays und der Uhr
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

Codierung
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

Einrichtung der Bluetooth-App
Einrichtung der Bluetooth-App
Einrichtung der Bluetooth-App
Einrichtung der Bluetooth-App
Einrichtung der Bluetooth-App
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

Aufbau des Gehäuses
Aufbau des Gehäuses
Aufbau des Gehäuses
Aufbau des Gehäuses
Aufbau des Gehäuses
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

Fertig!
Fertig!
Fertig!
Fertig!
Fertig!
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: