Innholdsfortegnelse:

Nixie Clock Mood Barometer: 7 trinn (med bilder)
Nixie Clock Mood Barometer: 7 trinn (med bilder)

Video: Nixie Clock Mood Barometer: 7 trinn (med bilder)

Video: Nixie Clock Mood Barometer: 7 trinn (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Image
Image

Et ubemerket offer for Progress er aneroid -hjemmebarometeret. I disse dager kan du fortsatt finne eksempler i hjemmene til mennesker over nitti, men millioner flere er på søppelplassen eller på eBay.

I sannhet hjalp ikke barometeret på gamle skolen seg selv ved å være ganske ubrukelig på den ene jobben. Selv om vi antar at den var riktig kalibrert og fungerte som den skal, var det nesten umulig å bruke atmosfærisk trykk for å forutsi vær, eller til og med indikere gjeldende vær.

I mellomtiden, for å supplere introduksjonen av 24/7 massemedia værmeldinger, ble supernøyaktige solid state-trykk, temperatur- og fuktighetssensorer tilgjengelige. Kast inn en prosessor og en billig LCD -skjerm, så har du deg selv en "digital værstasjon for hjemmet". Selv værnerder, eller folk som tror vær på tv eller internett er et regjeringsplott, trengte ikke et barometer lenger.

Alt dette er synd, for jeg har varme minner fra barometeret vi hadde i barndomshjemmet. Min far ville gi den et nøye modulert trykk hver dag og sette den nåværende lesningsindikatoren i et mini-ritual jeg lengtet etter å etterligne da jeg var eldre, selv etter at jeg hadde funnet ut at tingen bare var en uklarhet i verdensklasse.

Slik lager du et oppdatert barometer med analog skjerm som ikke tar opp noen av manglene i originalen, men som har noen ekstra funksjonalitet enda mer ubrukelig enn det den startet med. Hvis du ser videoen, får du ideen.

Gitt de beskjedne målene med dette prosjektet, er det ganske komplekst - eller mer nøyaktig, å replikere prosjektet i sin helhet er for mye for en instruerbar. Av denne grunn vil jeg fokusere på delen barometer/humørbarometer og for resten vil jeg bare peke deg i riktig retning.

Trinn 1: Ingredienser og verktøy

Forbered kabinettet, forsiktig
Forbered kabinettet, forsiktig

For barometeret/humørbarometeret trenger du:

  • Et aneroidbarometer. Trenger ikke fungere. Noe som appellerer til dine estetiske følelser er viktigere. Jeg skulle ønske jeg hadde den fra barndomshjemmet, men jeg tror den er på søppelplassen. Jeg fikk en erstatning på eBay for $ 15.
  • En trykksensor.
  • En ESP8266 -modul - jeg brukte en NodeMCU.
  • En passende steppermotor og førerkort - lenken er til en jobblott på fem, men for prisen er de vanskelig å slå. Denne motoren har 4096 trinn i en fullstendig rotasjon, noe som gir god oppløsning for våre formål.
  • En 5VDC strømforsyning - minst 1A - for ESP8266 og motoren. Jeg brukte en kombinert 12VDC og 5VDC forsyning fordi jeg allerede hadde en og trengte en 12V forsyning for Nixie -klokken (pluss mer 5V strøm for de andre elementene i prosjektet).
  • Minst tre lysdioder (for å indikere trykkutviklingen).
  • En LDR/fotoresistor.
  • Diverse forbruksvarer som jumper wire, motstander, varmekrympeslanger, etc.
  • I de fleste tilfeller kan du bruke det originale etuiet til barometeret du bruker til å huse elektronikken. Jeg repurposed en vagt Arts & Crafts-stil klokke tilfelle for å huse både klokke og barometer, så jeg trengte ikke barometeret.

Verktøyvis trenger du et loddejern, varmepistol og noen små håndverktøy. Hvis du trenger å gjøre betydelige endringer i saken, vil et utvalg elektroverktøy komme godt med.

Trinn 2: Forbered kabinettet, forsiktig

Hva du må gjøre her, er i stor grad avhengig av kabinettet du bruker. Hvis du bruker barometerets eget etui, trenger du bare finne ut hvordan du får det fra hverandre og fjerner aneroidmekanismen. Pekeren er sannsynligvis direkte montert på denne mekanismen, og det må utvises forsiktighet for å løsne pekeren uten å skade den.

Jeg hadde litt mer arbeid å gjøre, fordi klokkehuset mitt fortsatt hadde den gamle (ikke-fungerende) urmekanismen.

Jeg vet nesten ingenting om mekaniske klokker, men de biffete spiralfjærene foreslo at jeg skulle fortsette med forsiktighet. Likevel, da tingen eksploderte var jeg, vel, uforberedt. Det ene sekundet løsnet jeg en tilsynelatende ubetydelig skrue, den neste var det et høyt smell og luften fylt med støv og rusk. Klokker var overalt og selve saken ble fullstendig sprengt. Omtrent som jeg forestiller meg når en skikkelig bombe går, kunne jeg ikke et øyeblikk finne ut hva som hadde skjedd. I den øredøvende stillheten som fulgte, forventet jeg halvparten å høre den fjerne sirenen. Dessuten gjorde hånden min veldig vondt.

Leksjon én: Selv klokkemekanismer av beskjeden størrelse kan lagre en overraskende stor mengde energi.

Leksjon to: Bruk sikkerhetsbriller når du er i tvil! Jeg var heldig, ingenting fløy inn i øynene mine, men det kunne sikkert ha gjort det. Noen ganger er det bare ikke nok å engasjere de gamle sikkerhetsknippene (ikke engang sikker på at jeg gjorde dette). Hånden min var fin, jeg var bare en baby.

Etter mye liming og klemming, tok jeg sammen saken igjen og var klar til å gå videre til trinn 3.

Trinn 3: Installer komponenter - del 1

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

Du må finne en måte å installere motoren på, slik at akselen stikker gjennom skiven akkurat nok til at når pekeren er festet, vil den feie over ansiktet uten forstyrrelser. Dette kan være litt vanskeligere enn det først ser ut, fordi de fleste barometre vil ha en annen peker på innsiden av glasset som i gamle tider ble brukt til å registrere gjeldende avlesning. Som forklart senere, trenger vi ikke denne pekeren, men å beholde den bidrar til å bevare enhetens opprinnelige utseende og preg.

Under alle omstendigheter betyr eksistensen av den nåværende lesepekeren at det er en grense for hvor langt den "primære" pekeren kan sitte utenfor ansiktet på skiven.

I den andre retningen må pekeren sitte nok unna skiven for å bare fjerne en vaskemaskin som vil ramme en LDR installert i skiven (se neste trinn).

Det jeg gjorde var å montere skiven og rammen på en trebakside, og deretter montere motoren på baksiden med passende avstandsstykker. Det første bildet kan hjelpe deg med å forklare dette, men du kan komme med ditt eget arrangement.

En fordel med å bruke et urkasse eller noe lignende størrelse er at det er plass til å installere strømforsyningen internt. For meg var dette viktig fordi klokken skulle sitte på en mantelepiece plugget inn i et uttak jeg hadde installert spesielt. Å skjule en åpenbart anakronistisk "veggvorte" eller SPS -murstein på dette stedet ville ha vært vanskelig - men det er kanskje ikke et problem for deg.

Komponenter som ikke er merket i det andre bildet, vedrører klokke- og chimerdelene av prosjektet (den tredje NodeMCU og tilhørende ledninger er under Nixie -kretskortet).

Plassering av alt annet - først og fremst BMP180 -sensoren, motordriverkortet og NodeMCU - er ikke kritisk. Når det er sagt, før jeg førte forbindelseskabelen bort fra førerkortet, fungerte motoren noen ganger skikkelig. Ikke sikker på hva som foregikk der, men hvis motoren din høres morsom ut og/eller ikke beveger seg jevnt, vil du kanskje prøve å flytte ledningene rundt.

For å unngå behovet for å registrere trykkutviklingen manuelt (stigende, fallende eller jevn) inkluderte jeg tre små lysdioder under skiven. Når alle tre er tent, er barometeret i humørmodus. Jeg brukte "varmhvite" lysdioder for å prøve å opprettholde perioden. Umodulert, de var altfor lyse når de ble sett på fronten, men med litt kraftig PWM fikk jeg det utseendet jeg var ute etter. Den nåværende lesepekeren er fremdeles tilgjengelig for tradisjonalister.

Trinn 4: Installer komponenter - del 2

Installer komponenter - del 2
Installer komponenter - del 2

La oss håndtere LDR på skiven. Først, hvorfor i all verden trenger vi dette?

Vel, det er min løsning på en begrensning av en billig trinnmotor - selv om den kan bevege seg i presise trinn, har den ingen iboende evne til å vite hvor den er annet enn ved å referere til startposisjonen. Selv om jeg i teorien antar at du kan kode dette og holde oversikt over alle påfølgende bevegelser, gjettet jeg (uten egentlig grunnlag) at feil raskt ville krype inn, spesielt gitt de store bevegelsene som kreves i "humørmodus". Du vil også bli fylt med strømbrudd (å skrive hver bevegelse til EEPROM er egentlig ikke praktisk).

Min første tanke var å introdusere en kalibreringssyklus ved oppstart og skift mellom humør og barometer-modus. Denne syklusen ville slå en mikrobryter på et kjent punkt på skiven. Men den mekaniske implementeringen av bytteideen virket for utfordrende for meg. Selve pekeren er for spinkel til å være aktuatoren, så jeg må installere noe annet på akselen. Så var det spørsmålet om å bevare 360 ° bevegelse - en grunn til at jeg hadde gått med en trinnmotor i stedet for en standard servo. Ved å bruke litt mer oppfinnsomhet enn jeg kunne klare, er jeg sikker på at en mikrobryter kan fås til å fungere-eller kanskje det også er en posisjonssensorløsning på hyllen tilgjengelig-men jeg gikk en annen vei.

Legg merke til på bildet av skiven at det er en vaskemaskin montert i klokken ett. Denne vaskemaskinen rammer inn en LDR koblet til den analoge inngangen som er tilgjengelig på NodeMCU. Når barometeret slås på eller bytter modus, går NodeMCU inn i en kalibreringssyklus og ser bare etter en plutselig endring i lysnivået forårsaket av baksiden av pekeren som beveger seg over LDR. Enhver videre bevegelse indekseres fra den kjente posisjonen. Jeg måtte tukle litt med terskelverdier i koden for å få dette til å fungere pålitelig, men når det var gjort, ble jeg positivt overrasket over hvor nøyaktig det var - konsekvent å gå tilbake til barometerinnstillinger innen 1% eller 2% av forventede verdier.

Det fungerer åpenbart ikke i mørket, men du vil vanligvis ikke bytte modus da. Hvis kalibreringssyklusen av en eller annen grunn ikke kan fullføres innen en angitt tid, gir den opp og blinker trend -LEDene.

Uansett, skjønnheten i LDR -tilnærmingen er at installasjonen er superenkel - bor et hull som er akkurat stort nok for LDR i skiven på et punkt der det vil bli dekket av bakenden av pekeren. For å få en fin "forsegling" mellom pekeren og LDR, limer du en liten vaskemaskin rundt LDR og, om nødvendig, endrer pekerhalen (jeg brukte litt passende formet svart papir).

Trinn 5: Koden - grunnleggende funksjonalitet

Koden - grunnleggende funksjonalitet
Koden - grunnleggende funksjonalitet

Som andre har funnet, kunne jeg ikke få standard Arduino stepper motorbibliotek til å fungere med denne motoren og driveren. Heldigvis er det en god instruks på dette med kode som fungerer. Jeg brukte koden i det opprinnelige innlegget for det grunnleggende trinnet, selv om det er flere optimaliseringsforslag i kommentarene. Denne koden krever ikke et bibliotek.

For å behandle trykkdataene brukte jeg et eksempel fra Sparkfun BMP180 -biblioteket. Alt jeg måtte gjøre da var å gifte meg med motorstyringen.

Trinn 6: Koden - Kalibrering, kontroll, GUI, Google Assistant og verktøyfunksjoner

Koden - Kalibrering, kontroll, GUI, Google Assistant og verktøyfunksjoner
Koden - Kalibrering, kontroll, GUI, Google Assistant og verktøyfunksjoner

Primær kalibrering er hardkodet. For å være på den sikre siden, og for å redegjøre for mulig flytting av barometeret til en annen høyde, oppnås sekundær kalibrering og kontroll med en webserver spunnet opp av NodeMCU og Websocket -kommunikasjon. En god ressurs for å lære om dette er her.

Som videoen viser, er imidlertid den virkelige "wow" -faktoren for dette prosjektet, som det er, kontroll via Google Assistant/Google Home. Det er en instruerbar for brødristeren GA (drevet av en Raspberry Pi3) her. Ikke bekymre deg, du trenger ikke å bruke en brødrister på $ 400 som et kabinett.

Kommandoer sendes av GA via IFTTT og Adafruit IO til NodeMCU. En god ressurs om dette er her. Det er andre, mer kompliserte måter å samhandle med Google Assistant på, men for dette prosjektet fungerer denne enkle metoden perfekt.

Til slutt inneholder koden noen ekstremt nyttige verktøyfunksjoner (over-the-air oppdatering, Multicast DNS, Wifi Manager) som jeg har begynt å inkludere i alle mine ESP8266-baserte prosjekter.

All koden for dette prosjektet (inkludert Nixie -klokken og chimerkontrollen) er på Github her. Jeg har forlatt bildene jeg brukte i HTML/CSS -filene, så det fungerer ut av boksen (forhåpentligvis) - du trenger bare å legge til din egen Adafruit IO -kontodetaljer.

Trinn 7: The Nixie Clock and Chimer

The Nixie Clock and Chimer
The Nixie Clock and Chimer

Nixie -klokken styres av en egen NodeMCU og bruker et Nixie -rør og drivermodul designet som et Arduino -skjold tilgjengelig her. Versjonen i lenken inneholder en GPS -modul for å skaffe tid. Skjoldet mitt (en tidligere versjon) har ikke GPS -modulen, men jeg bruker Node MCU for å få tid fra internett, noe som på noen måter er bedre.

Kontrollskjemaet og GUI for klokken har flere konfigurasjonsalternativer, men ligner ellers veldig på barometeret. Det er en liten overlapping her ved at Nixie -lysdiodene reagerer på stemningsinngangene til barometeret (via samme Adafruit IO -feed).

Fra vraket av den originale urmekanismen reddet jeg nok biter til å bygge en kimmekanisme drevet av en tredje NodeMCU (hei, de er bare $ 6 hver) og en annen trinnmotor. Alt jeg la til var et "grensesnitt" mellom den originale mekanismen og motoren. "Grensesnitt" er i anførselstegn fordi den bare består av en kulekontakt med to spiker drevet inn i den i rette vinkler og skjøvet på motorakselen. Hver kvartalsrotasjon av dette utstyret resulterer i ett slag av chimeren. Nok en gang ligner chimer -kontrollprogrammet barometeret, og alle tre webserverne er koblet sammen for å få hele partiet til å virke mer sømløst enn det egentlig er.

Klokken og chimeren NodeMCU fungerer helt uavhengig av hverandre, men på grunn av underverkene ved Internett -tidtaking er alltid perfekt synkronisert.

Anbefalt: