Table des matières:

La montre binaire ultime : 12 étapes (avec photos)
La montre binaire ultime : 12 étapes (avec photos)

Vidéo: La montre binaire ultime : 12 étapes (avec photos)

Vidéo: La montre binaire ultime : 12 étapes (avec photos)
Vidéo: Pocket Option pour débutant | Comment gagner 12.000$ en 2 minutes 2024, Décembre
Anonim
La montre binaire ultime
La montre binaire ultime
La montre binaire ultime
La montre binaire ultime
La montre binaire ultime
La montre binaire ultime

J'ai récemment découvert le concept des montres binaires et j'ai commencé à faire des recherches pour voir si je pouvais en construire une pour moi-même. Cependant, je n'ai pas pu trouver un design existant qui soit à la fois fonctionnel et élégant. J'ai donc décidé de créer mon propre design à partir de zéro !

Fournitures

Tous les fichiers de ce projet:

Les bibliothèques pour le code Arduino peuvent être téléchargées sur GitHub ici:

Bibliothèque M41T62 RTC

Bibliothèque FastLED

Bibliothèque basse consommation

Étape 1: L'idée

Je suis récemment tombé sur la vidéo suivante:

Montre-bracelet binaire bricolage

La vidéo ci-dessus montre une montre binaire maison de base. Je ne savais pas qu'une telle chose existait, mais après avoir fait quelques recherches supplémentaires sur le sujet des montres binaires, j'ai rapidement réalisé qu'il existait une tonne de modèles différents ! Je voulais en construire un pour moi-même, mais je n'ai pas pu trouver un design qui me plaisait. Les montres binaires que j'ai trouvées manquaient de beaucoup de fonctionnalités et n'avaient pas l'air particulièrement belles. J'ai donc décidé de concevoir le mien entièrement à partir de zéro !

La première étape a été d'établir les critères de ma conception. C'est ce que j'ai trouvé:

  • Interface RVB binaire
  • Affichage de l'heure (avec un chronométrage très précis)
  • Affichage de la date
  • Fonctionnalité chronomètre
  • Fonctionnalité d'alarme
  • Autonomie de la batterie d'au moins 2 semaines
  • Chargement USB
  • Logiciel facilement personnalisable par l'utilisateur
  • Un design épuré et simple

Ces critères sont devenus la base de tout le projet. L'étape suivante consistait à déterminer comment je voulais que la montre fonctionne !

Étape 2: un peu de théorie de la surveillance binaire

Une théorie de la surveillance binaire
Une théorie de la surveillance binaire

Le plan était simple. La montre binaire fonctionnerait comme une montre ordinaire, sauf que l'interface serait binaire, en particulier BCD (Binary Coded Decimal). BCD est un type de codage binaire où chaque chiffre décimal est représenté par un nombre fixe de bits. J'ai besoin de 4 bits pour pouvoir représenter un chiffre de 0 à 9. Et pour une norme

hh: mm

format de l'heure, j'ai besoin de 4 de ces chiffres. Cela signifie que j'ai besoin d'un total de 16 bits qui seront représentés par 16 LED.

Lire l'heure en BCD est assez facile une fois qu'on s'y habitue. La rangée en bas de la montre représente le bit le moins significatif (1) et la rangée en haut est le bit le plus significatif (8). Chaque colonne représente un chiffre dans le

hh: mm

format de l'heure. Si une LED est allumée, vous comptez cette valeur. Si une LED est éteinte, vous l'ignorez.

Pour lire le premier chiffre, additionnez simplement toutes les valeurs correspondantes des LED activées dans la première colonne (la plus à gauche). Faites de même pour les autres chiffres de gauche à droite. Vous avez maintenant lu l'heure en BCD !

Ce principe sera le même pour le reste des fonctions de la montre. L'utilisation de LED RVB aidera à distinguer les différentes fonctions et modes utilisant différentes couleurs. Les couleurs sont choisies par l'utilisateur et peuvent être facilement ajustées à la palette de couleurs qu'il préfère. Cela permet à l'utilisateur de naviguer facilement à travers les fonctions sans se perdre.

L'étape suivante consistait à créer un schéma fonctionnel !

Étape 3: Se rendre au travail

Se rendre au travail
Se rendre au travail

Comme tout projet électronique typique, un schéma fonctionnel est une partie essentielle de la première étape de conception. En utilisant les critères, j'ai réussi à mettre en place le schéma fonctionnel ci-dessus. Chaque bloc du diagramme représente une fonction dans le circuit et les flèches montrent la relation entre les fonctions. Le schéma fonctionnel dans son intégralité donne un bon aperçu de la façon dont le circuit va fonctionner.

L'étape suivante consistait à commencer à prendre des décisions sur les composants individuels pour chaque bloc du diagramme !

Étape 4: Choix des composants

Il s'est avéré qu'il y avait beaucoup de composants dans ce circuit. Ci-dessous, j'ai sélectionné quelques-uns des plus essentiels avec une explication des raisons pour lesquelles je les ai choisis.

Les LED

Pour l'interface binaire, le choix était assez simple. Je savais que je voulais utiliser des LED pour l'affichage et j'ai compris que j'en avais besoin de 16 (dans une grille 4 × 4) pour afficher autant d'informations que possible. Au cours de ma recherche de la LED parfaite, l'APA102 a continué à apparaître. Il s'agit d'une très petite LED adressable (2 mm x 2 mm) avec une large gamme de couleurs et assez peu coûteuse. Même si je n'avais jamais travaillé avec eux auparavant, ils semblaient être parfaitement adaptés à ce projet, j'ai donc décidé de les utiliser.

Le microcontrôleur

Le choix d'un microcontrôleur était également assez simple. J'ai eu beaucoup d'expérience dans l'utilisation de l'Atmega328P-AU dans des applications autonomes et je connaissais très bien ses fonctionnalités. Il s'agit du même microcontrôleur que celui utilisé dans les cartes Arduino Nano. Je suis conscient qu'il existe probablement un microcontrôleur moins cher que j'aurais pu utiliser, mais savoir que l'Atmega328 prendrait pleinement en charge toutes les bibliothèques Arduino a été un facteur important dans son choix pour ce projet.

Le RTC (Horloge Temps Réel)

La principale exigence du RTC était l'exactitude. Je savais que la montre n'aurait aucune connectivité Internet et ne serait donc pas en mesure de se recalibrer via une connexion Internet, l'utilisateur aurait besoin de la recalibrer manuellement. Par conséquent, je voulais que le chronométrage soit aussi précis que possible. Le M41T62 RTC a l'une des précisions les plus élevées que j'ai pu trouver (± 2 ppm, ce qui équivaut à ± 5 secondes par mois). La combinaison de la haute précision avec la compatibilité I2C et la consommation de courant ultra faible ont fait de ce RTC un bon choix pour ce projet.

Convertisseur de suralimentation CC-CC

Le choix du convertisseur DC-DC Boost IC s'est fait simplement en examinant le circuit et en déterminant les tensions et les courants nécessaires. Faire fonctionner le circuit sur une basse tension diminuerait la consommation de courant mais je ne pouvais pas descendre en dessous de 4,5V (la tension minimale du microcontrôleur à une horloge de 16MHz) et je ne pouvais pas aller au-dessus de 4,5V (la tension maximale du RTC). Cela signifiait que je devais faire fonctionner le circuit à précisément 4,5 V afin de faire fonctionner les composants dans les spécifications recommandées. J'ai calculé que le courant maximal du circuit ne dépasserait pas 250mA. J'ai donc commencé à chercher un convertisseur boost qui pourrait répondre aux exigences et je suis rapidement tombé sur le TPS61220. Le TPS61220 nécessitait un minimum de composants externes, était assez bon marché et était capable de satisfaire les exigences de courant et de tension.

La batterie

La principale exigence pour la batterie était la taille. La batterie devait être suffisamment petite pour pouvoir tenir dans le boîtier de la montre sans la rendre encombrante. J'ai pensé que la batterie ne pouvait pas dépasser 20 mm × 35 mm × 10 mm. Avec ces contraintes de taille et l'exigence actuelle de 250mA, mon choix de batteries s'est limité aux batteries LiPo. J'ai trouvé une batterie "Turnigy nano-tech 300mAh 1S" sur Hobbyking que j'ai décidé d'utiliser.

Le CI de charge

Il n'y avait pas d'exigence particulière pour le contrôleur de charge si ce n'est qu'il devait être compatible avec une batterie LiPo 1S. J'ai trouvé le MCP73831T qui est un contrôleur de charge entièrement intégré conçu pour les applications de charge à cellule unique. L'une de ses caractéristiques est la possibilité d'ajuster le courant de charge via une résistance externe que j'ai trouvé plutôt utile dans cette application.

Protection LiPo

Je voulais inclure une surveillance de la tension et du courant pour protéger la batterie de toute condition dangereuse de surcharge et de décharge excessive. Il y avait une quantité limitée de circuits intégrés offrant de telles fonctionnalités et l'une des options les moins chères était le circuit intégré BQ29700. Il nécessitait une quantité minimale de composants externes et incluait toute la protection nécessaire pour une batterie LiPo monocellulaire.

Maintenant que les composants ont été choisis, il était temps de créer le schéma !

Étape 5: Le schéma

Le schéma
Le schéma

À l'aide d'Altium Designer, j'ai pu créer le schéma ci-dessus en utilisant les recommandations de chacune des fiches techniques du composant. Le schéma est divisé en différents blocs pour le rendre plus lisible. J'ai également ajouté quelques notes avec des informations importantes au cas où quelqu'un d'autre voudrait recréer cette conception.

L'étape suivante consistait à tracer le schéma sur un PCB !

Étape 6: disposition du circuit imprimé

Disposition PCB
Disposition PCB
Disposition PCB
Disposition PCB
Disposition PCB
Disposition PCB
Disposition PCB
Disposition PCB

La disposition du PCB s'est avérée être la partie la plus difficile de ce projet. J'ai choisi d'utiliser un PCB à 2 couches pour minimiser les coûts de fabrication des PCB. J'ai choisi d'utiliser une taille de montre standard de 36 mm car cela semblait assez bien s'adapter aux LED. J'ai ajouté des trous de vis de 1 mm pour fixer le PCB dans le boîtier de la montre. L'objectif était de conserver un design épuré et esthétique en plaçant tous les composants (sauf les LED bien sûr) sur la couche inférieure. Je voulais également utiliser le nombre minimal absolu de vias pour éviter d'avoir des vias visibles sur la couche supérieure. Cela signifiait que je devais acheminer toutes les traces sur une seule couche tout en veillant à garder les parties "bruyantes" du circuit à l'écart des traces de signal sensibles. Je me suis également assuré de garder toutes les traces aussi courtes que possible, en plaçant les condensateurs de dérivation près de la charge, en utilisant des traces plus épaisses pour les composants à haute puissance et en suivant toutes les bonnes pratiques courantes de conception de PCB. Le routage a pris un peu de temps, mais je pense que cela s'est très bien passé.

L'étape suivante consistait à créer un modèle 3D pour le boîtier de la montre !

Étape 7: Conception 3D

Conception 3D
Conception 3D
Conception 3D
Conception 3D
Conception 3D
Conception 3D

Le boîtier de la montre a été conçu d'après une conception de montre très conventionnelle et classique utilisant Fusion 360. J'ai utilisé un espacement standard de 18 mm pour le bracelet de montre afin de rendre la montre compatible avec une grande variété d'autres bracelets. La découpe pour le PCB a été conçue 0,4 mm plus grande que le PCB lui-même pour tenir compte de toute imprécision de fabrication. J'ai inclus des tiges de vis pour le montage du PCB et un petit bord pour le PCB. Je me suis assuré d'encastrer le PCB à quelques millimètres du haut pour éviter que les bords tranchants des LED ne se collent sur les vêtements. La hauteur de l'enceinte était uniquement déterminée par l'épaisseur de la batterie. Le reste du boîtier a été conçu pour être simplement beau avec des bords arrondis et des coins polis. Je devais garder le design convivial pour l'impression 3D afin que je puisse l'imprimer en 3D à la maison sans aucun support.

Maintenant que le matériel était terminé, il était temps de commencer à travailler sur le logiciel !

Étape 8: Le code

Le code
Le code

J'ai commencé le code en incluant toutes les bibliothèques nécessaires. Cela inclut la bibliothèque pour communiquer avec le RTC et pour piloter les LED. Après cela, j'ai créé des fonctions distinctes pour chacun des modes. Lorsque l'utilisateur change de mode en appuyant sur un bouton, le programme appelle la fonction correspondant à ce mode. Si l'utilisateur n'appuie pas sur un bouton dans un laps de temps spécifié, la montre se met en veille.

Le mode veille est indiqué par tous les voyants qui s'estompent jusqu'à ce qu'ils soient complètement éteints. L'utilisation du mode veille augmente considérablement la durée de vie de la batterie et maintient les LED éteintes lorsqu'elles ne sont pas utilisées. L'utilisateur peut réveiller la montre en appuyant sur le bouton supérieur. Au réveil, la montre vérifiera le niveau de la batterie pour s'assurer qu'elle n'a pas besoin d'être rechargée. Si une charge est nécessaire, les LED clignoteront plusieurs fois en rouge avant d'afficher l'heure. Si la batterie est en dessous d'un niveau critique, elle ne s'allumera pas du tout.

Le reste du temps, la programmation consistait à rendre les autres modes aussi intuitifs que possible. J'ai pensé qu'avoir le même bouton responsable de la même fonctionnalité dans tous les modes serait le plus intuitif. Après quelques tests, voici la configuration des boutons que j'ai trouvée:

  • Appuyez sur le bouton du haut: réveil / cycle entre les modes « Affichage de l'heure », « Affichage de la date », « Chronomètre » et « Alarme ».
  • Maintien du bouton du haut: entrez dans le mode « Régler l'heure », « Régler la date », « Démarrer le chronomètre » ou « Régler l'alarme ».
  • Appuyez sur le bouton du bas: augmentez la luminosité.
  • Maintien du bouton du bas: entrez dans le mode « Choisir la couleur ».

Le bouton du bas est toujours responsable des réglages de luminosité et de couleur, indépendamment du mode dans lequel vous vous trouvez. Lorsque l'utilisateur entre en mode "Choisir la couleur", les LED commencent à parcourir toutes les couleurs RVB possibles. L'utilisateur peut mettre l'animation en pause et choisir la couleur qu'il préfère pour ce mode spécifique (Afficher l'heure en rouge, Afficher la date en bleu, etc.). Les couleurs sont censées être facilement personnalisables par l'utilisateur pour l'aider à distinguer les différents modes.

Maintenant que le code était terminé, il était temps de le télécharger sur le microcontrôleur !

Étape 9: Programmation

La programmation
La programmation

C'était presque l'heure de la soudure et de l'assemblage mais avant cela, j'avais besoin de programmer le microcontrôleur. j'ai suivi ce tuto

Gravez le bootloader sur un SMD ATmega328P-AU

sur la façon de graver un chargeur de démarrage et de programmer le microcontrôleur en utilisant un Arduino Uno ordinaire comme programmeur.

La première étape consistait à transformer l'Arduino Uno en FAI en téléchargeant l'exemple de code "ArduinoISP". J'ai utilisé une maquette avec une prise de programmation et câblé le schéma du didacticiel. Après cela, j'ai pu graver le chargeur de démarrage sur le microcontrôleur en appuyant simplement sur "Graver le chargeur de démarrage" dans l'IDE Arduino.

Une fois que le microcontrôleur avait un chargeur de démarrage, j'ai simplement retiré le microcontrôleur existant de l'Arduino Uno et utilisé la carte Arduino Uno comme adaptateur USB vers série pour télécharger le code sur le microcontrôleur dans la prise de programmation. Une fois le téléchargement terminé, j'ai pu commencer le processus de soudure.

L'étape suivante consistait à rassembler tous les composants et à les souder ensemble !

Étape 10: Souder

Soudure
Soudure
Soudure
Soudure
Soudure
Soudure
Soudure
Soudure

Le processus de soudure a été divisé en deux parties. Il fallait d'abord souder la couche inférieure, puis la couche supérieure.

J'ai sécurisé le PCB de la montre entre quelques cartes prototypes à l'aide de ruban adhésif. Cela garantit que le PCB ne bouge pas pendant le soudage, ce qui est très important. J'ai ensuite placé le pochoir à souder sur le PCB et utilisé une quantité généreuse de pâte à souder pour couvrir toutes les pastilles de soudure. J'ai commencé à utiliser une fine paire de pincettes pour placer tous les composants sur leurs coussinets correspondants. J'ai ensuite utilisé un pistolet thermique pour souder par refusion tous les composants en place.

Lorsque la couche inférieure a été soudée, je lui ai fait une inspection visuelle rapide pour m'assurer que la soudure était réussie. J'ai ensuite retourné la carte et répété le processus de soudure de l'autre côté, cette fois avec toutes les LED. Il était très important de ne pas surchauffer la carte lors de la soudure de la couche supérieure car tous les composants du bas risquaient de tomber. Heureusement, tous les composants sont restés en place et après avoir soudé les boutons en place à l'aide d'un fer à souder ordinaire, le PCB était terminé !

Il était maintenant temps pour l'assemblage final!

Étape 11: Assemblage

Assemblée
Assemblée

Le montage était très simple. J'ai connecté la batterie au PCB et placé la batterie et le PCB à l'intérieur du boîtier imprimé en 3D. J'ai commencé à visser les quatre vis dans les trous de montage dans chaque coin du PCB. Après cela, j'ai attaché les bracelets de la montre à l'aide des barres à ressort de 18 mm et la montre était terminée !

Étape 12: Conclusion et améliorations

Conclusion et améliorations
Conclusion et améliorations
Conclusion et améliorations
Conclusion et améliorations

La montre fonctionne comme prévu et je suis très satisfait du résultat. Je n'ai eu aucun problème avec lui jusqu'à présent et la batterie reste presque complètement chargée après une semaine d'utilisation.

Je pourrais ajouter d'autres fonctionnalités à la montre à l'avenir. Le port USB étant connecté au microcontrôleur, le firmware peut être mis à jour à tout moment avec de nouvelles fonctionnalités. Pour l'instant, je vais continuer à utiliser cette version de la montre et voir comment elle tient après une utilisation prolongée.

Si vous avez des idées, des commentaires ou des questions sur ce projet, veuillez les laisser ci-dessous. Vous pouvez également les envoyer à [email protected].

Concours d'horloges
Concours d'horloges
Concours d'horloges
Concours d'horloges

Premier prix du concours d'horloges

Conseillé: