İçindekiler:

Nixie Clock Mood Barometresi: 7 Adım (Resimlerle)
Nixie Clock Mood Barometresi: 7 Adım (Resimlerle)

Video: Nixie Clock Mood Barometresi: 7 Adım (Resimlerle)

Video: Nixie Clock Mood Barometresi: 7 Adım (Resimlerle)
Video: İllüzyondan Kaçış: Bernardo Kastrup Gerçeği Ortaya Çıkarıyor 2024, Kasım
Anonim
Image
Image

İlerleme'nin dikkat çekmeyen bir zayiatı, aneroid ev barometresidir. Bu günlerde doksan yaşın üzerindeki insanların evlerinde hala örnekler bulabilirsiniz, ancak milyonlarcası çöplükte veya ebay'de.

Gerçekte, eski tarz barometre, tek işinde oldukça işe yaramaz olmakla kendisine yardımcı olmadı. Doğru şekilde kalibre edildiğini ve düzgün çalıştığını varsaysak bile, hava durumunu tahmin etmek veya hatta mevcut hava durumunu belirtmek için atmosferik basıncı kullanmak neredeyse imkansızdır.

Bu arada, 7/24 kitle iletişim hava durumu raporlarının tanıtımını desteklemek için süper doğru katı hal basıncı, sıcaklık ve nem sensörleri kullanıma sunuldu. Bir işlemci ve ucuz bir LCD ekran takın ve kendinize bir "dijital ev hava durumu istasyonu"na sahip olun. Hava durumu meraklıları ya da televizyonda ya da internette hava durumunu bir hükümet planı sananlar bile artık bir barometreye ihtiyaç duymuyordu.

Bütün bunlar utanç verici çünkü çocukluğumdaki evimizde barometreye dair sıcak anılarım var. Babam her gün dikkatlice ayarlanmış bir dokunuş verir ve mevcut okuma göstergesini, o şeyin sadece birinci sınıf bir palavracı olduğunu anladıktan sonra bile, büyüdüğümde taklit etmeyi özlediğim mini bir ritüelde ayarlardı.

Orijinalin eksikliklerinden hiçbirini ele almayan, ancak başlangıçta olduğundan daha yararsız bazı ek işlevlere sahip güncellenmiş bir analog ekranlı barometrenin nasıl yapılacağı aşağıda açıklanmıştır. Videoyu izlerseniz fikir sahibi olursunuz.

Bu projenin mütevazı hedefleri göz önüne alındığında, oldukça karmaşıktır - veya daha doğrusu, projeyi bütünüyle çoğaltmak bir Eğitilebilir için çok fazla. Bu nedenle, barometre/ruh hali barometresi kısmına odaklanacağım ve geri kalanı için sadece sizi doğru yöne işaret edeceğim.

Adım 1: Malzemeler ve Araçlar

Muhafazanızı Dikkatlice Hazırlayın
Muhafazanızı Dikkatlice Hazırlayın

Barometre/ruh hali barometresi için ihtiyacınız olacak:

  • Bir aneroid barometre. Çalışmak zorunda değil. Estetik duyarlılığınıza hitap eden bir şey daha önemlidir. Keşke çocukluk evimden bir tane olsaydı ama sanırım çöplükte. Ebay'de 15 dolara yedek aldım.
  • Bir basınç sensörü.
  • Bir ESP8266 modülü -- Bir NodeMCU kullandım.
  • Uygun bir step motor ve sürücü panosu -- bağlantı, beş kişilik bir iş için, ancak fiyat için yenilmesi zor. Bu motor, tam bir dönüşte 4096 adıma sahiptir ve amaçlarımız için yeterli çözünürlük sağlar.
  • ESP8266 ve motor için 5VDC güç kaynağı -- en az 1A --. Birleştirilmiş 12VDC ve 5VDC kaynağı kullandım çünkü zaten bir tane vardı ve Nixie saati için 12V'luk bir kaynağa ihtiyacım vardı (artı projenin diğer öğeleri için daha fazla 5V güç).
  • En az üç LED (basınç eğilimini belirtmek için).
  • Bir LDR/fotodirenç.
  • Atlama teli, dirençler, ısıyla daralan makaron vb. gibi çeşitli sarf malzemeleri.
  • Çoğu durumda, elektroniği barındırmak için kullandığınız barometrenin orijinal kasasını kullanabilirsiniz. Belli belirsiz bir Sanat ve El Sanatları tarzı saat kasasını hem saati hem de barometreyi barındırmak için yeniden tasarladım, böylece barometre kasasına ihtiyaç duymadım.

Araçlar açısından, bir havya, ısı tabancası ve bazı küçük el aletlerine ihtiyacınız olacak. Kasada önemli değişiklikler yapmanız gerekiyorsa, çeşitli elektrikli el aletleri işinize yarayacaktır.

Adım 2: Muhafazanızı Dikkatlice Hazırlayın

Burada yapmanız gerekenler büyük ölçüde kullandığınız kasaya bağlıdır. Barometrenin kendi kasasını kullanıyorsanız, sadece onu nasıl ayıracağınızı ve aneroid mekanizmasını nasıl çıkaracağınızı bulmanız gerekir. İşaretçi muhtemelen doğrudan bu mekanizmaya monte edilmiştir ve işaretçiye zarar vermeden ayırmak için biraz özen gösterilmesi gerekir.

Yapacak biraz daha işim vardı, çünkü saat kasamda hala eski (çalışmayan) saat mekanizması vardı.

Mekanik saatler hakkında neredeyse hiçbir şey bilmiyorum, ancak etli sarmal yaylar dikkatli hareket etmemi önerdi. Yine de, şey patladığında hazırlıksızdım. Bir saniye görünüşte önemsiz bir vidayı çözüyordum, sonra yüksek bir patlama oldu ve hava toz ve döküntülerle doldu. Saat parçaları her yerdeydi ve kasanın kendisi tamamen parçalanmıştı. Gerçek bir bomba patladığında hayal ettiğim gibi, bir an ne olduğunu anlayamadım. Bunu izleyen sağır edici sessizlikte, sirenlerin uzaktan gelen feryatlarını duymayı yarı yarıya bekliyordum. Ayrıca elim çok acıdı.

Birinci Ders: Mütevazı boyuttaki saat mekanizmaları bile şaşırtıcı derecede büyük miktarda enerji depolayabilir.

İkinci Ders: Şüphe duyduğunuzda koruyucu gözlük takın! Şanslıydım, gözüme hiçbir şey kaçmadı ama kesinlikle olabilirdi. Bazen sadece eski güvenlik gözlerini kısmak yeterli değildir (bunu yaptığımdan bile emin değilim). Elim iyiydi, sadece bebektim.

Bir sürü yapıştırma ve sıkıştırma işleminden sonra kasayı tekrar bir araya getirdim ve 3. Adıma geçmeye hazırdım.

Adım 3: Bileşenleri Kurun -- Bölüm 1

Bileşenleri Yükleme -- Bölüm 1
Bileşenleri Yükleme -- Bölüm 1
Bileşenleri Yükleme -- Bölüm 1
Bileşenleri Yükleme -- Bölüm 1

Motoru kurmanın bir yolunu bulmanız gerekir, böylece şaft kadrandan yeterince dışarı çıkar, böylece işaretçi takıldığında, parazit olmadan yüz boyunca süpürür. Bu, ilk göründüğünden biraz daha zor olabilir, çünkü çoğu barometre, eski zamanlarda mevcut okumayı kaydetmek için kullanılan camın içinde başka bir işaretçiye sahip olacaktır. Daha sonra açıklanacağı gibi, bu işaretçiye ihtiyacımız olmayacak, ancak onu tutmak, cihazın orijinal görünümünü ve verdiği hissi korumaya yardımcı olur.

Her durumda, mevcut okuma göstergesinin varlığı, "birincil" işaretçinin kadranın yüzeyinden ne kadar uzağa oturabileceğinin bir sınırı olduğu anlamına gelir.

Diğer yönde, işaretçinin kadrana monte edilmiş bir LDR'yi çerçeveleyecek bir rondelayı temizlemek için kadrandan yeterince uzağa oturması gerekir (bir sonraki adıma bakın).

Yaptığım, kadranı ve çerçevesini ahşap bir destek üzerine monte etmek, ardından motoru uygun ara parçalarla destek üzerine monte etmekti. İlk resim bunu açıklamaya yardımcı olabilir, ancak kendi düzenlemenizi yapabilirsiniz.

Saat kasası veya benzer boyutta bir şey kullanmanın bir avantajı, güç kaynağını dahili olarak kurmak için yer olmasıdır. Benim için bu önemliydi çünkü saat, özel olarak kurduğum bir prize takılı bir şöminenin üzerine oturacaktı. Açıkça anakronik bir "duvar siğil" veya SPS tuğlasını bu konumda saklamak zor olurdu - ama bu sizin için bir sorun olmayabilir.

İkinci resimde etiketlenmeyen bileşenler, projenin saat ve chimer bölümleriyle ilgilidir (üçüncü NodeMCU ve ilgili kablolama Nixie PCB altındadır).

Diğer her şeyin yerleştirilmesi - özellikle BMP180 sensörü, motor sürücü kartı ve NodeMCU - kritik değildir. Bununla birlikte, ara bağlantı kablosunu sürücü panosundan uzağa yönlendirene kadar motor bazen düzgün çalışmadı. Orada neler olduğundan emin değilim ama motorunuz kulağa komik geliyorsa ve/veya düzgün hareket etmiyorsa, kabloları hareket ettirmeyi denemek isteyebilirsiniz.

Basınç eğilimini (yükselen, düşen veya sabit) manuel olarak kaydetme ihtiyacından kaçınmak için kadranın altına üç küçük LED ekledim. Üçü de yandığında, barometre ruh hali modundadır. Dönem hissini denemek ve sürdürmek için "sıcak beyaz" LED'ler kullandım. Modüle edilmemiş, önden bakıldığında çok parlaktılar, ancak bazı ağır hizmet PWM'leri ile aradığım görünümü elde ettim. Mevcut okuma işaretçisi, gelenekçiler için hala kullanılabilir.

Adım 4: Bileşenleri Kurun -- Bölüm 2

Bileşenleri Yükleme -- Bölüm 2
Bileşenleri Yükleme -- Bölüm 2

Kadrandaki LDR ile ilgilenelim. İlk olarak, neden buna ihtiyacımız var?

Bu, ucuz bir step motorun sınırlamasına benim çözümüm - kesin adımlarla hareket edebilmesine rağmen, başlangıç pozisyonuna atıfta bulunmak dışında nerede olduğunu bilmek için doğal bir yeteneği yoktur. Teorik olarak, bunu zor kodlayabileceğinizi ve sonraki tüm hareketleri takip edebileceğinizi varsayalım, tahmin ettiğim gibi (gerçek bir temel olmadan), özellikle "ruh hali modunda" gereken büyük ölçekli hareketler göz önüne alındığında, hataların hızla ortaya çıkacağını tahmin ettim. Ayrıca, bir elektrik kesintisine maruz kalırsınız (her hareketi EEPROM'a yazmak gerçekten pratik değildir).

İlk düşüncem, açılışta bir kalibrasyon döngüsü tanıtmak ve ruh hali ile barometre modu arasında geçiş yapmaktı. Bu döngü, kadran üzerinde bilinen bir noktada bir mikro anahtarı açar. Ancak geçiş fikrinin mekanik uygulaması bana çok zor geldi. İşaretçinin kendisi, aktüatör olamayacak kadar dayanıksız, bu yüzden mile başka bir şey takmam gerekecek. Sonra 360° hareketi koruma sorunu vardı - standart bir servo yerine step motor kullanmamın bir nedeni. Yapabileceğimden biraz daha fazla ustalık uygulamasıyla, eminim ki bir mikro şalter çalıştırılabilir - veya belki de kullanıma hazır bir konum sensörü çözümü de mevcuttur - ama ben başka bir yoldan gittim.

Kadranın resminde saat bir konumuna monte edilmiş bir pul olduğuna dikkat edin. Bu yıkayıcı, NodeMCU'da bulunan tek analog girişe bağlı bir LDR'yi çerçeveler. Barometreye güç verildiğinde veya modları değiştirdiğinde, NodeMCU bir kalibrasyon döngüsüne girer ve işaretçinin arka tarafının LDR üzerinde hareket etmesinden kaynaklanan ışık seviyesindeki ani değişikliği arar. Başka herhangi bir hareket, bu bilinen konumdan endekslenir. Bunun güvenilir bir şekilde çalışması için koddaki eşik değerleriyle biraz oynamam gerekti, ancak bu yapıldıktan sonra ne kadar doğru olduğuna hoş bir şekilde şaşırdım - sürekli olarak barometre ayarlarına beklenen değerlerin %1 veya %2'si içinde dönüyordum.

Açıkçası, tamamen karanlıkta çalışmıyor, ancak o zaman genellikle modları değiştirmezsiniz. Herhangi bir nedenle kalibrasyon döngüsü belirlenen süre içerisinde tamamlanamazsa, pes eder ve trend LED'lerini yanıp söner.

Her neyse, LDR yaklaşımının güzelliği kurulumun son derece basit olmasıdır - göstergenin arka ucu tarafından kapatılacağı bir noktada kadrandaki LDR için yeterince büyük bir delik açın. İşaretçi ve LDR arasında güzel bir "mühür" elde etmek için LDR'nin etrafına küçük bir pul yapıştırın ve gerekirse işaretçi kuyruğunu değiştirin (uygun şekilde şekillendirilmiş siyah kağıt kullandım).

Adım 5: Kod - Temel İşlevsellik

Kod - Temel İşlevsellik
Kod - Temel İşlevsellik

Diğerlerinin de bulduğu gibi, bu motor ve sürücü ile çalışmak için standart Arduino step motor kütüphanesini alamadım. Neyse ki, bu konuda çalışan kodlu iyi bir Eğitilebilirlik var. Yorumlarda birkaç optimizasyon önerisi olmasına rağmen, temel adım için orijinal gönderideki kodu kullandım. Bu kod bir kitaplık gerektirmez.

Basınç verilerini işlemek için Sparkfun BMP180 kitaplığından bir örnek kullandım. O zaman tek yapmam gereken bunu motor kontrolüyle birleştirmekti.

6. Adım: Kod - Kalibrasyon, Kontrol, GUI, Google Asistan ve Yardımcı İşlevler

Kod - Kalibrasyon, Kontrol, GUI, Google Asistan ve Yardımcı İşlevler
Kod - Kalibrasyon, Kontrol, GUI, Google Asistan ve Yardımcı İşlevler

Birincil kalibrasyon sabit kodlanmıştır. Güvenli tarafta olmak ve barometrenin farklı bir irtifaya olası taşınmasını hesaba katmak için, NodeMCU ve Websocket iletişimi tarafından döndürülen bir web sunucusu ile ikincil kalibrasyon ve kontrol gerçekleştirilir. Bunu öğrenmek için iyi bir kaynak burada.

Ancak videonun gösterdiği gibi, bu projenin gerçek "vay" faktörü, olduğu gibi, Google Asistan/Google Home aracılığıyla kontrol edilir. Burada tost makinesi GA (bir Raspberry Pi3 tarafından desteklenmektedir) için bir Eğitilebilirlik var. Endişelenmeyin, muhafaza olarak 400 dolarlık bir ekmek kızartma makinesi kullanmanıza gerek yok.

Komutlar GA tarafından IFTTT ve Adafruit IO aracılığıyla NodeMCU'ya iletilir. Bu konuda iyi bir kaynak burada. Google Asistanınızla etkileşim kurmanın başka, daha karmaşık yolları var, ancak bu proje için bu çok basit yaklaşım mükemmel çalışıyor.

Son olarak, kod, tüm ESP8266 tabanlı projelerime dahil etmeye başladığım bazı son derece kullanışlı yardımcı program işlevlerini (kablosuz güncelleme, Çok Noktaya Yayın DNS, Wifi Yöneticisi) içeriyor.

Bu projenin tüm kodu (Nixie saati ve chimer kontrolü dahil) burada Github'da. Kullandığım görüntüleri HTML/CSS dosyalarında bıraktım, bu yüzden kutudan çıktı (umarım) - kendi Adafruit IO hesap ayrıntılarınızı eklemeniz yeterli.

7. Adım: Nixie Clock ve Chimer

Nixie Saati ve Chimer
Nixie Saati ve Chimer

Nixie Clock, ayrı bir NodeMCU tarafından kontrol edilir ve burada bulunan bir Arduino kalkanı olarak tasarlanmış bir Nixie tüpü ve sürücü modülü kullanır. Linkteki versiyonda zaman almak için bir GPS modülü bulunmaktadır. Kalkanım (daha eski bir sürüm) GPS modülüne sahip değil ama internetten zaman elde etmek için Düğüm MCU'sunu kullanıyorum, bu bazı yönlerden daha iyi.

Saat için kontrol şeması ve GUI, daha fazla yapılandırma seçeneğine sahiptir, ancak bunun dışında barometreye çok benzer. Burada, Nixie LED'lerinin barometrenin ruh hali girdilerine (aynı Adafruit IO beslemesi aracılığıyla) yanıt vermesinde küçük bir örtüşme var.

Orijinal saat mekanizmasının enkazından, üçüncü bir NodeMCU (hey, her biri sadece 6 dolar) ve başka bir step motor tarafından tahrik edilen bir kimerik mekanizma inşa etmek için yeterli bit kurtardım. Tek eklediğim, orijinal mekanizma ile motor arasında bir "arayüz" idi. "Arayüz" tırnak içindedir, çünkü yalnızca içine dik açılarda sürülen ve motor miline itilen iki çivili bir mermi konektöründen oluşur. Bu mekanizmanın her çeyrek dönüşü, chimer'in bir vuruşuyla sonuçlanır. Bir kez daha, chimer kontrol şeması barometreye benzer ve her üç web sunucusu da her şeyin olduğundan daha sorunsuz görünmesini sağlamak için birbirine bağlıdır.

Saat ve chimer NodeMCU'lar birbirinden tamamen bağımsız çalışır, ancak internet zaman işleyişinin harikaları nedeniyle her zaman mükemmel bir şekilde senkronize edilir.

Önerilen: