Table des matières:

Nixie Clock Mood Barometer : 7 étapes (avec photos)
Nixie Clock Mood Barometer : 7 étapes (avec photos)

Vidéo: Nixie Clock Mood Barometer : 7 étapes (avec photos)

Vidéo: Nixie Clock Mood Barometer : 7 étapes (avec photos)
Vidéo: Steam and Conversation | Critical Role: THE MIGHTY NEIN | Episode 9 2024, Novembre
Anonim
Image
Image

Une victime non remarquée de Progress est le baromètre anéroïde de la maison. De nos jours, vous pouvez peut-être encore trouver des exemples dans les maisons de personnes de plus de quatre-vingt-dix ans, mais des millions d'autres sont à la poubelle ou sur ebay.

En vérité, le baromètre de la vieille école ne s'est pas aidé en étant à peu près inutile à son seul travail. Même en supposant qu'il a été correctement calibré et qu'il fonctionne correctement, il est presque impossible d'utiliser la pression atmosphérique pour prédire le temps, ou même indiquer le temps actuel.

Pendant ce temps, pour compléter l'introduction des rapports météorologiques des médias de masse 24h/24 et 7j/7, des capteurs de pression, de température et d'humidité à semi-conducteurs ultra-précis sont devenus disponibles. Ajoutez un processeur et un écran LCD bon marché et vous obtenez une "station météo numérique domestique". Même les nerds de la météo, ou les gens qui pensent que la météo à la télévision ou sur Internet est un complot du gouvernement, n'avaient plus besoin d'un baromètre.

C'est dommage, car je garde un souvenir chaleureux du baromètre que nous avons eu dans ma maison d'enfance. Mon père lui donnait un robinet soigneusement modulé tous les jours et réglait l'indicateur de lecture actuelle dans un mini rituel que j'avais envie d'imiter quand j'étais plus âgé, même après avoir compris que la chose n'était qu'un blagger de classe mondiale.

Voici comment créer un baromètre à affichage analogique mis à jour qui ne corrige aucun des défauts de l'original, mais qui possède des fonctionnalités supplémentaires encore plus inutiles que ce avec quoi il a commencé. Si vous regardez la vidéo, vous aurez l'idée.

Compte tenu des objectifs modestes de ce projet, il est assez complexe - ou plus précisément, reproduire le projet dans son intégralité est trop pour un Instructable. Pour cette raison, je vais me concentrer sur la partie baromètre/baromètre d'humeur et pour le reste je vais juste vous orienter dans la bonne direction.

Étape 1: Ingrédients et outils

Préparez soigneusement votre boîtier
Préparez soigneusement votre boîtier

Pour le baromètre/baromètre de l'humeur, vous aurez besoin de:

  • Un baromètre anéroïde. N'a pas à travailler. Quelque chose qui fait appel à votre sensibilité esthétique est plus important. J'aurais aimé avoir celui de ma maison d'enfance mais je pense qu'il est à la poubelle. J'ai eu un remplacement sur ebay pour 15 $.
  • Un capteur de pression.
  • Un module ESP8266 -- j'ai utilisé un NodeMCU.
  • Un moteur pas à pas et une carte de commande appropriés - le lien est vers un lot de cinq, mais pour le prix, ils sont difficiles à battre. Ce moteur a 4096 étapes dans une rotation complète, donnant une résolution suffisante pour nos besoins.
  • Une alimentation 5VDC -- au moins 1A -- pour l'ESP8266 et le moteur. J'ai utilisé une alimentation combinée 12VDC et 5VDC car j'en avais déjà une et j'avais besoin d'une alimentation 12V pour l'horloge Nixie (plus plus de 5V pour les autres éléments du projet).
  • Au moins trois LED (pour indiquer la tendance de la pression).
  • Un LDR/photorésistance.
  • Consommables divers tels que fils de liaison, résistances, gaines thermorétractables, etc.
  • Dans la plupart des cas, vous pouvez utiliser le boîtier d'origine du baromètre que vous utilisez pour loger l'électronique. J'ai réutilisé un boîtier d'horloge vaguement de style Arts & Crafts pour abriter à la fois l'horloge et le baromètre, donc je n'ai pas eu besoin du boîtier du baromètre.

Côté outils, vous aurez besoin d'un fer à souder, d'un pistolet thermique et de quelques petits outils à main. Si vous devez apporter des modifications importantes au boîtier, une sélection d'outils électriques vous sera utile.

Étape 2: préparez soigneusement votre boîtier

Ce que vous devez faire ici dépend en grande partie du boîtier que vous utilisez. Si vous utilisez le propre boîtier du baromètre, vous aurez juste besoin de comprendre comment le démonter et retirer le mécanisme anéroïde. Le pointeur est probablement directement monté sur ce mécanisme et il faut prendre certaines précautions pour détacher le pointeur sans l'endommager.

J'avais un peu plus de travail à faire, car mon boîtier d'horloge contenait toujours l'ancien mécanisme d'horlogerie (qui ne fonctionnait pas).

Je ne connais presque rien aux horloges mécaniques, mais les ressorts hélicoïdaux costauds ont suggéré que je devais procéder avec prudence. Néanmoins, lorsque la chose a explosé, j'étais, eh bien, non préparé. Une seconde, je défaisais une vis apparemment sans importance, la suivante, il y avait une forte détonation et l'air était rempli de poussière et de débris. Des morceaux d'horloge étaient partout et le boîtier lui-même était complètement détruit. Tout comme je l'imagine lorsqu'une vraie bombe explose, pendant un instant, je n'ai pas pu comprendre ce qui s'était passé. Dans le silence assourdissant qui suivit, je m'attendais à moitié à entendre le hurlement lointain des sirènes. De plus, ma main me faisait vraiment mal.

Leçon 1: Même les mécanismes d'horloge de taille modeste peuvent stocker une quantité d'énergie étonnamment importante.

Leçon 2: En cas de doute, portez des lunettes de sécurité ! J'ai eu de la chance, rien n'a volé dans mes yeux mais ça aurait certainement pu. Parfois, il ne suffit pas d'engager simplement les vieux strabismes de sécurité (même pas sûr de l'avoir fait). Ma main allait bien, j'étais juste un bébé.

Après beaucoup de collage et de serrage, j'ai remonté le boîtier et j'étais prêt à passer à l'étape 3.

Étape 3: Installer les composants -- Partie 1

Installer les composants -- Partie 1
Installer les composants -- Partie 1
Installer les composants -- Partie 1
Installer les composants -- Partie 1

Vous devez trouver un moyen d'installer le moteur de sorte que l'arbre dépasse juste assez du cadran pour que, lorsque le pointeur est attaché, il balaie le visage sans interférence. Cela pourrait être un peu plus difficile qu'il n'y paraît au premier abord, car la plupart des baromètres auront un autre pointeur à l'intérieur du verre qui était autrefois utilisé pour enregistrer la lecture actuelle. Comme expliqué plus tard, nous n'aurons pas besoin de ce pointeur, mais le garder aide à préserver l'aspect et la convivialité d'origine de l'appareil.

Dans tous les cas, l'existence du pointeur de lecture actuelle signifie qu'il existe une limite à la distance à laquelle le pointeur "principal" peut s'asseoir sur la face du cadran.

Dans l'autre sens, le pointeur doit être suffisamment éloigné du cadran pour simplement dégager une rondelle qui encadrera un LDR installé dans le cadran (voir l'étape suivante).

Ce que j'ai fait, c'est monter le cadran et son cadre sur un support en bois, puis monter le moteur sur le support avec des entretoises appropriées. La première image peut aider à expliquer cela, mais vous pouvez trouver votre propre arrangement.

L'un des avantages d'utiliser un boîtier d'horloge ou quelque chose de taille similaire est qu'il y a de la place pour installer l'alimentation en interne. Pour moi, c'était important parce que l'horloge allait s'asseoir sur une cheminée branchée sur une prise que j'avais installée spécialement. Cacher une « verrue murale » ou une brique SPS manifestement anachronique à cet endroit aurait été difficile – mais cela pourrait ne pas être un problème pour vous.

Les composants non étiquetés dans la deuxième image se rapportent aux parties horloge et carillon du projet (le troisième NodeMCU et le câblage associé se trouvent sous le PCB Nixie).

Le placement de tout le reste - principalement le capteur BMP180, la carte de commande du moteur et le NodeMCU - n'est pas critique. Cela dit, jusqu'à ce que j'aie éloigné le fil d'interconnexion de la carte de commande, le moteur ne fonctionnait parfois pas correctement. Je ne sais pas ce qui se passait là-bas, mais si votre moteur sonne bizarrement et/ou ne bouge pas facilement, vous voudrez peut-être essayer de déplacer les fils.

Pour éviter d'avoir à enregistrer manuellement la tendance de la pression (à la hausse, à la baisse ou constante), j'ai inclus trois petites LED sous le cadran. Lorsque les trois sont allumés, le baromètre est en mode humeur. J'ai utilisé des LED "blanc chaud" pour essayer de maintenir la sensation de période. Non modulés, ils étaient beaucoup trop brillants lorsqu'ils étaient vus de face, mais avec un PWM robuste, j'ai obtenu le look que je recherchais. Le pointeur de lecture actuel est toujours disponible pour les traditionalistes.

Étape 4: Installer les composants -- Partie 2

Installer les composants -- Partie 2
Installer les composants -- Partie 2

Parlons du LDR dans le cadran. Premièrement, pourquoi diable avons-nous besoin de cela ?

Eh bien, c'est ma solution à une limitation d'un moteur pas à pas bon marché - bien qu'il puisse se déplacer par étapes précises, il n'a aucune capacité inhérente à savoir où il se trouve autrement que par référence à sa position de départ. Alors qu'en théorie, je suppose que vous pouvez coder cela en dur et garder une trace de tous les mouvements ultérieurs, j'ai deviné (sans base réelle) que des erreurs se glisseraient rapidement, en particulier compte tenu des mouvements à grande échelle requis en "mode humeur". De plus, vous seriez bourré d'une coupure de courant (écrire chaque mouvement dans l'EEPROM n'est pas vraiment pratique).

Ma première pensée a été d'introduire un cycle d'étalonnage à la mise sous tension et des changements entre le mode humeur et le mode baromètre. Ce cycle déclencherait un microrupteur à un point connu du cadran. Mais la mise en œuvre mécanique de l'idée de l'interrupteur m'a semblé trop difficile. Le pointeur lui-même est beaucoup trop fragile pour être l'actionneur, je devrais donc installer autre chose sur l'arbre. Ensuite, il y avait le problème de la préservation du mouvement à 360 ° - l'une des raisons pour lesquelles j'avais opté pour un moteur pas à pas plutôt qu'un servo standard. Avec l'application d'un peu plus d'ingéniosité que je ne pourrais en apporter, je suis sûr qu'un micro-interrupteur pourrait fonctionner - ou peut-être qu'il existe également une solution de capteur de position disponible dans le commerce - mais j'ai pris une autre voie.

Remarquez sur l'image du cadran qu'il y a une rondelle montée dans la position une heure. Cette rondelle encadre un LDR connecté à l'unique entrée analogique disponible sur le NodeMCU. Lorsque le baromètre est mis sous tension ou change de mode, le NodeMCU entre dans un cycle d'étalonnage et recherche simplement un changement soudain du niveau de lumière causé par l'arrière du pointeur se déplaçant sur le LDR. Tout autre mouvement est indexé à partir de cette position connue. J'ai dû jouer un peu avec les valeurs de seuil dans le code pour que cela fonctionne de manière fiable, mais une fois cela fait, j'ai été agréablement surpris de sa précision - en revenant constamment aux paramètres du baromètre à moins de 1% ou 2% des valeurs attendues.

Cela ne fonctionne pas dans le noir complet, évidemment, mais vous ne changeriez généralement pas de mode à ce moment-là. Si, pour une raison quelconque, le cycle d'étalonnage ne peut pas être terminé dans un délai défini, il abandonne et fait clignoter les LED de tendance.

Quoi qu'il en soit, la beauté de l'approche LDR est que l'installation est super simple - percez un trou juste assez grand pour le LDR dans le cadran à un point où il sera couvert par l'extrémité arrière du pointeur. Pour obtenir un joli "joint" entre le pointeur et le LDR, collez une petite rondelle autour du LDR et, si nécessaire, modifiez la queue du pointeur (j'ai utilisé du papier noir de forme appropriée).

Étape 5: Le code - Fonctionnalités de base

Le code - Fonctionnalité de base
Le code - Fonctionnalité de base

Comme d'autres l'ont constaté, je n'ai pas pu faire fonctionner la bibliothèque de moteurs pas à pas Arduino standard avec ce moteur et ce pilote. Heureusement, il existe un bon Instructable à ce sujet avec du code qui fonctionne. J'ai utilisé le code de la publication d'origine pour le pas de base, bien qu'il y ait plusieurs suggestions d'optimisation dans les commentaires. Ce code ne nécessite pas de bibliothèque.

Pour traiter les données de pression, j'ai utilisé un exemple de la bibliothèque Sparkfun BMP180. Tout ce que j'avais à faire alors était de marier cela avec le contrôle moteur.

Étape 6: Le code - Fonctions d'étalonnage, de contrôle, d'interface graphique, d'assistant Google et d'utilitaires

Le code - Fonctions d'étalonnage, de contrôle, d'interface graphique, d'assistant Google et d'utilitaires
Le code - Fonctions d'étalonnage, de contrôle, d'interface graphique, d'assistant Google et d'utilitaires

L'étalonnage primaire est codé en dur. Par mesure de sécurité et pour tenir compte d'un éventuel déplacement du baromètre à une altitude différente, l'étalonnage et le contrôle secondaires sont réalisés à l'aide d'un serveur Web alimenté par la communication NodeMCU et Websocket. Une bonne ressource pour apprendre à ce sujet est ici.

Comme le montre la vidéo, cependant, le véritable facteur "wow" de ce projet, tel qu'il est, est le contrôle via Google Assistant/Google Home. Il y a un Instructable pour le grille-pain GA (alimenté par un Raspberry Pi3) ici. Ne vous inquiétez pas, vous n'avez pas besoin d'utiliser un grille-pain à 400 $ comme boîtier.

Les commandes sont transmises par le GA via IFTTT et Adafruit IO au NodeMCU. Une bonne ressource à ce sujet est ici. Il existe d'autres façons, plus compliquées, d'interagir avec votre assistant Google, mais pour ce projet, cette approche très simple fonctionne parfaitement.

Enfin, le code comprend des fonctions utilitaires extrêmement utiles (mise à jour en direct, DNS multicast, gestionnaire Wifi) que j'ai commencé à inclure dans tous mes projets basés sur ESP8266.

Tout le code de ce projet (y compris l'horloge Nixie et le contrôle du carillon) est sur Github ici. J'ai laissé les images que j'ai utilisées dans les fichiers HTML/CSS afin que cela fonctionne immédiatement (espérons-le) - vous aurez juste besoin d'ajouter vos propres détails de compte Adafruit IO.

Étape 7: L'horloge et le carillon Nixie

L'horloge et le carillon Nixie
L'horloge et le carillon Nixie

L'horloge Nixie est contrôlée par un NodeMCU séparé et utilise un tube Nixie et un module pilote conçu comme un bouclier Arduino disponible ici. La version dans le lien comprend un module GPS pour obtenir l'heure. Mon shield (une version antérieure) n'a pas de module GPS mais j'utilise le Node MCU pour obtenir du temps depuis Internet, ce qui est mieux à certains égards.

Le schéma de contrôle et l'interface graphique de l'horloge ont plus d'options de configuration mais sont par ailleurs très similaires au baromètre. Il y a un petit chevauchement ici en ce que les LED Nixie répondent aux entrées d'humeur du baromètre (via le même flux IO Adafruit).

À partir de l'épave du mécanisme d'horlogerie d'origine, j'ai récupéré suffisamment de bits pour construire un mécanisme de carillon entraîné par un troisième NodeMCU (hé, ils ne coûtent que 6 $ chacun) et un autre moteur pas à pas. Tout ce que j'ai ajouté était une "interface" entre le mécanisme d'origine et le moteur. "Interface" est entre guillemets car il ne comprend qu'un connecteur de balle avec deux clous enfoncés à angle droit et poussés sur l'arbre du moteur. Chaque quart de rotation de cet engin entraîne un coup de carillon. Encore une fois, le schéma de contrôle du carillon est similaire au baromètre et les trois serveurs Web sont reliés entre eux pour que le tout semble plus transparent qu'il ne l'est en réalité.

L'horloge et le carillon NodeMCU fonctionnent de manière totalement indépendante l'un de l'autre, mais en raison des merveilles de l'horloge sur Internet, ils sont toujours parfaitement synchronisés.

Conseillé: