Table des matières:

Dreamday Box pour la personne spéciale de votre vie : 11 étapes (avec photos)
Dreamday Box pour la personne spéciale de votre vie : 11 étapes (avec photos)

Vidéo: Dreamday Box pour la personne spéciale de votre vie : 11 étapes (avec photos)

Vidéo: Dreamday Box pour la personne spéciale de votre vie : 11 étapes (avec photos)
Vidéo: Paul Rodriguez | Don't Quit Your Day Dream | Fender 2024, Novembre
Anonim
Dreamday Box pour la personne spéciale dans votre vie
Dreamday Box pour la personne spéciale dans votre vie
Dreamday Box pour la personne spéciale dans votre vie
Dreamday Box pour la personne spéciale dans votre vie
Dreamday Box pour la personne spéciale dans votre vie
Dreamday Box pour la personne spéciale dans votre vie

Cette petite boîte indique le nombre de jours que mon bien-aimé et moi vivons ensemble. Bien sûr, pour vous, la date peut être n'importe quoi, elle peut indiquer les jours depuis votre mariage, depuis le jour où vous et votre conjoint vous êtes rencontrés, le jour où vous avez emménagé ensemble ou toute autre chose qui compte beaucoup pour vous.

La matrice de 8x8 pixels peut afficher n'importe quel symbole, il est assez simple de modifier le code de l'image souhaitée. J'ai opté pour ce cœur pétillant pour symboliser l'amour et l'affection que nous nous donnons au quotidien. (De plus, j'ai un peu voulu terminer le projet avant la Saint-Valentin, mais le SARS-CoV-2 l'a un peu retardé)

L'alimentation est fournie par une cellule LiIon 18650 rechargeable par USB, qui devrait durer environ 24h d'affichage constant de la matrice 7 segments et de la matrice 8x8, mais gardez à l'esprit qu'elles ne brillent pas si la boîte est fermée. La durée de vie réaliste de la batterie sera donc de plusieurs années. L'horloge temps réel (RTC) conserve l'heure utilisée pour calculer les jours écoulés. Il possède sa propre pile de sauvegarde (CR2032) qui durera environ 8 ans.

La base est une carte de circuit imprimé personnalisée. Je l'ai fait produire par JLCPCB. Les fichiers Gerber se trouvent dans le référentiel GitHub. Vous pouvez les télécharger sur n'importe quel fabricant de PCB, c'est un format de fichier universel. Ou bien sûr, vous pouvez m'écrire un e-mail, j'ai des pièces de rechange que je suis prêt à envoyer, juste pour les frais d'expédition.

Un fichier BOM (nomenclature) est également inclus dans lequel vous trouverez chaque pièce électronique nécessaire au projet.

Le coût total sans la boîte en bois ou les tirages photo sera d'environ 30$, selon le coût du PCB.

Fournitures

Outils:

  • Fer à souder
  • Dongle Arduino ISP (voir mes autres Instructables sur la façon d'en faire un)
  • PC ou Mac à programmer
  • PCB personnalisé (les Gerber sont inclus, ou demandez-moi, j'en ai de rechange)
  • Pièces électroniques (voir fichier BOM)
  • Boîte quelconque (ou créez la vôtre)

Étape 1: Commande de votre PCB

Commander votre PCB
Commander votre PCB

Accédez à JLCPCB et téléchargez le gerber.zip à partir du référentiel GitHub, vous pouvez également choisir la couleur de PCB souhaitée.

Vous pouvez également m'écrire un e-mail, j'ai peut-être des PCB de rechange que je suis prêt à vous envoyer pour les frais d'expédition.

Étape 2: Commande des pièces

Le fichier BOM contient toutes les pièces électroniques dont vous aurez besoin pour remplir le PCB.

J'ai commandé les pièces chez LCSC et digi-key. Mais la plupart des choses peuvent être trouvées sur n'importe quel fournisseur d'électronique. Si vous avez du mal à trouver quelque chose ou n'êtes pas sûr que ce soit la bonne pièce, envoyez-moi un e-mail.

Étape 3: Assemblage minimal (pour graver le bootloader)

Assemblage minimal (pour graver le bootloader)
Assemblage minimal (pour graver le bootloader)

Afin de réussir à graver le Bootloader (expliqué à l'étape suivante), certaines pièces ne doivent pas être soudées au PCB. Les pièces essentielles sont l'ATmega32u4 (évidemment…), le cristal et ses deux condensateurs de charge, l'embase à six broches, et les trois condensateurs pour l'ATmega32u4.

Il est important de ne pas souder les résistances/cavaliers 0Ohm sur la connexion série.

Étape 4: Graver le Bootloader

Graver le bootloader
Graver le bootloader

Avant de pouvoir télécharger un programme sur l'ATmega32u4 avec l'IDE Arduino, un chargeur de démarrage doit être gravé. Les Arduinos normaux l'ont déjà fait, mais comme nous travaillons ici avec une puce nue, nous devons le faire nous-mêmes. Mais ne vous inquiétez pas, ce n'est vraiment pas difficile du tout.

Connectez votre Arduino ISP à l'en-tête à six broches du PCB, assurez-vous d'avoir la bonne polarité.

Si vous n'avez pas de fournisseur d'accès Internet Arduino, consultez cet Instructable. L'un peut être construit en 10 minutes.

Vérifiez les paramètres suivants dans l'IDE Arduino:

  • Outils -> Carte: Arduino Leonardo
  • Outils -> Port: [Sélectionnez le port COM du programmeur]
  • Outils -> Programmeur: Arduino en tant que FAI

Vous pouvez trouver le port COM dans le gestionnaire de périphériques Windows.

Enfin, cliquez sur Outils -> Graver Bootloader

Étape 5: Assemblage du PCB

Assemblage de PCB
Assemblage de PCB
Assemblage de PCB
Assemblage de PCB

Une fois le Bootloader gravé avec succès, vous pouvez placer toutes les pièces restantes sur le PCB. Je trouve pratique de commencer par les plus petites pièces comme les résistances et les condensateurs, puis les circuits intégrés et à la fin le support de batterie, l'affichage à 7 segments et la matrice de 8x8 pixels.

Soudez les deux en-têtes à 90 ° à l'arrière pour cacher la batterie et le câble de l'interrupteur. J'ai utilisé un en-tête à 3 broches pour la batterie, de cette façon, il ne peut pas être connecté dans le mauvais sens plus tard.

Étape 6: Installation des bibliothèques

Afin de télécharger les programmes fournis dans cette instructable, vous devez installer les dépendances suivantes:

  • RTClib
  • DS3231

Téléchargez les fichiers.zip et importez-les via l'IDE Arduino via:

Esquisse -> Inclure la bibliothèque -> Ajouter la bibliothèque. ZIP

Si, pour une raison quelconque, les liens de téléchargement ne fonctionnent pas, des copies des bibliothèques se trouvent dans CE répertoire GitHub. Faites-les simplement glisser dans votre dossier de bibliothèques Arduino.

Vous devrez peut-être redémarrer l'IDE Arduino après cela.

Étape 7: Réglez l'heure sur votre RTC (horloge en temps réel)

Consultez mon GitHub pour la dernière version/mises à jour du projet !

Le circuit intégré DS3231 sur votre PCB garde l'heure actuelle nécessaire pour calculer les jours passés. Mais pour y parvenir, vous devez d'abord lui indiquer l'heure/la date actuelle. Cela se fait en téléchargeant le croquis RTC_set.ino.

Assurez-vous que vos paramètres sont les suivants avant de télécharger:

  • Outils -> Carte: Arduino Leonardo
  • Outils -> Port: [Sélectionnez le port de l'Arduino Leonardo, pas le FAI à partir de l'étape Bootloader]
  • Outils -> Programmeur: AVR ISP ou AVRISP mkII

Appuyez sur le bouton de téléchargement et attendez que ce soit fait.

Étape 8: Modification du code du programme

Consultez mon GitHub pour la dernière version/mises à jour du projet !

Nous pouvons maintenant commencer à modifier le programme principal. Ouvrez le projet main.ino avec l'IDE Arduino. Il y a plusieurs lignes dans le code où vous pouvez/devez modifier certaines valeurs à votre convenance. Je ne mentionnerai aucun numéro de ligne, car ils pourraient changer un jour, mais j'essaie de le rendre aussi facile à trouver que possible.

Fixez votre date spéciale:

Vous devez obtenir l'horodatage Unix de votre date. Allez sur ce site et entrez votre date: www.unixtimestamp.com

Cela vous donnera un nombre décimal à 10 chiffres. Copiez ce numéro sur la ligne du code qui dit " const long special_date = " et remplacez le numéro ici. Ce nombre est le nombre de secondes depuis le 1er janvier 1970, également connu sous le nom de temps Unix.

Paramétrez votre pictogramme 8x8:

Vous pouvez changer l'image sur la matrice LED en modifiant les valeurs dans "const unsigned int matrix_heart_big[8]". Ces 8 valeurs 0x[XX] représentent les lignes verticales sur l'affichage de gauche à droite. Si vous ne savez pas ce que signifient les valeurs, essayez 0x00, 0x01, 0x02, 0x04 et voyez ce qui se passe, ou lisez la notation hexadécimale. (Ou écrivez-moi un e-mail)

Étape 9: Téléchargement de votre programme

Une fois que vous avez apporté toutes les modifications au code dont vous avez besoin, assurez-vous que les paramètres suivants sont définis dans votre IDE Arduino:

  • Outils -> Carte: Arduino Leonardo
  • Outils -> Port: [Sélectionnez le port de l'Arduino Leonardo, pas le FAI à partir de l'étape Bootloader]
  • Outils -> Programmeur: AVR ISP ou AVRISP mkII

Appuyez sur le bouton de téléchargement et attendez que ce soit fait.

Étape 10: Préparation de la boîte

Préparation de la boîte
Préparation de la boîte

Pour soutenir le PCB dans la boîte et l'empêcher de tomber, j'ai coupé des bandes de bois de 8x10 mm et les ai collées en place.

Je suggère de traiter le bois avec une sorte de laque pour qu'il reste beau longtemps. Peut-être qu'on pourrait même laser quelque chose sur le dessus, je pense à une ligne d'horizon de l'endroit que vous avez rencontré ou de vos noms.

Pour actionner l'interrupteur qui déconnecte la batterie lorsque la box est fermée, j'ai collé un petit morceau de bois dans le coin du couvercle. Pas besoin d'entrer dans les détails de ce mécanisme, il existe d'innombrables façons de le faire et je suis sûr que vous pouvez trouver quelque chose de bien plus soigné.

J'ai également utilisé des bandes collantes pour jarretelles et boucles pour fixer le support de batterie en bas.

Étape 11: Assemblage final

L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final

Tout ce qu'il reste à faire est de tout brancher ensemble, de placer le PCB dans la boîte et peut-être de couper une photo à la taille et de la placer dans le couvercle.

J'espère que votre moitié trouvera de la joie dans cette petite attention.

Concours de coeur
Concours de coeur
Concours de coeur
Concours de coeur

Finaliste du concours de cœur

Conseillé: