Inhaltsverzeichnis:

Dreamday Box für die besondere Person in Ihrem Leben – Gunook
Dreamday Box für die besondere Person in Ihrem Leben – Gunook

Video: Dreamday Box für die besondere Person in Ihrem Leben – Gunook

Video: Dreamday Box für die besondere Person in Ihrem Leben – Gunook
Video: Besondere Kartenform Pop up Box Karte mit stampin up Daffodil daydream 2024, November
Anonim
Dreamday Box für die besondere Person in Ihrem Leben
Dreamday Box für die besondere Person in Ihrem Leben
Dreamday Box für die besondere Person in Ihrem Leben
Dreamday Box für die besondere Person in Ihrem Leben
Dreamday Box für die besondere Person in Ihrem Leben
Dreamday Box für die besondere Person in Ihrem Leben

Dieses Kästchen zeigt die Anzahl der Tage, an denen mein Liebster und ich unser Leben zusammen leben. Natürlich kann das Datum für Sie alles sein, es könnte die Tage seit Ihrer Heirat anzeigen, seit dem Tag, an dem Sie und Ihr Ehepartner sich kennengelernt haben, den Tag, an dem Sie zusammengezogen sind oder alles andere, was Ihnen wichtig ist.

Die 8x8-Pixel-Matrix kann jedes beliebige Symbol darstellen, es ist ganz einfach, den Code für Ihr gewünschtes Bild zu ändern. Ich habe mich für dieses funkelnde Herz entschieden, um die Liebe und Zuneigung zu symbolisieren, die wir uns im Alltag schenken. (Außerdem wollte ich das Projekt irgendwie vor dem Valentinstag fertigstellen, aber das SARS-CoV-2 hat es etwas verzögert)

Die Stromversorgung erfolgt über eine über USB aufladbare 18650 LiIon-Zelle, die etwa 24 Stunden bei konstanter Anzeige des 7-Segments und der 8x8-Matrix halten sollte, aber bedenken Sie, dass sie nicht leuchten, wenn die Box geschlossen ist. Die realistische Batterielebensdauer wird also Jahre betragen. Die Echtzeituhr (RTC) speichert die Zeit, mit der die vergangenen Tage berechnet werden. Es verfügt über eine eigene Backup-Batterie (CR2032), die etwa 8 Jahre hält.

Die Basis ist eine kundenspezifische Leiterplatte. Ich habe es von JLCPCB produzieren lassen. Die Gerber-Dateien finden Sie im GitHub-Repository. Sie können sie zu jedem PCB-Hersteller hochladen, es ist ein universelles Dateiformat. Oder Sie können mir natürlich eine E-Mail schreiben, ich habe noch etwas übrig, das ich gerne verschicken kann, nur für die Versandkosten.

Ebenfalls enthalten ist eine BOM-Datei (Stückliste), in der Sie jedes einzelne für das Projekt benötigte Elektronikteil finden.

Die Gesamtkosten ohne Holzkiste oder Fotoabzüge betragen je nach PCB-Kosten etwa 30 $.

Lieferungen

Werkzeuge:

  • Lötkolben
  • Arduino ISP-Dongle (siehe meine anderen Instructables, wie man einen macht)
  • PC oder Mac zum Programmieren
  • Custom PCB (Gerber sind im Lieferumfang enthalten, oder fragen Sie mich, ich habe etwas Ersatz)
  • Elektronikteile (siehe Stückliste)
  • Box von irgendeiner Art (oder machen Sie Ihre eigene)

Schritt 1: Bestellung Ihrer Leiterplatte

Bestellung Ihrer Leiterplatte
Bestellung Ihrer Leiterplatte

Gehen Sie zu JLCPCB und laden Sie die gerber.zip aus dem GitHub-Repository hoch. Sie können auch Ihre gewünschte PCB-Farbe auswählen.

Sie können mir auch eine E-Mail schreiben, vielleicht habe ich noch einige Platinen übrig, die ich Ihnen gegen die Versandkosten zusenden möchte.

Schritt 2: Bestellung der Teile

Die Stücklistendatei enthält alle Elektronikteile, die Sie zum Bestücken der Leiterplatte benötigen.

Ich habe die Teile bei LCSC und Digi-Key bestellt. Aber die meisten Sachen sind bei jedem Elektroniklieferanten zu finden. Wenn Sie Schwierigkeiten haben, etwas zu finden oder sich nicht sicher sind, ob es das richtige Teil ist, senden Sie mir eine E-Mail.

Schritt 3: Minimale Montage (zum Brennen des Bootloaders)

Minimal Assembly (zum Brennen des Bootloaders)
Minimal Assembly (zum Brennen des Bootloaders)

Um den Bootloader erfolgreich zu brennen (erklärt im nächsten Schritt), sollten einige Teile nicht auf die Platine gelötet werden. Die wesentlichen Teile sind der ATmega32u4 (offensichtlich…), der Quarz und seine zwei Lastkondensatoren, der sechspolige Header und die drei Kondensatoren für den ATmega32u4.

Wichtig ist, dass Sie die 0Ohm-Widerstände/Jumper an der seriellen Verbindung nicht anlöten.

Schritt 4: Brennen des Bootloaders

Brennen des Bootloaders
Brennen des Bootloaders

Bevor Sie mit der Arduino IDE ein Programm auf den ATmega32u4 hochladen können, muss dieser einen Bootloader eingebrannt haben. Normale Arduinos haben dies bereits mit ihnen gemacht, aber da wir hier mit einem nackten Chip arbeiten, müssen wir das selbst tun. Aber keine Sorge, es ist wirklich nicht schwer.

Verbinden Sie Ihren Arduino ISP mit dem sechspoligen Header auf der Platine, achten Sie auf die richtige Polarität.

Wenn Sie keinen Arduino ISP haben, überprüfen Sie dieses Instructable von mir. Eine kann innerhalb von 10 Minuten gebaut werden.

Überprüfen Sie die folgenden Einstellungen in der Arduino-IDE:

  • Werkzeuge -> Board: Arduino Leonardo
  • Tools -> Port: [Wählen Sie den COM-Port des Programmiergeräts]
  • Tools -> Programmierer: Arduino als ISP

Den COM-Port finden Sie im Windows Gerätemanager.

Klicken Sie abschließend auf Extras -> Bootloader brennen

Schritt 5: Leiterplattenmontage

Leiterplattenbestückung
Leiterplattenbestückung
Leiterplattenbestückung
Leiterplattenbestückung

Nachdem der Bootloader erfolgreich gebrannt wurde, können Sie alle restlichen Teile auf der Platine platzieren. Ich finde es praktisch, mit den kleinsten Teilen wie Widerständen und Kondensatoren zu beginnen, dann die ICs und am Ende der Zellenbatteriehalter, die 7-Segment-Anzeige und die 8x8-Pixel-Matrix.

Löten Sie die beiden 90°-Stiftleisten auf der Rückseite, um den Akku und das Schalterkabel zu verstecken. Für den Akku habe ich einen 3-Pin-Header verwendet, damit er später nicht falsch herum angeschlossen werden kann.

Schritt 6: Bibliotheken installieren

Um die in dieser Anleitung bereitgestellten Programme hochzuladen, müssen Sie die folgenden Abhängigkeiten installieren:

  • RTClib
  • DS3231

Laden Sie die.zip-Dateien herunter und importieren Sie sie über die Arduino IDE über:

Skizze -> Bibliothek einschließen ->. ZIP-Bibliothek hinzufügen

Wenn die Download-Links aus irgendeinem Grund nicht funktionieren, befinden sich Kopien der Bibliotheken in DIESEM GitHub-Verzeichnis. Ziehen Sie sie einfach in Ihren Arduino-Bibliotheksordner.

Möglicherweise müssen Sie die Arduino IDE danach neu starten.

Schritt 7: Stellen Sie die Zeit auf Ihrer RTC (Echtzeituhr) ein

Überprüfen Sie meinen GitHub auf die neuesten Versionen/Updates des Projekts!

Der integrierte Schaltkreis DS3231 auf Ihrem PCB speichert die aktuelle Zeit, die benötigt wird, um die vergangenen Tage zu berechnen. Um dies zu erreichen, müssen Sie ihm jedoch zuerst die aktuelle Uhrzeit/das aktuelle Datum mitteilen. Dies geschieht durch das Hochladen der RTC_set.ino-Skizze.

Stellen Sie vor dem Hochladen sicher, dass Ihre Einstellungen wie folgt sind:

  • Werkzeuge -> Board: Arduino Leonardo
  • Tools -> Port: [Port des Arduino Leonardo auswählen, nicht den ISP aus dem Bootloader-Schritt]
  • Tools -> Programmierer: AVR ISP oder AVRISP mkII

Drücken Sie den Upload-Button und warten Sie, bis es fertig ist.

Schritt 8: Programmcode ändern

Überprüfen Sie meinen GitHub auf die neuesten Versionen/Updates des Projekts!

Jetzt können wir mit der Modifikation des Hauptprogramms beginnen. Öffnen Sie das main.ino-Projekt mit der Arduino-IDE. Es gibt mehrere Zeilen im Code, in denen Sie einige Werte ändern können/müssen. Ich werde keine Zeilennummern erwähnen, da sie sich irgendwann ändern können, aber ich versuche, sie so einfach wie möglich zu finden.

Legen Sie Ihr besonderes Datum fest:

Sie müssen den Unix-Zeitstempel von Ihrem Datum abrufen. Gehen Sie auf diese Website und geben Sie Ihr Datum ein: www.unixtimestamp.com

Dadurch erhalten Sie eine 10-stellige Dezimalzahl. Kopieren Sie diese Zahl in die Zeile im Code mit der Aufschrift "const long special_date =" und ersetzen Sie die Nummer dort. Diese Zahl ist die Anzahl der Sekunden seit dem 1. Januar 1970, auch als Unix-Zeit bekannt.

Stellen Sie Ihr 8x8-Piktogramm ein:

Sie können das Bild auf der LED-Matrix ändern, indem Sie die Werte in "const unsigned int matrix_heart_big[8]" ändern. Diese 8 0x[XX]-Werte repräsentieren die vertikalen Linien auf dem Display von links nach rechts. Wenn Sie nicht wissen, was die Werte bedeuten, versuchen Sie 0x00, 0x01, 0x02, 0x04 und sehen Sie, was passiert, oder lesen Sie die hexadezimale Schreibweise. (Oder schreib mir eine E-Mail)

Schritt 9: Hochladen Ihres Programms

Nachdem Sie alle erforderlichen Änderungen am Code vorgenommen haben, stellen Sie sicher, dass die folgenden Einstellungen in Ihrer Arduino IDE gewählt sind:

  • Werkzeuge -> Board: Arduino Leonardo
  • Tools -> Port: [Port des Arduino Leonardo auswählen, nicht den ISP aus dem Bootloader-Schritt]
  • Tools -> Programmierer: AVR ISP oder AVRISP mkII

Drücken Sie den Upload-Button und warten Sie, bis es fertig ist.

Schritt 10: Vorbereiten der Box

Vorbereitung der Box
Vorbereitung der Box

Um die Platine in der Box zu stützen und vor dem Herunterfallen zu bewahren, habe ich einige 8x10mm Holzleisten abgeschnitten und festgeklebt.

Ich schlage vor, das Holz mit einer Art Lack zu behandeln, damit es lange schön bleibt. Vielleicht könnte man sogar etwas auf die Spitze lasern, ich denke an eine Skyline des Ortes, den Sie kennengelernt haben, oder Ihre Namen.

Um den Schalter zu betätigen, der bei geschlossener Box die Batterie abschaltet, habe ich ein kleines Stück Holz in die Ecke des Deckels geklebt. Sie müssen nicht auf diesen Mechanismus eingehen, es gibt unzählige Möglichkeiten, dies zu tun, und ich bin sicher, Sie können sich etwas viel Schöneres einfallen lassen.

Ich habe auch klebrige Hock-n'-Loop-Streifen verwendet, um den Batteriehalter an der Unterseite zu sichern.

Schritt 11: Endmontage

Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage

Alles, was Sie noch tun müssen, ist, alles zusammenzustecken, die Platine in die Schachtel zu legen und vielleicht ein Foto zuzuschneiden und in den Deckel zu legen.

Ich hoffe, Ihr Lebensgefährte findet Freude an dieser kleinen Nachdenklichkeit.

Herzwettbewerb
Herzwettbewerb
Herzwettbewerb
Herzwettbewerb

Zweiter im Herzwettbewerb

Empfohlen: