Inhoudsopgave:

Nixie Clock Stemmingsbarometer - Ajarnpa
Nixie Clock Stemmingsbarometer - Ajarnpa

Video: Nixie Clock Stemmingsbarometer - Ajarnpa

Video: Nixie Clock Stemmingsbarometer - Ajarnpa
Video: Shelf Life [Maker Update #166] - Maker.io 2024, November
Anonim
Image
Image

Een onopgemerkt slachtoffer van Progress is de aneroïde thuisbarometer. Tegenwoordig kun je misschien nog steeds voorbeelden vinden in de huizen van mensen boven de negentig, maar miljoenen meer liggen op de vuilnisbelt of op ebay.

In werkelijkheid hielp de ouderwetse barometer zichzelf niet door vrijwel nutteloos te zijn in zijn ene taak. Zelfs als we aannemen dat het correct is gekalibreerd en goed werkt, is het bijna onmogelijk om atmosferische druk te gebruiken om het weer te voorspellen of zelfs het huidige weer aan te geven.

Ondertussen kwamen, als aanvulling op de introductie van 24/7 massamediaweerberichten, supernauwkeurige solid-state druk-, temperatuur- en vochtigheidssensoren beschikbaar. Voeg een processor en een goedkoop LCD-scherm toe en je hebt een "digitaal weerstation voor thuis". Zelfs weernerds, of mensen die denken dat het weer op tv of internet een complot van de overheid is, hadden geen barometer meer nodig.

Dat is allemaal jammer, want ik heb warme herinneringen aan de barometer die we in mijn ouderlijk huis hadden. Mijn vader zou het elke dag een zorgvuldig gemoduleerde tik geven en de huidige leesindicator instellen in een mini-ritueel dat ik verlangde te evenaren toen ik ouder was, zelfs nadat ik erachter was gekomen dat het ding gewoon een blagger van wereldklasse was.

Hier leest u hoe u een bijgewerkte barometer met analoge weergave maakt die geen van de tekortkomingen van het origineel aanpakt, maar een aantal extra functionaliteit heeft die nog nuttelozer is dan waarmee het begon. Als je de video bekijkt, snap je het idee.

Gezien de bescheiden doelstellingen van dit project, is het vrij complex - of beter gezegd, om het project in zijn geheel te repliceren is te veel voor één Instructable. Om deze reden zal ik me concentreren op het gedeelte barometer/stemmingsbarometer en voor de rest zal ik je gewoon in de goede richting wijzen.

Stap 1: Ingrediënten & Gereedschap

Bereid uw behuizing zorgvuldig voor
Bereid uw behuizing zorgvuldig voor

Voor de barometer/stemmingsbarometer heb je nodig:

  • Een aneroïde barometer. Hoeft niet te werken. Iets dat een beroep doet op uw esthetische gevoeligheden is belangrijker. Ik wou dat ik die uit mijn ouderlijk huis had, maar ik denk dat hij op de vuilnisbelt ligt. Ik heb op ebay een vervangend exemplaar gekregen voor $15.
  • Een druksensor.
  • Een ESP8266-module -- ik gebruikte een NodeMCU.
  • Een geschikte stappenmotor en driverboard - de link is naar een baan van vijf, maar voor de prijs zijn ze moeilijk te verslaan. Deze motor heeft 4096 stappen in een volledige rotatie, wat voldoende resolutie geeft voor onze doeleinden.
  • Een 5VDC voeding -- minimaal 1A -- voor de ESP8266 en de motor. Ik gebruikte een gecombineerde 12VDC- en 5VDC-voeding omdat ik er al een had en een 12V-voeding nodig had voor de Nixie-klok (plus meer 5V-voeding voor de andere elementen van het project).
  • Minimaal drie LED's (om de druktrend aan te geven).
  • Een LDR/fotoresistor.
  • Diverse verbruiksartikelen zoals doorverbindingsdraad, weerstanden, krimpkous, enz.
  • In de meeste gevallen kunt u de originele behuizing van de barometer gebruiken om de elektronica in te huisvesten. Ik heb een vage klokkast in Arts & Crafts-stijl hergebruikt om zowel de klok als de barometer te huisvesten, dus ik had de barometerkast niet nodig.

Qua gereedschap heb je een soldeerbout, heteluchtpistool en wat klein handgereedschap nodig. Als u belangrijke wijzigingen aan de behuizing moet aanbrengen, komt een selectie elektrisch gereedschap van pas.

Stap 2: Bereid uw behuizing zorgvuldig voor

Wat u hier moet doen, is grotendeels afhankelijk van de behuizing die u gebruikt. Als u de eigen behuizing van de barometer gebruikt, hoeft u alleen maar uit te zoeken hoe u deze uit elkaar kunt halen en het aneroïde-mechanisme kunt verwijderen. De aanwijzer is waarschijnlijk direct op dit mechanisme gemonteerd en enige zorg moet worden genomen om de aanwijzer los te maken zonder deze te beschadigen.

Ik had wat meer werk te doen, want in mijn klokkast zat nog het oude (niet werkende) uurwerkmechanisme.

Ik weet bijna niets van mechanische klokken, maar de stevige spiraalveren suggereerden dat ik voorzichtig moest zijn. Maar toen het ding ontplofte, was ik, nou ja, niet voorbereid. Het ene moment maakte ik een schijnbaar onbelangrijke schroef los, het volgende was er een luide knal en de lucht vulde zich met stof en puin. Stukjes klok waren overal en de zaak zelf was volledig uit elkaar geblazen. Net zoals ik me voorstel wanneer een echte bom afgaat, kon ik even niet bedenken wat er was gebeurd. In de oorverdovende stilte die volgde, verwachtte ik half het verre gejammer van sirenes. Mijn hand deed ook echt pijn.

Les één: Zelfs klokmechanismen van bescheiden afmetingen kunnen een verrassend grote hoeveelheid energie opslaan.

Les twee: Draag bij twijfel een veiligheidsbril! Ik had geluk, er vloog niets in mijn ogen, maar het had zeker kunnen zijn. Soms is alleen maar de oude veiligheidsknijpers gebruiken niet genoeg (zelfs niet zeker of ik dit heb gedaan). Mijn hand was in orde, ik was nog maar een baby.

Na veel lijmen en klemmen kreeg ik de behuizing weer in elkaar en was ik klaar om door te gaan naar stap 3.

Stap 3: Installeer componenten - deel 1

Componenten installeren -- Deel 1
Componenten installeren -- Deel 1
Componenten installeren -- Deel 1
Componenten installeren -- Deel 1

U moet een manier vinden om de motor te installeren, zodat de as net genoeg door de wijzerplaat steekt, zodat wanneer de aanwijzer is bevestigd, deze zonder interferentie over het gezicht zal vegen. Dit is misschien iets moeilijker dan het op het eerste gezicht lijkt, omdat de meeste barometers een andere wijzer aan de binnenkant van het glas hebben die in vroeger tijden werd gebruikt om de huidige waarde vast te leggen. Zoals later wordt uitgelegd, hebben we deze aanwijzer niet nodig, maar als u deze bewaart, behoudt u de oorspronkelijke look en feel van het apparaat.

In ieder geval betekent het bestaan van de huidige leeswijzer dat er een limiet is aan hoe ver de "primaire" aanwijzer van de wijzerplaat kan zitten.

In de andere richting moet de aanwijzer ver genoeg van de wijzerplaat zitten om net een ring vrij te maken die een LDR in de wijzerplaat zal omlijsten (zie volgende stap).

Wat ik deed, was de wijzerplaat en het frame op een houten steun monteren en vervolgens de motor op de steun monteren met geschikte afstandhouders. De eerste foto kan dit misschien helpen verklaren, maar u kunt uw eigen arrangement bedenken.

Een voordeel van het gebruik van een klokkast of iets dergelijks is dat er ruimte is om de voeding intern te installeren. Voor mij was dit belangrijk omdat de klok op een schoorsteenmantel zou komen te staan, aangesloten op een stopcontact dat ik speciaal had geïnstalleerd. Het zou moeilijk zijn geweest om een duidelijk anachronistische "muurwrat" of SPS-steen op deze locatie te verbergen, maar dat zou voor jou geen probleem kunnen zijn.

Componenten die niet in de tweede afbeelding zijn gelabeld, hebben betrekking op de klok- en chimer-gedeelten van het project (de derde NodeMCU en bijbehorende bedrading bevinden zich onder de Nixie-PCB).

Plaatsing van al het andere - voornamelijk de BMP180-sensor, het motorstuurprogrammabord en de NodeMCU - is niet kritisch. Dat gezegd hebbende, totdat ik de verbindingsdraad wegleidde van de driverkaart, werkte de motor soms niet goed. Ik weet niet zeker wat daar aan de hand was, maar als je motor grappig klinkt en/of niet soepel beweegt, kun je proberen de draden te verplaatsen.

Om de noodzaak om de druktrend (stijgend, dalend of stabiel) handmatig te registreren, heb ik drie kleine LED's onder de wijzerplaat opgenomen. Als ze alle drie branden, staat de barometer in de stemmingsmodus. Ik heb "warmwitte" LED's gebruikt om het gevoel van een periode te behouden. Ongemoduleerd, ze waren veel te fel wanneer ze frontaal bekeken werden, maar met wat heavy-duty PWM kreeg ik de look die ik zocht. De huidige leeswijzer is nog steeds beschikbaar voor traditionalisten.

Stap 4: Installeer componenten - deel 2

Componenten installeren -- Deel 2
Componenten installeren -- Deel 2

Laten we het hebben over de LDR in de wijzerplaat. Ten eerste, waarom hebben we dit in godsnaam nodig?

Welnu, het is mijn oplossing voor een beperking van een goedkope stappenmotor - hoewel hij in precieze stappen kan bewegen, heeft hij geen inherent vermogen om te weten waar hij is, behalve door te verwijzen naar zijn startpositie. Hoewel ik in theorie veronderstel dat je dit hard zou kunnen coderen en alle volgende bewegingen zou kunnen volgen, vermoedde ik (zonder echte basis) dat er snel fouten zouden binnensluipen, vooral gezien de grootschalige bewegingen die nodig zijn in de "stemmingsmodus". Ook zou je vol zitten met een stroomstoring (het schrijven van elke beweging naar EEPROM is niet echt praktisch).

Mijn eerste gedachte was om een kalibratiecyclus te introduceren bij het opstarten en verschuivingen tussen stemming en barometermodus. Deze cyclus zou een microschakelaar activeren op een bekend punt op de wijzerplaat. Maar de mechanische implementatie van het switch-idee leek me te uitdagend. De aanwijzer zelf is veel te dun om de actuator te zijn, dus ik zou iets anders op de as moeten installeren. Dan was er de kwestie van het behoud van 360 ° -beweging - een reden waarom ik met een stappenmotor was gegaan in plaats van een standaard servo. Met de toepassing van een beetje meer vindingrijkheid dan ik zou kunnen brengen, weet ik zeker dat een microschakelaar zou kunnen werken - of misschien is er ook een kant-en-klare positiesensoroplossing beschikbaar - maar ik ging een andere weg in.

Merk op dat op de afbeelding van de wijzerplaat een ring is gemonteerd in de één-uur-positie. Deze ring omlijst een LDR die is aangesloten op de enkele analoge ingang die beschikbaar is op de NodeMCU. Wanneer de barometer wordt ingeschakeld of van modus verandert, gaat de NodeMCU in een kalibratiecyclus en zoekt hij eenvoudig naar een plotselinge verandering in het lichtniveau die wordt veroorzaakt doordat de achterkant van de aanwijzer over de LDR beweegt. Elke verdere beweging wordt vanaf die bekende positie geïndexeerd. Ik moest een beetje spelen met drempelwaarden in de code om dit betrouwbaar te laten werken, maar toen dat eenmaal was gebeurd, was ik aangenaam verrast over hoe nauwkeurig het was - consequent terugkerend naar barometerinstellingen binnen 1% of 2% van de verwachte waarden.

Het werkt natuurlijk niet in het volledige donker, maar normaal gesproken zou je dan niet van modus wisselen. Als om de een of andere reden de kalibratiecyclus niet binnen een ingestelde tijd kan worden voltooid, geeft hij het op en knippert de trend-LED's.

Hoe dan ook, het mooie van de LDR-aanpak is dat de installatie supereenvoudig is - boor een gat dat net groot genoeg is voor de LDR in de wijzerplaat op een punt waar het wordt bedekt door de achterkant van de aanwijzer. Om een mooie "afdichting" tussen de wijzer en de LDR te krijgen, lijm je een kleine ring rond de LDR en pas je, indien nodig, de wijzerstaart aan (ik gebruikte wat passend gevormd zwart papier).

Stap 5: De code - basisfunctionaliteit

De code - basisfunctionaliteit
De code - basisfunctionaliteit

Zoals anderen hebben gevonden, kon ik de standaard Arduino-stappenmotorbibliotheek niet met deze motor en driver laten werken. Gelukkig is hier een goede Instructable over met code die wel werkt. Ik heb de code in de oorspronkelijke posting gebruikt voor de basisstappen, hoewel er verschillende optimalisatiesuggesties in de opmerkingen staan. Voor deze code is geen bibliotheek vereist.

Voor het verwerken van de drukgegevens heb ik een voorbeeld uit de Sparkfun BMP180-bibliotheek gebruikt. Het enige wat ik toen hoefde te doen, was dit te combineren met de motorbesturing.

Stap 6: De Code - Kalibratie, Controle, GUI, Google Assistent en Hulpfuncties

De code - Kalibratie-, controle-, GUI-, Google Assistent- en hulpprogrammafuncties
De code - Kalibratie-, controle-, GUI-, Google Assistent- en hulpprogrammafuncties

Primaire kalibratie is hard gecodeerd. Voor de zekerheid en om rekening te houden met mogelijke verplaatsing van de barometer naar een andere hoogte, wordt secundaire kalibratie en controle bereikt met een webserver die wordt aangedreven door de NodeMCU en Websocket-communicatie. Een goede bron om hierover te leren is hier.

Zoals de video laat zien, is de echte "wow"-factor van dit project, zoals het is, echter de bediening via Google Assistant/Google Home. Er is een Instructable voor de broodrooster GA (aangedreven door een Raspberry Pi3) hier. Maak je geen zorgen, je hoeft geen broodrooster van $ 400 als behuizing te gebruiken.

Opdrachten worden door de GA via IFTTT en Adafruit IO doorgegeven aan de NodeMCU. Een goede bron hierover is hier. Er zijn andere, meer gecompliceerde manieren om met je Google Assistent te communiceren, maar voor dit project werkt deze zeer eenvoudige aanpak perfect.

Ten slotte bevat de code een aantal uiterst nuttige hulpprogramma-functies (over-the-air bijwerken, Multicast DNS, Wifi Manager) die ik ben begonnen op te nemen in al mijn op ESP8266 gebaseerde projecten.

Alle code voor dit project (inclusief de Nixie-klok en chimer-besturing) staat hier op Github. Ik heb de afbeeldingen die ik heb gebruikt in de HTML/CSS-bestanden gelaten, dus het werkt uit de doos (hopelijk) - je hoeft alleen maar je eigen Adafruit IO-accountgegevens toe te voegen.

Stap 7: De Nixie Clock en Chimer

De Nixie Klok en Chimer
De Nixie Klok en Chimer

De Nixie Clock wordt bestuurd door een aparte NodeMCU en maakt gebruik van een Nixie-buis en drivermodule die is ontworpen als een Arduino-schild dat hier beschikbaar is. De versie in de link bevat een GPS-module voor het verkrijgen van tijd. Mijn schild (een eerdere versie) heeft geen GPS-module, maar ik gebruik de Node MCU om tijd van internet te halen, wat in sommige opzichten beter is.

Het besturingsschema en de GUI voor de klok hebben meer configuratie-opties, maar lijken verder sterk op de barometer. Er is hier een kleine overlap omdat de Nixie-LED's reageren op stemmingsinvoer van de barometer (via dezelfde Adafruit IO-feed).

Van het wrak van het originele uurwerkmechanisme heb ik genoeg stukjes gered om een chimer-mechanisme te bouwen dat wordt aangedreven door een derde NodeMCU (hey, ze zijn slechts $ 6 per stuk) en een andere stappenmotor. Alles wat ik heb toegevoegd was een "interface" tussen het originele mechanisme en de motor. "Interface" staat tussen aanhalingstekens omdat het alleen bestaat uit een kogelverbinding met twee spijkers die er haaks in zijn gedreven en op de motoras zijn geschoven. Elke kwartrotatie van dit apparaat resulteert in één slag van de chimer. Nogmaals, het chimer-besturingsschema is vergelijkbaar met de barometer en alle drie de webservers zijn met elkaar verbonden om het geheel meer naadloos te laten lijken dan het in werkelijkheid is.

De klok en chimer NodeMCU's werken volledig onafhankelijk van elkaar, maar vanwege de wonderen van internettijdwaarneming zijn ze altijd perfect synchroon.

Aanbevolen: