Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
J'adore les horloges ! Je cherchais un instructable pour une horloge affichant des chiffres romains à l'écran. Quand je n'en ai pas obtenu sur la base arduino, j'ai décidé d'en construire un moi-même. Couplé à un écran TFT couleur, je me demandais quoi d'autre peut être affiché et alto ! les pensées de divers systèmes de nombres étudiés à l'époque de mon baccalauréat en ingénierie (il y a plus de 2 décennies !) se sont précipitées: binaire, numérique, octal et hexadécimal, etc.
Cela m'a permis de démarrer et après beaucoup de planification et de codage, voici la mise en œuvre t!
Particularités de cette horloge:
Affichage multimodal où vous pouvez afficher l'heure dans 5 systèmes de nombres différents sur un seul écran ou chaque format de nombre affiché dans des écrans séparés sélectionnés par un bouton-poussoir
L'orientation du cadran de l'horloge peut être sur 4 côtés et les données affichées peuvent être alignées sur l'orientation à l'aide d'un bouton-poussoir. Plus tard, j'ai l'intention d'utiliser un capteur gyroscopique/d'accélération pour orienter l'affichage en fonction du côté où il est allumé
Modes disponibles
Numérique
romain
Hexadécimal (Base 16)
Octal (Base 8)
Binaire (Base 2)
Pour quelqu'un qui découvre ces systèmes de numérotation, voici les liens du format netBinary:
Format octal:
Format hexadécimal:
Format romain:
Étape 1: Pièces requises:
Éléments nécessaires:
- Arduino UNO/Nano ou équivalent
- Écran TFT: 1,44 pouces 128*128 SPI écran basé sur IL9163 (commandé depuis longtemps via aliexpress) (RED PCB)
- Module DS 3231 RTC
- Interrupteurs à bouton-poussoir 2
- Planche à pain, PCB, fils de connexion
- Facultatif: fer à souder, fils de connexion à usage général et un boîtier approprié (je n'ai pas encore décidé un pour cette horloge)
Étape 2: Assembler le circuit
Utilisez ces connexions entre le RTC et l'Arduino. Reportez-vous à l'image schématique rédigée à la main pour référence.
-
DS3231 ---- Arduino
- SDAA4
- SCLA5
- Vcc 5V (depuis Arduino)
- GNDGND (depuis Arduino)
-
Arduino ---- écran TFT
- 9A0
- 10CS
- 11SDA
- 13SCK
-
Connexions Arduino
- Vcc-5v
- GND-GND
- 2GND via bouton poussoir (bouton de changement de mode d'affichage-Bin/Hex/Dec/All)
- 3GND via bouton poussoir (bouton de changement d'orientation d'affichage)
-
Afficher les connexions
- VCC3.3V (depuis Arduino)
- GND-GND
- RÉINITIALISATION3.3V
- LED5V (de Arduino)
Étape 3: Téléchargez le code
Utilisez le fichier.ino ci-joint pour l'intégralité du code avec des commentaires qui s'expliquent d'eux-mêmes !
Étape 4: Profitez de votre création et planifiez de futures améliorations
Vous avez une belle horloge geek sur votre bureau et il y a beaucoup de place pour de nouvelles idées
- Modifiez l'affichage ou actualisez uniquement des parties spécifiques de l'écran pour accélérer l'actualisation de l'affichage (cette implémentation actuelle manque parfois d'afficher une seconde en raison de l'actualisation de l'ensemble de l'écran)
- Ajoutez une carte gyroscope/accéléromètre et le code associé pour ajuster la rotation de l'affichage en fonction de l'orientation du boîtier
- Laissez courir votre imagination…
Enfin, si vous aimez mon horloge, votez pour elle dans le concours d'horloges en cours