Inhaltsverzeichnis:

LED-Matrix-Wecker (mit MP3-Player) - Gunook
LED-Matrix-Wecker (mit MP3-Player) - Gunook

Video: LED-Matrix-Wecker (mit MP3-Player) - Gunook

Video: LED-Matrix-Wecker (mit MP3-Player) - Gunook
Video: Iot Wecker mit Arduino ESP8266, Nextion Touch Display, MP3 player, RTC, Lichtsensor 2024, November
Anonim
LED-Matrix-Wecker (mit MP3-Player)
LED-Matrix-Wecker (mit MP3-Player)
LED-Matrix-Wecker (mit MP3-Player)
LED-Matrix-Wecker (mit MP3-Player)

Dieser Arduino-basierte Wecker hat alles, was Sie von Ihrem Wecker erwarten - die Möglichkeit, Sie mit jedem gewünschten Song zu wecken, die Schlummertaste und die einfache Steuerung über drei Tasten. Es gibt drei Hauptblöcke - LED-Matrix, RTC-Modul und MP3-Abschirmung mit Lautsprecher.

Schritt 1: Material & Werkzeuge

  • LED-Matrix
  • Arduino Uno
  • MP3-Schild DHF-Player Mini
  • RTC-Modul DS1307
  • Beliebiger Lautsprecher
  • 3 Tasten (mit Pullup/Pulldown-Widerständen 10k)
  • Drähte
  • Plexi (oder jedes Material, aus dem Sie Ihre Box haben möchten)
  • 3D-Drucker (zum Drucken von Matrixboxen)
  • DC-Stromversorgungsanschluss
  • USB-B-Buchse.

Ich glaube, dass Sie diese Materialliste basierend auf Ihren Möglichkeiten ändern können (auf jeden Fall können Sie verschiedene MP3-Shields, verschiedene RTC-Module verwenden und alles sollte gut funktionieren:)

Schritt 2: LED-Matrix

LED-Matrix
LED-Matrix
LED-Matrix
LED-Matrix
LED-Matrix
LED-Matrix

Als Inspiration habe ich diese instructables verwendet, um eine LED-Matrix zu bauen, ich habe mich nur entschieden, kein Prototyping-Board zu verwenden und meine eigene Leiterplatte zu entwerfen. Sie finden mein Projekt im Schaltungshersteller hier. Sie können auch Schaltpläne verwenden und wenn Sie Gerber-Daten senden möchten (anstatt sie selbst aus dem Schaltungsherstellerprojekt zu generieren), lassen Sie es mich wissen, ich werde sie Ihnen zur Verfügung stellen:). Ein paar Tipps - zuerst habe ich sehr billige LED verwendet, aber nachdem ich alle Dioden gelötet und den Arduino-Code ausgeführt hatte, stellte sich heraus, dass die Varianz der LED-Diodenfarbe nicht akzeptabel war, also musste ich verschiedene bestellen und eine andere LED-Matrix erstellen. Ich werde das Arbeitsprinzip in Part arduino erklären. Wie auch immer, um herauszufinden, ob Sie gute Arbeit geleistet haben und die Anzeige funktioniert, ersetzen Sie einfach die Konstanten in der DisplayChar-Funktion in der Haupt-Arduino-Schleife (zB anstelle von DisplayChar (1, letA); verwenden Sie DisplayChar (0, 9); was die Nummer 9 schreibt ab der 1. Spalte) brauchen Sie nichts weiter zu kommentieren.

Schritt 3: Andere HW

Andere HW
Andere HW
Andere HW
Andere HW
Andere HW
Andere HW

Die anderen HW-Komponenten zum Bau des Weckers sind: RTC-Modul, MP3-Schild, Tasten und Arduino UNO.

Für das RTC-Modul habe ich das Modul DS1307 und die Bibliothek MD_DS1307.h verwendet. Es ist ziemlich einfach, alles funktioniert reibungslos, aber ich würde empfehlen, wahrscheinlich ein präziseres RTC-Modul wie 3231 oder ein anderes zu verwenden - wenn ich es für einige Tage ohne Strom lasse, begann es einige Sekunden zu verlieren.

MP3-Schild DHF-Player Mini - Dieses MP3-Schild ist wirklich einfach. Sie können einige MP3-Dateien auf eine SD-Karte hochladen, einen beliebigen Lautsprecher anschließen, den Sie finden, und dann auf zwei Arten betrieben werden, entweder über serielle Kommunikation oder über I / O-Pins. Um ehrlich zu sein, war ich aus irgendeinem Grund nicht erfolgreich in der seriellen Kommunikation (es funktionierte nicht mit der SPI- und I2C-Kommunikation, die für andere Komponenten verwendet wurden), aber ich war irgendwie in Ordnung, nur IO-Pins zu verwenden (ich habe ADKEY1 verwendet, das mit dem Arduino-Digitalausgang verbunden ist) einen Trigger zum Abspielen von Songs und dann Pin USB+ um die Musik zu stoppen).

Wie Sie auf dem Bild sehen können, habe ich drei einfache Tasten auf der Prototyping-Platine verwendet, die mit den digitalen Eingängen von Arduino mit Pulldown-Widerständen von 10 kOhm verbunden sind.

Die Verkabelung für Arduino ist im Arduino-Code deutlich zu sehen:)

Schritt 4: Mechanische Teile

Mechanische Teile
Mechanische Teile
Mechanische Teile
Mechanische Teile
Mechanische Teile
Mechanische Teile
Mechanische Teile
Mechanische Teile

Um eine schöne regelmäßige Anzeige zu erstellen, müssen Sie ein Raster verwenden, um die genaue Form für jede LED zu definieren. Ich habe ein einfaches 3D-gedrucktes Raster verwendet, das gut funktioniert - Es besteht aus zwei Teilen, links und rechts, die STL-Daten finden Sie im Anhang.

Die Box wird auf CNC-Maschine aus Milchplexi gefräst. Es liegt ganz bei Ihnen, aus welchem Material Sie machen, nur eine Empfehlung, wenn Sie das ähnliche Material wie ich verwenden, legen Sie eine semipermeable Schicht direkt auf die LEDs, um zu verhindern, dass LEDs als punktförmige Lichtquelle sichtbar sind. Sie können sehen, dass in der Seitenwand Platz für den DC-Stromversorgungsanschluss und USB ist, um bessere Codeideen hochzuladen:) Ich habe Standardkleber für Kunststoffe verwendet, um Plexiteile zusammenzukleben. Im Anhang gibt es STL-Dateien für alle Teile (Danke meinem Freund Peshi für die Gestaltung dieser super coolen Box:))

Schritt 5: Arduino-Teil

Arduino-Teil
Arduino-Teil

Teilweise in Bezug auf Arduino möchte ich nur kurz den Hauptschleifenalgorithmus beschreiben und dann ein paar Worte zur Steuerung der Schieberegister durch SPI und Alarm-Setup.

In der Hauptschleife überprüfen Sie einfach, ob eine Taste gedrückt ist, überprüfen Sie, ob die RTC Ihnen neu aktualisierte Minutenwerte sendet und ob es Zeit ist, einen rosa Floyd-Song zu spielen:) und wenn nicht, schalten Sie die LEDs einfach regelmäßig mit ein und aus Zahlen setzen.

Steuerung der LED-Matrix - Zum besseren Verständnis ist es gut, den Anweisungen für die LED-Matrix zu folgen, die ich anfangs erwähnt habe, aber nur kurz - es ist wichtig zu verstehen, dass Sie, um Zahlen oder Buchstaben in dieser Matrix anzuzeigen, regelmäßig auswählen müssen, welche LED aus dem Set Zeile muss eingeschaltet werden, und schalten Sie dann alle LEDs aus der Zeile für einige Zeit ein. Im nächsten Schritt schalten Sie diese Reihe aus und bereiten die zweite Reihe vor und dies immer wieder. Was bedeutet das? - Verwenden Sie keine Verzögerungen! - sonst zeigt es dir keine Zahlen an sondern blinkt nur:)

Ich benutze ganz andere und ich würde sagen einfachere Möglichkeit, Schieberegister zu steuern (danke an meinen Freund Krystof, der diese glatte Funktion geschrieben hat). Der erste Schritt (das Vorbereiten der Daten für das Schieberegister geschieht in der Funktion DisplayChar, wo Sie einfach das gewünschte Symbol aus dem Array von Konstanten finden und Daten für die Register vorbereiten. Und wenn die Funktion UpdateDisplay aufgerufen wird, werden die Daten zu den Ausgängen verschoben (für weitere Informationen siehe Bildschirm von Arduino IDE)

Alarmeinstellung. Es gibt drei Tasten, links, Mitte und rechts. Wenn Sie rechts und in der Mitte doppelt drücken, gelangen Sie in das Alarmmenü. Im Alarmmenü stehen folgende Funktionen zur Verfügung - linke Taste (Alarm für Stunden einstellen) mittlere Taste (Alarm für Minuten einstellen) Rechte Taste lange drücken (Alarm bestätigen), lange Taste der mittleren und rechten Taste (vorhandenen Alarm löschen).

Wenn der Wecker eingestellt ist (Sie können dies daran erkennen, dass die Wecker-LED unten rechts aufleuchtet) und die Uhr beginnt, Ihr Lieblings-Morgenlied abzuspielen:) stehen folgende Funktionen zur Verfügung - linke Taste (Snooze für weitere 5 Minuten), mittlere Taste (Alarm abbrechen).

Schritt 6: Abschluss des Alarms

Image
Image
Abschlussalarm
Abschlussalarm

Am Ende klebe ich einfach alles innen zusammen:) und schließe den Kleber des hinteren Teils des Alarms. Im angehängten Video sehen Sie den Kontrollmechanismus dieses Alarms. Beachten Sie nur das Video, im Video sieht es so aus, als würde es blinken, es wird durch das Prinzip des Ein- und Ausschaltens von LEDs und der Bildrate der Kameraunterschrift verursacht - in Wirklichkeit sehen Ihre Augen dies als eingeschaltet, ohne zu blinken:)

Für die Zukunft würde ich gerne anderes Material ausprobieren - idealerweise etwas schwarz:) und einige weitere Funktionen hinzufügen, wie das Anzeigen des Datums, vielleicht der Temperatur usw.:)

Ich wünsche Ihnen viel Spaß beim Bauen Ihres eigenen Weckers und freuen uns auf Ihre Ideen:)

Uhrenwettbewerb
Uhrenwettbewerb
Uhrenwettbewerb
Uhrenwettbewerb

Zweiter Preis beim Uhrenwettbewerb

Empfohlen: