Table des matières:

Horloge de bureau binaire : 9 étapes (avec photos)
Horloge de bureau binaire : 9 étapes (avec photos)

Vidéo: Horloge de bureau binaire : 9 étapes (avec photos)

Vidéo: Horloge de bureau binaire : 9 étapes (avec photos)
Vidéo: Expériences à réaliser en famille 2024, Novembre
Anonim
Horloge de bureau binaire
Horloge de bureau binaire
Horloge de bureau binaire
Horloge de bureau binaire
Horloge de bureau binaire
Horloge de bureau binaire

Les horloges binaires sont géniales et exclusivement pour la personne qui connaît le binaire (la langue des appareils numériques). Si vous êtes un technicien, cette horloge étrange est faite pour vous. Alors, faites-en un par vous-même et gardez votre temps secret !

Vous trouverez de nombreuses horloges binaires de différents types sur Internet. Même vous pouvez acheter une horloge binaire dans une boutique en ligne comme amazon.com. Mais cette horloge est différente de toutes et ici j'ai joué au marbre pour lui donner un aspect élégant.

Avant de descendre, veuillez regarder la vidéo de démonstration.

Étape 1: Nomenclature

Nomenclature
Nomenclature
Nomenclature
Nomenclature
Nomenclature
Nomenclature

Composants matériels

1. Arduino Pro Micro (acheter sur aliexpress.com): c'est le cœur principal de l'horloge et lit l'heure de RTC et donne des instructions pour piloter les LED en conséquence. Vous pouvez utiliser Arduino Nano même Arduino Uno au lieu de Pro Micro si la taille n'a pas d'importance pour vous.

2. Module RTC DS3231 (à acheter sur aliexpress.com): Le DS3231 RTC garde une trace de l'heure même lorsque l'alimentation est coupée. Bien que d'autres RTC comme le DS1307 puissent être utilisés, le DS3231 est plus précis.

3. MAX7219CNG LED Driver IC (acheter sur aliexpress.com): Arduino a un nombre limité de broches. Donc, si vous voulez piloter des tonnes de LED sans gaspiller de broches Arduino, le MAX7219 est la bouée de sauvetage. Il prend des données série et peut piloter 64 LED indépendamment.

4. 20 LED bleues PCS, 5 mm (acheter sur aliexpress.com): Le bleu a donné le meilleur résultat pour moi. Vous pouvez essayer avec d'autres couleurs.

5. 20 PCS Playing Marble (à acheter sur aliexpress.com): Le marbre de jeu de taille standard a été utilisé. Le marbre doit être transparent pour laisser passer la lumière.

6. Résistance 10K: Utilisée pour contrôler le courant de segment du MAX7219 IC. Consultez la fiche technique pour connaître la valeur exacte des différents segments de courant.

7. Fils

8. Carte PCB prototype (acheter sur aliexpress.com): J'ai utilisé une carte PCB prototype pour MAX7219 IC avec une base IC. Vous pouvez également concevoir votre carte PCB personnalisée.

Outils matériels

1. CNC 3018 PRO Laser Engraver Wood CNC Router Machine (acheter sur aliexpress.com): Cette machine DIY CNG a été utilisée pour sculpter le bois pour le marbre et les LED. C'est une excellente machine à bas prix pour tout fabricant et amateur.

2. Station de soudure (achetez-en une sur aliexpress.com): Une soudure est nécessaire pour le projet et un bon fer à souder est un outil indispensable pour un fabricant. 60W est un bon choix pour la soudure de bricolage.

3. Coupe-fil (acheter sur aliexpress.com)

4. Fraise en bout en carbure revêtu de titane pour CNC (acheter sur aliexpress.com): Vous pouvez également essayer avec le foret fourni avec la machine. Dans ce cas, vous devez apporter quelques modifications à la conception.

Étape 2: Gravure et sculpture

Gravure et sculpture
Gravure et sculpture
Gravure et sculpture
Gravure et sculpture
Gravure et sculpture
Gravure et sculpture

J'ai pris un morceau de bois d'érable doux de 165X145X18,8 mm pour placer les LED de l'horloge. Au sommet de chaque led, je placerai une bille et la taille d'une bille de jeu standard est de 15,5 mm de diamètre. J'ai donc fait des trous de 15,7 mm avec une profondeur de 7 mm. Au centre du trou, j'ai fait un foret de 5mm pour placer la LED. Tout le texte a été fait avec une profondeur de 2 mm. Vous pouvez augmenter ou diminuer la profondeur de votre choix. Vous pouvez également essayer la gravure au laser pour le texte.

La conception complète a été réalisée par Easel d'Inventables. Easel est une plate-forme logicielle basée sur le Web qui vous permet de concevoir et de sculpter à partir d'un seul programme simple et la plupart des fonctionnalités sont gratuites. Il vous suffit de vous connecter au système en créant un compte ou en utilisant Gmail.

Easel Pro est un logiciel cloud basé sur l'adhésion qui s'appuie sur le logiciel gratuit Easel d'Inventables. Easel et Easel Pro minimisent les barrières associées aux logiciels de fabrication de produits CAO et FAO compliqués, ce qui permet aux utilisateurs de produire facilement des produits physiques.

En utilisant Easel, vous pouvez exporter le fichier de conception au format G-code ou configurer directement votre CNC à partir de l'environnement Easel et envoyer la commande à la CNC. Dans ce cas, vous devez installer le pilote pour le chevalet. Vous pouvez également importer un G-code précédemment créé dans l'IDE Easel et le modifier. J'ai inclus le fichier de conception ci-joint. Vous pouvez facilement modifier le design selon votre choix en utilisant Easel.

Étape 3: Ponçage et application du vernis

Ponçage et application de vernis
Ponçage et application de vernis
Ponçage et application de vernis
Ponçage et application de vernis
Ponçage et application de vernis
Ponçage et application de vernis
Ponçage et application de vernis
Ponçage et application de vernis

Le vernis peut fournir une belle finition aux projets de bois et aux peintures. Avant d'appliquer du vernis sur le bois, poncez votre pièce et nettoyez votre espace de travail. Le ponçage donne un aspect lisse et prépare le bois au vernissage. Appliquer le vernis en plusieurs couches fines en laissant bien sécher chacune avant de passer à la suivante. Pour vernir un tableau, laissez-le sécher complètement puis brossez soigneusement le vernis. Une couche suffit pour de nombreuses peintures, mais vous pouvez ajouter une couche supplémentaire à condition de laisser d'abord bien sécher la précédente.

Avant d'appliquer le vernis, vous devez éliminer les imperfections et les imperfections avant d'appliquer le vernis. Pour ce faire, utilisez du papier de verre grain 100 pour les pièces non finies et travaillez avec le grain du bois. Poncez doucement jusqu'à ce que la pièce soit lisse. Après avoir nettoyé la pièce de bois, appliquez le vernis dans un endroit bien aéré.

Le vernis protège le bois de la poussière et de l'humidité environnementales, mais il peut affecter la couleur du bois.

Étape 4: faire le circuit

Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit

Le composant principal de l'horloge est une carte microcontrôleur Arduino Pro Mini et un module RTC DS3231. La connexion de l'Arduino Pro Mini et du module RTC est très simple. Vous devez connecter la broche SDA du module RTC à la broche SDA de l'Arduino et la broche SCL du module RTC à la broche SCL de l'Arduino. Les broches SDA et SCL sont respectivement les broches A4 et A5 d'Arduino. Vous devez également établir une connexion à la terre commune entre les modules Arduino et RTC. J'ai utilisé des fils de liaison pour faire les connexions.

La connexion entre Arduino et DS3231 RTC:

Arduino DS3231
SCL (A5) SCL
SDA (A4) ADD
5V VCC
GND GND

Pour afficher l'heure, les minutes et les secondes, une horloge binaire nécessitait 20 LED. Si vous voulez afficher la date, il en faut plus. La carte Arduino a une limitation des broches GPIO. J'ai donc utilisé le circuit intégré de pilote de LED MAX7219CNG pour piloter des tonnes de LED en utilisant seulement trois broches de la carte Arduino.

Le circuit intégré de pilote MAX7219 est capable de piloter 64 LED individuelles tout en utilisant seulement 3 fils pour la communication avec l'Arduino, et de plus, nous pouvons enchaîner plusieurs pilotes et matrices tout en utilisant les mêmes 3 fils.

Les 64 LED sont pilotées par 16 broches de sortie du CI. La question est maintenant de savoir comment est-ce possible. Eh bien, le nombre maximum de LED allumées en même temps est en fait de huit. Les LED sont disposées en un ensemble 8 × 8 de lignes et de colonnes. Ainsi, le MAX7219 active chaque colonne pendant une très courte période et en même temps, il pilote également chaque ligne. Ainsi, en passant rapidement à travers les colonnes et les lignes, l'œil humain ne remarquera qu'une lumière continue.

Le VCC et le GND du MAX7219 vont aux broches 5V et GND de l'Arduino et les trois autres broches, DIN, CLK et CS vont à n'importe quelle broche numérique de la carte Arduino. Si nous voulons connecter plus d'un module, nous connectons simplement les broches de sortie de la carte de dérivation précédente aux broches d'entrée du nouveau module. En fait, ces broches sont toutes les mêmes sauf que la broche DOUT de la carte précédente va à la broche DIN de la nouvelle carte.

La connexion entre Arduino et MAX7219CNG:

Arduino MAX7219
D12 VACARME
D11 CLK
D10 CHARGE
GND GND

Étape 5: Téléchargement du programme

Téléchargement du programme
Téléchargement du programme

L'ensemble du programme est écrit dans l'environnement Arduino. Deux bibliothèques externes ont été utilisées pour l'esquisse. L'un est destiné au module RTC et l'autre au circuit intégré MAX7219. Téléchargez les bibliothèques à partir du lien et ajoutez-les à l'IED Arduino avant de compiler le programme.

Le téléchargement du programme dans Arduino Pro Mini est un peu délicat. Jetez un œil au tutoriel si vous n'avez jamais utilisé Arduino Pro Mini auparavant:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231 > GIT: https://github.com/jarzebski/Arduino-DS3231 > */ #include "Wire.h" #include "DS3231.h" #include "LedControl.h" /* Maintenant, nous avons besoin d'un LedControl avec lequel travailler. ***** Ces numéros de broches ne fonctionneront probablement pas avec votre matériel ***** La broche 12 est connectée au DataIn La broche 11 est connectée au CLK La broche 10 est connectée à LOAD Nous n'avons qu'un seul MAX72XX. */ Horloge DS3231; RTCDateTime dt; LedControl lc=LedControl(12, 11, 10, 1); int secondes, minutes, heures; numéro d'octet[10]={B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup() { //Serial.begin(9600); /* Le MAX72XX est en mode d'économie d'énergie au démarrage, nous devons faire un appel de réveil */ lc.shutdown(0, false); /* Régler la luminosité sur des valeurs moyennes */ lc.setIntensity(0, 15); /* et efface l'affichage */ lc.clearDisplay(0); //lc.setLed(0, ligne, col, vrai); // lc.setRow(0, 0, B11111111); // lc.setRow(0, 1, B11111111); // lc.setRow(0, 2, B11111111); // lc.setRow(0, 3, B11111111); // lc.setRow(0, 4, B11111111); // lc.setRow(0, 5, B11111111); // lc.setColumn(0, 2, B11111111); // lc.setColumn(0, 3, B11111111); // lc.setColumn(0, 4, B11111111); // lc.setColumn(0, 5, B11111111); // Initialiser DS3231 clock.begin(); // Définir l'heure de compilation du croquis //clock.setDateTime(_DATE_, _TIME_); pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); } int menu = 0, haut, bas; int heures_un; int heures_ten; int minutes_one; int minutes_ten; int seconds_one; int secondes_ten; void loop() { if(digitalRead(5)==0){ delay(300); menu++; si (menu>3) menu = 0; } if(menu==0){ dt = clock.getDateTime(); heures = dt.heure; minutes = dt.minute; secondes = dt.seconde; si(heures>12) heures = heures - 12; si(heures==0) heures = 1; heures_une = heures%10; heures_dix = heures/10; minutes_one = minutes%10; minutes_dix = minutes/10; seconds_one = secondes%10; seconds_ten = secondes/10; lc.setRow(0, 0, nombre[secondes_une]); lc.setRow(0, 1, nombre[seconds_ten]); lc.setRow(0, 2, nombre[minutes_un]); lc.setRow(0, 3, nombre[minutes_ten]); lc.setRow(0, 4, nombre[heures_une]); lc.setRow(0, 5, nombre[hours_ten]); } if(menu==1){ if(digitalRead(6)==0){ delay(300); heures++; si(heures>=24)heures = 0; } if(digitalRead(7)==0){ delay(300); les heures--; si(heures=60) minutes = 0; } if(digitalRead(7)==0){ delay(300); minutes--; si(minutes<0) minutes = 0; } minutes_one = minutes%10; minutes_dix = minutes/10; lc.setRow (0, 4, B00000000); lc.setRow (0, 5, B00000000); lc.setRow (0, 1, B00000000); lc.setRow(0, 0, B00000000); lc.setRow(0, 2, nombre[minutes_un]); lc.setRow(0, 3, nombre[minutes_ten]); } if(menu==3){ clock.setDateTime(2020, 4, 13, heures, minutes, 01); menu = 0; } //lc.setLed(0, ligne, col, faux); //lc.setLed(0, ligne, col, vrai); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, ligne, (octet)0); //lc.setColumn(0, col, (byte)0); // Pour le zéro de départ, regardez l'exemple DS3231_dateformat // Serial.print("Raw data: "); // Serial.print(dt.year); Serial.print("-"); // Serial.print(dt.month); Serial.print("-"); // Serial.print(dt.day); Serial.print(" "); // Serial.print(dt.hour); Serial.print(":"); // Serial.print(dt.minute); Serial.print(":"); // Serial.print(dt.second); Serial.println(""); // // retard (1000); }

Étape 6: Placer les LED

Placer les LED
Placer les LED
Placer les LED
Placer les LED
Placer les LED
Placer les LED
Placer les LED
Placer les LED

Dans cette étape, je vais mettre toutes les LED dans les trous de la planche de bois. Les connexions des LED sont montrées dans le schéma. Comme nous utiliserons le pilote de LED MAX7219 pour piloter les LED, toutes les LED doivent être connectées sous forme de matrice. J'ai donc connecté les broches d'anode de toutes les LED de chaque colonne ensemble et toutes les broches de cathode de chaque rangée selon le schéma. Maintenant, nos broches de colonne sont en fait des broches d'anode de LED et les broches de rangée sont en fait des broches de cathode de LED.

Pour piloter des LED à l'aide du MAX7219, vous devez connecter la broche cathodique d'une led à une broche numérique du CI et la broche anode de la led à une broche segment du CI. Ainsi, nos broches de colonne doivent être connectées aux broches de segment et les broches de ligne doivent être connectées à la broche de chiffres du MAX7219.

Vous devez connecter une résistance entre la broche ISET et le VCC du circuit intégré MAX7219 et cette résistance contrôle le courant des broches du segment. J'ai utilisé une résistance de 10K pour maintenir 20mA dans chaque broche de segment.

Étape 7: Connexion des LED

LED de connexion
LED de connexion
LED de connexion
LED de connexion
LED de connexion
LED de connexion

À ce stade, j'ai connecté toutes les LED dans un format matriciel ligne-colonne. J'avais besoin d'utiliser des cavaliers supplémentaires pour connecter les LED, mais vous pouvez effectuer la connexion sans l'aide de fils supplémentaires si les fils des LED sont suffisamment longs pour se toucher.

Dans cette configuration, aucune résistance n'est requise car le MAX7219 s'occupera du courant. Votre devoir est de sélectionner la bonne valeur pour la résistance ISET et de tirer la broche ISET avec cette résistance. Avant de placer et de connecter les LED, je vous suggère de vérifier chaque LED. Parce que placer une mauvaise LED tuera beaucoup de temps. Dans l'étape suivante, nous allons connecter les fils de ligne et de colonne au MAX ic.

Étape 8: Connexion du circuit imprimé avec les LED

Connexion du circuit imprimé avec les LED
Connexion du circuit imprimé avec les LED
Connexion du circuit imprimé avec les LED
Connexion du circuit imprimé avec les LED
Connexion du circuit imprimé avec les LED
Connexion du circuit imprimé avec les LED

Notre circuit imprimé comprenant RTC, Arduino et MAX7219 est prêt depuis longtemps et nous avons également préparé la matrice LED à l'étape précédente. Maintenant, nous devons connecter toutes les choses ensemble selon le schéma. Tout d'abord, nous devons connecter les fils de ligne et de colonne au MAX7219IC. La connexion a été mentionnée dans le schéma. Pour plus de clarté, suivez le tableau ci-dessous.

Matrice LED MAX7219CNG
LIGNE0 CHIFFRE0
LIGNE1 CHIFFRE1
LIGNE2 CHIFFRE2
LIGNE3 CHIFFRE3
COLONNE0 SEGA
COLONNE1 SEGB
COLONNE2 SEGC
COLONNE3 SEGD
COLONNE4 SEGE
COLONNE5 SEGF

ROW0-> Première ligne

COLUMN0 -> Colonne la plus à droite (SS COLUMN)

Après avoir effectué la connexion, vous devez fixer la carte PCB et l'Arduino avec la pièce en bois pour éviter de rompre la connexion. J'ai utilisé de la colle chaude pour fixer tous les circuits en place. Pour éviter tout court-circuit, utilisez une grande quantité de colle pour masquer le joint de soudure au bas du PCB.

Pour rendre une horloge utilisable, vous devez conserver une option permettant de régler l'heure lorsque cela est nécessaire. J'ai ajouté trois interrupteurs à bouton pour régler l'heure. Un pour changer d'option et deux pour incrémenter et décrémenter les heures et les minutes. Les boutons sont placés dans le coin supérieur droit afin qu'ils soient facilement accessibles.

Étape 9: Placer les billes

Placer les billes
Placer les billes
Placer les billes
Placer les billes
Placer les billes
Placer les billes

C'est la dernière étape de notre projet. Toute la connexion du circuit est terminée. Maintenant, vous devez placer le marbre sur le dessus de l'horloge en bois. Pour placer les billes, j'ai utilisé de la colle chaude. Utilisez un bâton de colle de couleur blanche transparente à cet effet. J'ai appliqué de la colle chaude dans chaque trou à partir du dessus et au-dessus des LED, j'ai doucement placé le marbre dans chaque trou. L'ajout de colle uniformément augmentera la lueur de la led. J'ai utilisé BLUE LED pour mon horloge. Cela m'a donné le meilleur résultat.

Donner le pouvoir à l'horloge. S'il affiche l'heure, alors félicitations !!!

Tu l'as fait!

Prendre plaisir!

Concours Fais briller
Concours Fais briller
Concours Fais briller
Concours Fais briller

Finaliste du concours Make it Glow

Conseillé: