Indholdsfortegnelse:

Nixie Clock Mood Barometer: 7 trin (med billeder)
Nixie Clock Mood Barometer: 7 trin (med billeder)

Video: Nixie Clock Mood Barometer: 7 trin (med billeder)

Video: Nixie Clock Mood Barometer: 7 trin (med billeder)
Video: seeing wife face for first time #shorts 2024, November
Anonim
Image
Image

Et uovertruffen tab af Progress er aneroid -hjemmebarometeret. I disse dage kan du stadig finde eksempler i hjemmet til mennesker over halvfems, men millioner flere er på lossepladsen eller på eBay.

I virkeligheden hjalp old-school barometeret sig ikke ved at være stort set ubrugelig i sit ene job. Selv hvis vi antager, at det var korrekt kalibreret og fungerede korrekt, var det næsten umuligt at bruge atmosfærisk tryk til at forudsige vejr eller endda angive det aktuelle vejr.

I mellemtiden blev der til rådighed for at supplere indførelsen af vejrrapporter i massemedierne døgnet rundt, supernøjagtige solid state-tryk, temperatur- og fugtighedsfølere. Kast en processor og et billigt LCD -display i, og du har dig selv en "digital vejrstation til hjemmet". Selv vejr -nørder eller folk, der synes vejr på tv eller internettet er et regeringsplot, behøvede ikke mere et barometer.

Alt det er ærgerligt, for jeg har varme minder om det barometer, vi havde i mit barndomshjem. Min far ville give den et omhyggeligt moduleret tryk hver dag og indstille den aktuelle læseindikator i et mini-ritual, jeg længtes efter at efterligne, da jeg var ældre, selv efter at jeg havde fundet ud af, at tingen bare var en blagger i verdensklasse.

Sådan laver du et opdateret analog-display barometer, der ikke løser nogen af originalens mangler, men som har nogle ekstra funktioner endnu mere ubrugelige end hvad det startede med. Hvis du ser videoen, får du ideen.

I betragtning af dette projekts beskedne mål er det ret komplekst - eller mere præcist, at replikere projektet i sin helhed er for meget for en instruerbar. Af denne grund vil jeg fokusere på barometer/humørbarometer -delen, og for resten vil jeg bare pege dig i den rigtige retning.

Trin 1: Ingredienser og værktøjer

Forbered dit kabinet, omhyggeligt
Forbered dit kabinet, omhyggeligt

Til barometeret/humørbarometeret skal du bruge:

  • Et aneroidbarometer. Behøver ikke at fungere. Noget, der appellerer til dine æstetiske følelser, er vigtigere. Jeg ville ønske, at jeg havde den fra mit barndomshjem, men jeg tror, den er på lossepladsen. Jeg fik en erstatning på eBay for $ 15.
  • En trykføler.
  • Et ESP8266 -modul - jeg brugte en NodeMCU.
  • En passende trinmotor og førertavle - linket er til en arbejdsplads på fem, men til prisen er de svære at slå. Denne motor har 4096 trin i en komplet rotation, hvilket giver rigelig opløsning til vores formål.
  • En 5VDC strømforsyning - mindst 1A - til ESP8266 og motoren. Jeg brugte en kombineret 12VDC og 5VDC forsyning, fordi jeg allerede havde en og havde brug for en 12V forsyning til Nixie uret (plus mere 5V strøm til de andre elementer i projektet).
  • Mindst tre lysdioder (for at angive trykudviklingen).
  • En LDR/fotoresistor.
  • Diverse forbrugsstoffer såsom jumper wire, modstande, varmekrympeslanger osv.
  • I de fleste tilfælde kan du bruge det originale kabinet til det barometer, du bruger, til at huse elektronikken. Jeg genanvendte et vagt urkasse i Arts & Crafts-stil til at huse både uret og barometeret, så jeg behøvede ikke barometerhuset.

Værktøjsmæssigt har du brug for et loddejern, varmepistol og nogle små håndværktøjer. Hvis du har brug for at foretage væsentlige ændringer af sagen, vil et udvalg af elværktøjer være praktisk.

Trin 2: Forbered dit kabinet, omhyggeligt

Hvad du skal gøre her, afhænger stort set af det kabinet, du bruger. Hvis du bruger barometerets egen sag, skal du bare finde ud af, hvordan du skiller det ad og fjerner aneroidmekanismen. Markøren er sandsynligvis monteret direkte på denne mekanisme, og der skal udvises en vis omhu for at løsne markøren uden at beskadige den.

Jeg havde lidt mere arbejde at lave, fordi mit urkasse stadig havde den gamle (ikke-fungerende) urmekanisme i den.

Jeg ved næsten ingenting om mekaniske ure, men de oksekødede spiralfjedre foreslog, at jeg skulle fortsætte med forsigtighed. Ikke desto mindre, da tingen eksploderede, var jeg, godt, uforberedt. Det ene sekund var jeg ved at løsne en tilsyneladende ubetydelig skrue, det næste var der et højt brag og luften fyldt med støv og snavs. Småture var over det hele, og selve sagen var fuldstændig sprængt i stykker. Ligesom jeg forestiller mig, at når en rigtig bombe går, kunne jeg et øjeblik ikke finde ud af, hvad der var sket. I den øredøvende stilhed, der fulgte, forventede jeg halvt at høre den fjerne jamren fra sirener. Desuden gjorde min hånd virkelig ondt.

Lektion 1: Selv beskedent store urmekanismer kan lagre en overraskende stor mængde energi.

Lektion to: Brug sikkerhedsbriller, hvis du er i tvivl! Jeg var heldig, intet fløj ind i mine øjne, men det kunne bestemt have. Nogle gange er det bare ikke nok at engagere de gamle sikkerhedsknipper (ikke engang sikker på, at jeg gjorde dette). Min hånd var fin, jeg var bare en baby.

Efter meget limning og fastspænding fik jeg sagen samlet igen og var klar til at gå videre til trin 3.

Trin 3: Installer komponenter - del 1

Installer komponenter - del 1
Installer komponenter - del 1
Installer komponenter - del 1
Installer komponenter - del 1

Du skal finde en eller anden måde at installere motoren på, så akslen stikker lige nok ud gennem skiven, så når markøren er fastgjort, vil den feje hen over ansigtet uden forstyrrelser. Dette kan være lidt vanskeligere, end det først ser ud, fordi de fleste barometre vil have en anden markør på indersiden af glasset, som i ældre tid blev brugt til at registrere den aktuelle aflæsning. Som forklaret senere, har vi ikke brug for denne markør, men at beholde den hjælper med at bevare enhedens originale udseende.

Under alle omstændigheder betyder eksistensen af den aktuelle læser-markør, at der er en grænse for, hvor langt den "primære" markør kan sidde uden for urskiven.

I den anden retning skal markøren sidde nok væk fra skiven til bare at rydde en skive, der vil indramme en LDR installeret i skiven (se næste trin).

Det, jeg gjorde, var at montere skiven og rammen på en træbager og derefter montere motoren på bagdelen med passende afstandsstykker. Det første billede hjælper måske med at forklare dette, men du kan komme med dit eget arrangement.

En fordel ved at bruge et urkasse eller noget lignende størrelse er, at der er plads til at installere strømforsyningen internt. For mig var dette vigtigt, fordi uret skulle sidde på en kaminhylde, der var tilsluttet en stikkontakt, jeg havde installeret specielt. At skjule en åbenbart anakronistisk "vægvorte" eller SPS -mursten på dette sted ville have været svært - men det er måske ikke et problem for dig.

Komponenter, der ikke er mærket på det andet billede, vedrører urets og kimerdele af projektet (den tredje NodeMCU og tilhørende ledninger er under Nixie PCB).

Placering af alt andet - primært BMP180 -sensoren, motorens driverkort og NodeMCU - er ikke kritisk. Når det er sagt, indtil jeg førte forbindelsesledningen væk fra førerkortet, fungerede motoren nogle gange korrekt. Ikke sikker på hvad der foregik der, men hvis din motor lyder sjov og/eller ikke bevæger sig problemfrit, kan du prøve at flytte ledningerne rundt.

For at undgå behovet for manuelt at registrere trykudviklingen (stigende, faldende eller stabil) inkluderede jeg tre små lysdioder under skiven. Når alle tre lyser, er barometeret i humørtilstand. Jeg brugte "varmhvide" lysdioder til at prøve at opretholde perioden. Umodulerede var de alt for lyse, når de blev set frontalt, men med noget kraftigt PWM fik jeg det look, jeg var ude efter. Den nuværende læsemarkør er stadig tilgængelig for traditionalister.

Trin 4: Installer komponenter - del 2

Installer komponenter - del 2
Installer komponenter - del 2

Lad os behandle LDR i urskiven. For det første, hvorfor i alverden har vi brug for dette?

Nå, det er min løsning på en begrænsning af en billig stepper motor - selvom den kan bevæge sig i præcise trin, har den ingen iboende evne til at vide, hvor den er andet end ved henvisning til dens startposition. Selvom jeg i teorien formoder, at du kunne hard kode dette og holde styr på alle efterfølgende bevægelser, gættede jeg (uden reelt grundlag), at fejl hurtigt ville krybe ind, især i betragtning af de store bevægelser, der kræves i "humørtilstand". Du ville også være fyldt med et strømafbrydelse (at skrive hver bevægelse til EEPROM er ikke rigtig praktisk).

Min første tanke var at indføre en kalibreringscyklus ved opstart og skift mellem humør og barometer-tilstand. Denne cyklus ville udløse en mikrokontakt på et kendt tidspunkt på skiven. Men den mekaniske implementering af switch -ideen virkede for udfordrende for mig. Selve markøren er alt for spinkel til at være aktuatoren, så jeg skulle installere noget andet på skaftet. Så var der spørgsmålet om at bevare 360 ° bevægelse - en af grundene til, at jeg var gået med en stepper motor frem for en standard servo. Med anvendelsen af lidt mere opfindsomhed, end jeg kunne bære, er jeg sikker på, at en mikrokontakt kunne fås til at fungere-eller måske er der også en position-sensor-løsning på hylden til rådighed-men jeg gik en anden vej.

Bemærk på billedet af skiven, at der er en skive monteret i klokken en. Denne vaskemaskine indrammer en LDR, der er forbundet til den enkelte analoge indgang, der er tilgængelig på NodeMCU. Når barometeret er tændt, eller skifter tilstand, går NodeMCU ind i en kalibreringscyklus og leder simpelthen efter en pludselig ændring i lysniveau forårsaget af markørens bagside, der bevæger sig over LDR. Enhver yderligere bevægelse indekseres fra den kendte position. Jeg var nødt til at rode lidt med tærskelværdier i koden for at få dette til at fungere pålideligt, men da det var gjort, blev jeg glædeligt overrasket over, hvor præcis det var - konsekvent at vende tilbage til barometerindstillinger inden for 1% eller 2% af forventede værdier.

Det fungerer naturligvis ikke i fuldstændig mørke, men du ville normalt ikke skifte tilstand derefter. Hvis kalibreringscyklussen af en eller anden grund ikke kan afsluttes inden for en bestemt tid, giver den op og blinker trend -LED'erne.

Anyway, skønheden ved LDR -tilgangen er, at installationen er super enkel - bor et hul, der er lige stort nok til LDR i skiven på et tidspunkt, hvor det vil være dækket af markørens bagende. For at få en fin "forsegling" mellem markøren og LDR'en limes en lille skive rundt om LDR'en og om nødvendigt ændres markørhalen (jeg brugte noget passende formet sort papir).

Trin 5: Koden - Grundlæggende funktionalitet

Koden - Grundlæggende funktionalitet
Koden - Grundlæggende funktionalitet

Som andre har fundet, kunne jeg ikke få standard Arduino stepper motor bibliotek til at arbejde med denne motor og driver. Heldigvis er der en god Instructable om dette med kode, der virker. Jeg brugte koden i det originale opslag til det grundlæggende trin, selvom der er flere optimeringsforslag i kommentarerne. Denne kode kræver ikke et bibliotek.

Til behandling af trykdataene brugte jeg et eksempel fra Sparkfun BMP180 -biblioteket. Det eneste jeg skulle gøre var at gifte mig med motorstyringen.

Trin 6: Koden - Kalibrering, kontrol, GUI, Google Assistant og hjælpefunktioner

Koden - Kalibrering, kontrol, GUI, Google Assistant og hjælpefunktioner
Koden - Kalibrering, kontrol, GUI, Google Assistant og hjælpefunktioner

Primær kalibrering er hårdkodet. For at være på den sikre side og tage højde for mulig flytning af barometeret til en anden højde opnås sekundær kalibrering og kontrol med en webserver, der er spundet op af NodeMCU og Websocket -kommunikation. En god ressource til at lære om dette er her.

Som videoen demonstrerer, er den reelle "wow" -faktor for dette projekt, som det er, kontrol via Google Assistant/Google Home. Der er en instruerbar til brødrister GA (drevet af en Raspberry Pi3) her. Bare rolig, du behøver ikke at bruge en brødrister på $ 400 som kabinet.

Kommandoer sendes af GA via IFTTT og Adafruit IO til NodeMCU. En god ressource om dette er her. Der er andre, mere komplicerede måder at interagere med din Google Assistant, men for dette projekt fungerer denne meget enkle tilgang perfekt.

Endelig indeholder koden nogle ekstremt nyttige hjælpefunktioner (opdatering over luften, Multicast DNS, Wifi Manager), som jeg er begyndt at inkludere i alle mine ESP8266-baserede projekter.

Al koden til dette projekt (herunder Nixie -uret og chimer -kontrollen) er på Github her. Jeg har efterladt de billeder, jeg brugte i HTML/CSS -filerne, så det fungerer ud af boksen (forhåbentlig) - du skal bare tilføje dine egne Adafruit IO -kontooplysninger.

Trin 7: Nixie -uret og chimeren

Nixie -uret og chimeren
Nixie -uret og chimeren

Nixie -uret styres af en separat NodeMCU og bruger et Nixie -rør og drivermodul designet som et Arduino -skjold tilgængeligt her. Versionen i linket indeholder et GPS -modul til at få tid. Mit skjold (en tidligere version) har ikke GPS -modulet, men jeg bruger Node MCU til at hente tid fra internettet, hvilket på nogle måder er bedre.

Kontrolskemaet og GUI for uret har flere konfigurationsmuligheder, men ligner ellers meget barometeret. Der er et lille overlap her, idet Nixie -LED'erne reagerer på barometerets stemningsinput (via det samme Adafruit IO -feed).

Fra vraget af den originale urmekanisme bjærgede jeg nok bits til at bygge en kimmekanisme drevet af en tredje NodeMCU (hey, de er kun $ 6 hver) og en anden trinmotor. Alt jeg tilføjede var en "grænseflade" mellem den originale mekanisme og motoren. "Interface" er i anførselstegn, fordi det kun består af et kuglestik med to søm drevet ind i det vinkelret og skubbet ind på motorakslen. Hver kvart rotation af denne anordning resulterer i et slag af kimeren. Endnu en gang ligner chimer -kontrolsystemet barometeret, og alle tre webservere er knyttet sammen for at få det hele til at virke mere problemfrit, end det egentlig er.

Uret og chimeren NodeMCU'er fungerer fuldstændigt uafhængigt af hinanden, men på grund af underværkerne ved internettid er tid altid perfekt synkroniseret.

Anbefalede: