Table des matières:

L'horloge pas si merdique : 4 étapes
L'horloge pas si merdique : 4 étapes

Vidéo: L'horloge pas si merdique : 4 étapes

Vidéo: L'horloge pas si merdique : 4 étapes
Vidéo: Dynamique du pendule simple 2024, Novembre
Anonim
L'horloge pas si merdique
L'horloge pas si merdique
L'horloge pas si merdique
L'horloge pas si merdique
L'horloge pas si merdique
L'horloge pas si merdique

Par davidjwattsdavidjwatts.comSuivre plus par l'auteur:

PiBot: Calculer Pi avec un Arduino Uno
PiBot: Calculer Pi avec un Arduino Uno
PiBot: Calculer Pi avec un Arduino Uno
PiBot: Calculer Pi avec un Arduino Uno

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

Étape 1: le PCB et le schéma
Étape 1: le PCB et le schéma
Étape 1: le PCB et le schéma
É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

Étape 2: le code de la merde
É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é: