Table des matières:
- Étape 1: Outils et matériaux
- Étape 2: Collez ensemble le cadre en bois
- Étape 3: Coupez le cadre à l'aide du gabarit de coupe circulaire
- Étape 4: Imprimer et assembler les engrenages
- Étape 5: "Coller" les sections ensemble
- Étape 6: Découpez les reliefs dans le cadre
- Étape 7: Dégagement de coupe pour les capteurs à effet Hall
- Étape 8: Collez la bague extérieure
- Étape 9: Coupez les vis de réglage du capteur à effet Hall
- Étape 10: Collez les anneaux sur le panneau dur
- Étape 11: Collez le disque intérieur
- Étape 12: Fixez le placage
- Étape 13: Garniture de placage
- Étape 14: Couper le placage
- Étape 15: Coller le placage
- Étape 16: Poncer et finir
- Étape 17: Installer l'alimentation
- Étape 18: Assembler l'électronique
- Étape 19: Souder et connecter l'électronique
- Étape 20: Plaque arrière
- Étape 21: Code Arduino
- Étape 22: Fichiers STL
- Étape 23: Fichiers Solidworks
- Étape 24: Conclusion
Vidéo: Horloge murale magnétique envoûtante : 24 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Les horloges mécaniques m'ont toujours fasciné. La façon dont tous les engrenages internes, les ressorts et les échappements fonctionnent ensemble pour donner un garde-temps fiable et constant a toujours semblé hors de portée pour mes compétences limitées. Heureusement, l'électronique moderne et les pièces imprimées en 3D peuvent combler le fossé pour créer quelque chose de simple qui ne repose pas sur de petites pièces métalliques précises.
Cette horloge murale minimaliste cache une paire de couronnes imprimées en 3D entraînées par des moteurs pas à pas peu coûteux qui font tourner des aimants derrière un placage de noyer classique.
Initialement inspiré par STORY Clock, je voulais une montre qui indiquait l'heure à l'aide de roulements à billes uniquement par rapport à la lecture numérique et aux roulements à billes lents que leur produit utilise.
Étape 1: Outils et matériaux
Matériaux:
- 13 x 13 x 2 po. Contreplaqué/Panneau de particules (j'ai collé ensemble 3 morceaux de bois de rebut)
- Panneau dur 13 x 13 po
- Arduino Nano
- Horloge en temps réel
- Moteurs pas à pas et pilotes
- Capteurs à effet Hall
- Aimants
- Câble d'alimentation
- Adaptateur pour courant alternatif
- Prise de courant
- Assortiment de vis à métaux
- Vis à bois assorties
- Pièces imprimées en 3D (dernière étape)
- Placage (12 x 12 po - face, bande de 40 po de long)
- Laque en aérosol
- Peinture en aérosol noire
Outils:
- Imprimante 3D
- Boussole
- Couteau X-acto
- La colle
- Pinces
- Gabarit de coupe de cercle
- Scie à métaux
- Ponceuse à disque
- Pince à cliquet
- Ciseau
- Règle
- Ponceuse
- Perceuses
- Tournevis
- Fer à souder
- Pistolet à colle chaude
Étape 2: Collez ensemble le cadre en bois
Collez ensemble trois morceaux de bois qui formeront le cadre de l'horloge. J'ai utilisé des panneaux de particules récupérés d'un vieux cadre de lit.
Étape 3: Coupez le cadre à l'aide du gabarit de coupe circulaire
Marquez le centre de la planche et montez sur un gabarit de découpe circulaire. Coupez cinq cercles avec les diamètres suivants:
- 12 pouces
- 11 1/4 po
- 9 1/4 po
- 7 1/4 po
- 5 3/8 po
Étape 4: Imprimer et assembler les engrenages
Les couronnes dentées sont divisées en segments afin qu'elles puissent être imprimées sur une petite imprimante et emboîtées ensemble. Toutes les pièces ont été imprimées en ABS pour faciliter le processus de fusion illustré à l'étape suivante. Poncez tous les bords et surfaces des pièces.
Imprimez les quantités suivantes de pièces trouvées à l'étape 22:
- 1 - Aimant de segment de couronne d'heure
- 6 - Segment de base de la couronne dentée des heures
- 1 - Montage pas à pas de segment de bague de retenue d'une heure
- 6 - Segment d'anneau de retenue d'heure de base
- 1 - Support de capteur à effet Hall d'une heure
- 1 - Aimant de segment de couronne de minutes
- 7 - Segment de base de la couronne dentée des minutes
- 1 - Montage pas à pas de segment de bague de retenue minute
- 6 - Segment d'anneau de retenue des minutes de base
- 1 - Support de capteur à effet Hall minute
- 2 - Engrenage droit
- 1 - Support électronique
Étape 5: "Coller" les sections ensemble
Dans une bouteille en verre avec un peu d'acétone, dissoudre le vieux support d'impressions ratées, etc. Peignez le mélange d'acétone sur chaque joint pour fusionner les pièces. Une fois durci, poncez chaque joint à plat.
Étape 6: Découpez les reliefs dans le cadre
Placez les couronnes dentées et les bagues de retenue dans le cadre et découpez les reliefs pour les moteurs pas à pas. J'ai mesuré et coupé la bague intérieure trop grande, alors je l'ai calée à la taille en utilisant des bandes de chant en érable que j'avais dans le magasin.
Étape 7: Dégagement de coupe pour les capteurs à effet Hall
Découpez un trou de dégagement dans la bague intérieure pour le capteur à effet Hall des minutes et la fente pour le capteur à effet Hall des heures. J'ai utilisé un ciseau, une lime et une petite scie à main pour couper ces dégagements.
Étape 8: Collez la bague extérieure
Collez et scotchez la bague extérieure de la taille de la bague de retenue des minutes.
Étape 9: Coupez les vis de réglage du capteur à effet Hall
Coupez les vis mécaniques avec une scie à métaux pour qu'elles soient juste plus longues que l'épaisseur de la bague de retenue et du support du capteur à effet Hall. Coupez une fente dans les filetages afin qu'il puisse être ajusté à partir de l'extrémité filetée avec un tournevis plat.
Étape 10: Collez les anneaux sur le panneau dur
Coupez un cercle de panneau dur juste plus grand que l'anneau extérieur. Collez les bagues extérieure et intérieure sur la face du panneau dur. Utilisez la bague de retenue des minutes et la couronne dentée pour placer la bague intérieure. Faites plus attention que moi à ne pas coller la bague intérieure à l'envers. L'image deux montre une nouvelle fente découpée pour le capteur à effet Hall minute.
Utilisez une ponceuse à disque pour couper le panneau dur jusqu'à la taille de l'anneau extérieur.
Étape 11: Collez le disque intérieur
Collez le disque intérieur en place à l'aide de la bague de retenue des heures et de la couronne dentée pour placer le disque intérieur.
Étape 12: Fixez le placage
Coupez une bande de placage plus large que la profondeur de l'horloge et suffisamment longue pour s'enrouler autour de l'horloge (3,14 * diamètre de l'horloge, renverra la longueur nécessaire. Ajoutez un pouce pour être sûr que vous en avez assez.) Ajustez à sec le placage à coupé à longueur. Appliquer suffisamment de colle sur le placage et fixer en place avec une pince à sangle. Laisser sécher quelques heures pour assurer l'adhérence.
Étape 13: Garniture de placage
À l'aide d'un ciseau bien aiguisé, coupez l'excédent de placage à l'avant et à l'arrière de l'horloge.
Étape 14: Couper le placage
Mon placage avait quelques fissures. Pour faciliter le travail, j'ai appliqué du ruban de peintre pour le maintenir ensemble. À l'aide d'un couteau x-acto dans une boussole, coupez le placage juste plus grand que le cadran de l'horloge.
Étape 15: Coller le placage
Utilisez les anneaux coupés pour répartir la pression sur le cadran de l'horloge. Appliquez suffisamment de colle sur le côté non adhésif du placage. Orientez le grain verticalement sur le cadran de l'horloge et appliquez de nombreuses pinces en serrant chacune un peu à la fois. Cela garantira que le placage ne bouge pas et qu'il exerce une pression uniforme sur le visage.
J'ai utilisé quelques planches plates sur la face avant de l'horloge et quelques cales à l'arrière.
Étape 16: Poncer et finir
À l'aide de papier de verre, retirez soigneusement l'excès de placage du cadran de l'horloge et poncez à partir de grain 220 jusqu'à grain 600.
Appliquer entre 10 et 20 couches de laque. Cela créera la surface sur laquelle le roulement à billes roulera. Forcément à cause de la poussière et d'autres particules dans l'air, je pense que des lignes vont apparaître le long du trajet de chaque roulement à billes. L'application de plusieurs couches de finition devrait retarder cela aussi longtemps que possible. Cela facilitera également les futures finitions. Je mettrai à jour cette étape si des lignes apparaissent sur mon horloge.
Étape 17: Installer l'alimentation
À l'aide d'un foret de 27/64 po, percez un trou au bas de l'horloge et vissez la fiche d'alimentation en place.
Étape 18: Assembler l'électronique
Fixez les pilotes pas à pas et l'horloge en temps réel à la carte électronique. J'avais besoin de trouver un moyen de sécuriser l'Arduino afin que des trous soient percés et qu'une fente soit coupée pour une attache zippée. Ces fonctionnalités ont été ajoutées au fichier trouvé à l'étape 22.
Étape 19: Souder et connecter l'électronique
En suivant le schéma fonctionnel, soudez tous les composants ensemble. Collez à chaud les anneaux en place et fixez également tous les fils parasites avec de la colle chaude.
Étape 20: Plaque arrière
Créez la plaque arrière en coupant un autre cercle 1/2 po plus grand que le cadran de l'horloge et un anneau avec le même diamètre intérieur que le dos de l'horloge. Collez l'anneau et le cercle avec des pinces à ressort.
Une fois sec, tracez une ligne 1/8 po plus large que la bague intérieure et coupez à la bonne dimension à l'aide de la scie à ruban ou de la ponceuse à disque.
Découpez une fente de 1 po de long sur 1/4 po de large en haut du dos à l'aide d'une toupie ou de mèches. Fraisez quatre trous pour fixer le dos dans le cadre de l'horloge.
Appliquez de la peinture en aérosol noire et fixez-la à l'horloge une fois sèche.
Étape 21: Code Arduino
Le code arduino est commenté au mieux. Gardez à l'esprit que je ne suis pas un programmeur, j'ai une expérience minimale d'arduino (soyez gentil). Le code s'exécute en continu pour vérifier si l'heure actuelle correspond à l'"Heure de réinitialisation". Parce que je ne pouvais pas penser à un moyen de traduire l'heure actuelle en étapes, il ne se corrige qu'une fois par jour (minuit par défaut). À minuit, les engrenages tournent jusqu'à la position minuit, puis attendent jusqu'à 00:01 pour passer à cette heure puis continuent à partir de là. Dans sa position actuelle, l'horloge ne perd que 5 secondes environ sur une période de 24 heures.
Vous aurez besoin des bibliothèques Stepper et RTClib installées.
Je sais que le code peut être optimisé par quelqu'un avec plus d'expérience que moi. Si vous êtes prêt à relever le défi, veuillez recréer ce projet pour vous-même et partager vos connaissances.
#comprendre
#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // le nombre de pas en un tour de moteur pas à pas 28BYJ-48 Stepper hourHand(oneRotation, 3, 5, 4, 6); Stepper minuteHand(oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Délai pour la vitesse de l'horloge. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Heure actuelle avec laquelle faire des maths. flottant h = 0; flottant mn = 0; flotteur sc = 0; // Définit l'heure du jour pour réinitialiser l'horloge (format 24 heures). int resetHeure = 0; int resetMinute = 0; // Variables pour définir l'heure correcte au démarrage et réinitialiser. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float heureTest = 0; float minuteTest = 0; void setup() { Serial.begin(115200); // Configurer l'horloge en temps réel et réinitialiser les capteurs à effet Hall. pinMode(hourStopSensor, INPUT_PULLUP); pinMode(minuteStopSensor, INPUT_PULLUP); rtc.begin(); // Décommentez la ligne ci-dessous pour régler l'heure. // rtc.adjust(DateTime(2020, 2, 19, 23, 40, 30)); // rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Définir la vitesse maximale des moteurs pas à pas. hourHand.setSpeed(15); minuteHand.setSpeed(15); // Boucle jusqu'à ce que les aiguilles des minutes et des heures soient à midi while (digitalRead(hourStopSensor) == LOW || digitalRead(minuteStopSensor) == LOW) { if (digitalRead(hourStopSensor) == LOW) { hourHand.step(2); } else { délai(3); } if (digitalRead(minuteStopSensor) == LOW) { minuteHand.step(3); } else { délai(4); } } while (digitalRead(hourStopSensor) != LOW || digitalRead(minuteStopSensor) != LOW) { if (digitalRead(hourStopSensor) != LOW) { hourHand.step(2); } else { délai(3); } if (digitalRead(minuteStopSensor) != LOW) { minuteHand.step(3); } else { délai(4); } } // Récupère l'heure actuelle DateTime now = rtc.now(); hr = maintenant.heure(); mn = maintenant.minute(); sc = maintenant.seconde(); // Passage au format 12 heures if (hr >= 12) { hr = hr - 12; } // Voyez quelle main doit parcourir le visage plus loin et utilisez cette distance // pour ajuster le temps défini en conséquence. heureTest = h / 12; MinuteTest = mn / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minuteTest; } // Définir l'heure actuelle setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Définir la minute actuelle setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testez quelle main aura besoin de plus de pas et définissez-la sur le nombre de pas le plus long pour la boucle for. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); } else { délai(3); } if (i < setTimeStepMinute) { minuteHand.step(3); } else { délai(4); } } // Régler l'horloge de fonctionnement RPM hourHand.setSpeed(1); minuteHand.setSpeed(1); } void loop() { // Démarre la boucle d'exécution de l'horloge. for (int i = 0; i < 22; i++) { minuteHand.step(1); retard(setDelay1); // Test du temps de réinitialisation, si prêt à être réinitialisé, pause. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { break; } } delay(setDelay3); for (int i = 0; i < 38; i++) { hourHand.step(1); retard(setDelay1); // Test du temps de réinitialisation, si prêt à être réinitialisé, pause. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { break; } pour (int i = 0; i <20; i++) { minuteHand.step(1); retard(setDelay2); // Test du temps de réinitialisation, si prêt à être réinitialisé, pause. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { break; } } } // Réinitialiser l'horloge à l'heure de réinitialisation if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { // Changer la vitesse de l'horloge hourHand.setSpeed (10); minuteHand.setSpeed(10); // Boucle jusqu'à ce que l'aiguille des minutes et des heures atteigne midi. while (digitalRead(hourStopSensor) == LOW || digitalRead(minuteStopSensor) == LOW) { if (digitalRead(hourStopSensor) == LOW) { hourHand.step(2); } else { délai(3); } if (digitalRead(minuteStopSensor) == LOW) { minuteHand.step(3); } else { délai(4); } } while (digitalRead(hourStopSensor) != LOW || digitalRead(minuteStopSensor) != LOW) { if (digitalRead(hourStopSensor) != LOW) { hourHand.step(2); } else { délai(3); } if (digitalRead(minuteStopSensor) != LOW) { minuteHand.step(3); } else { délai(4); } } // Attendez ici jusqu'à ce que le temps de réinitialisation soit écoulé. while (rtc.now().minute() == resetMinute) { delay(1000); } // Récupère l'heure actuelle DateTime now = rtc.now(); hr = maintenant.heure(); mn = maintenant.minute(); sc = maintenant.seconde(); // Passer au format 12 heures if (hr>= 12) { hr = hr - 12; } // Voyez quelle main doit parcourir le visage plus loin et utilisez cette distance // pour ajuster le temps défini en conséquence. heureTest = h / 12; MinuteTest = mn / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minuteTest; } // Définir l'heure actuelle setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Définir la minute actuelle setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testez quelle main aura besoin de plus de pas et définissez-la sur le nombre de pas le plus long pour la boucle for. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); } else { délai(3); } if (i < setTimeStepMinute) { minuteHand.step(3); } else { délai(4); } } hourHand.setSpeed(1); minuteHand.setSpeed(1); } }
Étape 22: Fichiers STL
Vous devrez imprimer les quantités suivantes de fichiers:
- 1 - Aimant de segment de couronne d'heure
- 6 - Segment de base de la couronne dentée des heures
- 1 - Montage pas à pas de segment de bague de retenue d'une heure
- 6 - Segment d'anneau de retenue d'heure de base
- 1 - Support de capteur à effet Hall d'une heure
- 1 - Aimant de segment de couronne de minutes
- 7 - Segment de base de la couronne dentée des minutes
- 1 - Montage pas à pas de segment de bague de retenue minute
- 6 - Segment d'anneau de retenue des minutes de base
- 1 - Support de capteur à effet Hall minute
- 2 - Engrenage droit
- 1 - Support électronique
Étape 23: Fichiers Solidworks
Ce sont les fichiers Solidworks d'origine utilisés pour créer les STL trouvées à l'étape précédente. N'hésitez pas à éditer et modifier mes fichiers comme bon vous semble.
Étape 24: Conclusion
Cette horloge s'est avérée meilleure que je ne l'avais prévu. Ayant une expérience minimale d'Arduino, je suis content du résultat et de sa précision. Il a fière allure et fonctionne comme je l'espérais.
Conseillé:
Horloge murale explosive bricolage avec éclairage de mouvement : 20 étapes (avec photos)
DIY Exploding Wall Clock With Motion Lighting: Dans cette instructable / vidéo, je vais vous montrer étape par étape comment créer une horloge murale créative et unique avec un système d'éclairage de mouvement intégré. Cette idée de conception d'horloge tout à fait unique est orientée pour rendre l'horloge plus interactive . Quand je marche
Horloge murale à LED ambiante : 11 étapes (avec photos)
Horloge murale à LED ambiante : récemment, j'ai vu de nombreuses personnes construire d'énormes matrices LED qui sont absolument magnifiques, mais elles consistaient soit en un code compliqué, soit en des pièces coûteuses, soit les deux. J'ai donc pensé à construire ma propre matrice LED composée de pièces très bon marché et très
Horloge murale cryptique : 27 étapes (avec photos)
Horloge murale cryptique : Le passage du temps est quelque chose que nous ne pouvons pas contrôler. Cela se produit au même rythme si nous dormons, sommes éveillés, ennuyés ou engagés. Avec les événements actuels, il est important de se rappeler que le temps passera. En attendant que le temps passe, pourquoi ne pas faire quelque chose
Horloge murale couleur : 7 étapes (avec photos)
Horloge murale couleur : cette fois, je vous présente une horloge analogique murale couleur pour enfants conçue à l'aide de bandes LED. Les bases de l'horloge sont d'utiliser trois bandes LED et différentes couleurs pour afficher l'heure : dans la bande LED ronde, la couleur verte est utilisé pour afficher les heures, e
Horloge murale matricielle à LED RVB O-R-A et plus ** mise à jour en juillet 2019 ** : 6 étapes (avec photos)
Horloge murale matricielle à LED RVB O-R-A et plus ** mise à jour en juillet 2019 ** : bonjour. Me voici avec un nouveau projet nommé O-R-AI. Il s'agit d'une horloge murale matricielle à LED RVB qui affiche :