Table des matières:
- Étape 1: Étape 1: le PCB et le schéma
- Étape 2: Étape 2: le code de la merde
- Étape 3: Étape 3: l'affaire de la merde
Vidéo: L'horloge pas si merdique : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Par davidjwattsdavidjwatts.comSuivre plus par l'auteur:
D'abord, pourquoi l'appeler la Crap Clock ? Eh bien, cela réduit les attentes dans l'espoir de les dépasser:-) Je plaisante bien sûr, l'horloge représente autant de mes échecs que de mes succès. La représentation physique de l'outsider en électronique.
Deuxièmement, ce n'est pas vraiment une façon de faire de la «chose» davantage une réflexion sur les choix de conception et tous les matériaux dont vous avez besoin pour construire le vôtre.
La Crap Clock est une horloge fonctionnant à partir d'un ATMEGA328 qui pilote 82 LED via un 74HC595 pilotant les lignes et un TLC5940 faisant passer le courant à travers les colonnes. Comme DS3231 garde l'heure et peut être maintenu en marche avec les bornes d'entrée de la batterie. L'horloge dispose de plusieurs « modes » pour afficher l'heure, la date, l'année, la température, puis des modes pour régler l'heure et la date avec les deux boutons. Les LED peuvent être atténuées avec le TLC5940 et l'affichage des secondes (LED roses ci-dessus) peut être utilisé pour afficher une lettre contextuelle à côté du mode dans lequel se trouve l'horloge.
Il y a quelques fonctionnalités que je n'ai pas utilisées ou que j'ai retirées du PCB comme la charge de la batterie Li-ion, je l'ai fait dans cette version pour réduire le coût des pièces et parce que le DS3231 ne consomme vraiment qu'une petite quantité de courant. Il y a encore des broches pour la broche INT/SQW d'alarme DS3231 intégrée et une broche de buzzer de l'ATMEGA. La broche 10 est répartie pour une utilisation générale et une broche analogique est également disponible pour une fonctionnalité telle qu'un LDR afin de modifier la luminosité en fonction de la lumière ambiante.
J'ai créé une liste de lecture de toutes les vidéos où je me souviens avoir parlé ou conçu la Crap Clock.
Étape 1: Étape 1: le PCB et le schéma
La mise en page et le schéma du PCB ont été conçus dans Eagle, cela a pris beaucoup de temps;-) mais c'était aussi très amusant et m'a vraiment beaucoup appris sur la conception. Ne vous inquiétez pas, il y a encore beaucoup d'erreurs si tous les autres projets que j'ai réalisés, y compris tous ceux que je ne connais pas dans celui-ci.
Je voulais que l'horloge ait un affichage matriciel et que tout existe sur une seule carte, alors j'ai commencé à créer une carte ronde pour émuler une horloge analogique. Oui…. cela ne collait pas, c'était une forme terrible à contourner et exigeait des millions (peut-être des centaines) de LED. Ensuite, j'ai décidé de créer un affichage de style matriciel en utilisant les LED, tous pilotés à l'origine avec des registres à décalage (le vénérable 74HC595), mais j'ai finalement décidé que le pilote de LED TLC5940 familier serait génial pour absorber le courant de ces LED et donner l'impressionnant caractéristique de la gradation PWM.
Voici la nomenclature:
1 x 16 MHz cristal SM49
82 x 0603 LED (à peu près toutes les couleurs que vous aimez)
1 x Mini USB Type B (pas nécessaire, c'est juste pour l'alimentation qui est de toute façon répartie sur les broches)
7 condensateurs 100nf 0805
9 résistances 10k 0805
2 condensateurs 10uf 0805 (pas vraiment nécessaire pour être honnête et les 0805 sont chers)
5 résistances 1k 0805
1 résistances 2k 0805
5 x 2n3906 SOT23
2 résistances 22pf 1206
16 résistances 470 ohm 0805
1x74HC595D SO16
1 x ATMEGA328P-AU
1 x DS3231 SO16W
2 x interrupteur tactile SMD DTSM-3
1 x TLC5940PWP
Étape 2: Étape 2: le code de la merde
Le code était un peu un cauchemar, il s'est avéré que coder une horloge avec un affichage matriciel homebrew n'est pas si facile même lorsque vous utilisez quelques bibliothèques.
Ce n'est pas du bon code bien sûr, c'est du code de merde. Mais ça marche et c'est facile à modifier, je n'ai aucune idée de comment faire une bibliothèque donc c'est un peu une épave de train. Ha ha, mais honnêtement, je travaille pour améliorer mon code et apprendre à créer mes propres bibliothèques.
Il a été écrit dans l'IDE Arduino et utilise certaines bibliothèques (Shifter.h, MD_DS3231.h et Tlc5940.h) créées par des personnes beaucoup plus intelligentes que moi. Vous devrez le télécharger avec un programmeur, j'ai utilisé un Arduino comme FAI et branché à la réinitialisation, 11, 12, 13 broches sur la carte.
Les boutons:
Il y a deux boutons, ils ont plusieurs fonctions selon le mode dans lequel se trouve l'horloge. Vous pouvez les utiliser pour changer le mode d'affichage en avant et en arrière, via l'heure, la date, l'année, la température, puis pour régler l'heure.
Étape 3: Étape 3: l'affaire de la merde
"load="lazy" puis-je dire, c'est un peu de la merde mais j'en suis un peu amoureux. La nouvelle version de la conception du PCB n'a pas ces fils attrayants;-) Les finis que j'ai sont basés sur mes planches prototypes.
N'hésitez pas à le déchirer, à le remixer et à utiliser toutes les pièces que vous jugez utiles. J'ai été beaucoup aidé par des personnes de la communauté YouTube pendant toute la durée de ce projet, donc c'est à tout le monde à la fin.
Conseillé:
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : 6 étapes
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : Dans ce rapide Instructable, nous allons faire un simple contrôleur de moteur pas à pas à l'aide d'un moteur pas à pas. Ce projet ne nécessite aucun circuit complexe ni microcontrôleur. Alors sans plus tarder, commençons
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : 9 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : Dans l'un de mes précédents Instructables, je vous ai montré comment contrôler un moteur pas à pas à l'aide d'un moteur pas à pas sans microcontrôleur. C'était un projet rapide et amusant, mais il est venu avec deux problèmes qui seront résolus dans ce Instructable. Alors, esprit
Locomotive modèle commandée par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Locomotive modèle commandée par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Dans l'un des précédents Instructables, nous avons appris à utiliser un moteur pas à pas comme encodeur rotatif. Dans ce projet, nous allons maintenant utiliser cet encodeur rotatif à moteur pas à pas pour contrôler un modèle de locomotive à l'aide d'un microcontrôleur Arduino. Alors, sans fu
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y
ESP8266 Horloge réseau sans RTC - Nodemcu NTP Horloge Pas de RTC - PROJET HORLOGE INTERNET : 4 étapes
ESP8266 Horloge réseau sans RTC | Nodemcu NTP Horloge Pas de RTC | PROJET D'HORLOGE INTERNET: Dans le projet, un projet d'horloge sans RTC prendra du temps sur Internet en utilisant le wifi et l'affichera sur l'écran st7735