Mündəricat:

Nixie Clock Mood Barometer: 7 Addım (Şəkillərlə birlikdə)
Nixie Clock Mood Barometer: 7 Addım (Şəkillərlə birlikdə)

Video: Nixie Clock Mood Barometer: 7 Addım (Şəkillərlə birlikdə)

Video: Nixie Clock Mood Barometer: 7 Addım (Şəkillərlə birlikdə)
Video: Как использовать гироскоп, акселерометр, магнитометр MPU-9250 для Arduino 2024, Noyabr
Anonim
Image
Image

Tərəqqinin qeyd olunmayan qurbanı aneroid ev barometridir. Bu günlərdə, hələ də doxsanın üstündəki insanların evlərində nümunələr tapa bilərsiniz, ancaq milyonlarca adam zibilxanada və ya ebaydadır.

Əslində, köhnə məktəb barometri bir işində olduqca yararsız olmaqla özünə kömək etmədi. Düzgün kalibr edildiyini və düzgün işlədiyini düşünsək belə, hava proqnozlaşdırmaq və ya hətta indiki havanı göstərmək üçün atmosfer təzyiqindən istifadə etmək demək olar ki, mümkün deyil.

Eyni zamanda, 24/7 Kütləvi İnformasiya Vasitələri hava xəbərlərinin tətbiqini tamamlamaq üçün, çox dəqiq bərk vəziyyətdə təzyiq, temperatur və rütubət sensörleri mövcud oldu. Bir prosessor və ucuz bir LCD displey atın və özünüzə "rəqəmsal ev hava stansiyası" sahibsiniz. Hətta hava inəkləri və ya televiziyada və ya internetdə havanın bir hökumət planı olduğunu düşünən insanların artıq barometrə ehtiyacı yox idi.

Hamısı ayıbdır, çünki uşaqlıq evimdəki barometr haqqında isti xatirələrim var. Atam hər gün diqqətlə modulyasiya edilmiş bir kran verərdi və bu şeyin dünya səviyyəli bir ləkə olduğunu başa düşsəm də, yaşımda təqlid etmək istədiyim mini ritualda indiki oxu göstəricisini təyin edərdi.

Orijinalın çatışmazlıqlarından heç birini həll etməyən, lakin başladığından daha yararsız bəzi əlavə funksiyalara sahib olan yenilənmiş analoq-ekran barometrini necə hazırlamaq olar. Videoya baxsanız, bu fikri anlayacaqsınız.

Bu layihənin təvazökar məqsədləri nəzərə alınmaqla, olduqca mürəkkəbdir - və ya daha doğrusu, layihəni bütövlükdə təkrarlamaq bir Təlimatçı üçün çox böyükdür. Bu səbəbdən, barometr/əhval barometri hissəsinə diqqət yetirəcəyəm, qalanları isə sizi doğru istiqamətə yönəldəcəyəm.

Addım 1: Tərkibi və Alətləri

Qutunuzu diqqətlə hazırlayın
Qutunuzu diqqətlə hazırlayın

Barometr/əhval barometri üçün sizə lazım olacaq:

  • Aneroid barometr. İşləmək lazım deyil. Estetik hisslərinizə xitab edən bir şey daha vacibdir. Kaş ki, uşaqlıq evimdən bir evim olsun, amma zibilxanada olduğunu düşünürəm. Ebayda 15 dollara əvəz etdim.
  • Bir təzyiq sensoru.
  • Bir ESP8266 modulu - NodeMCU istifadə etdim.
  • Uyğun bir step motoru və sürücü lövhəsi - beş işdən ibarətdir, lakin qiymətə görə onları məğlub etmək çətindir. Bu motor, məqsədlərimiz üçün kifayət qədər qətnamə verən, tam fırlanma halında 4096 pilləyə malikdir.
  • ESP8266 və motor üçün 5VDC enerji təchizatı - ən azı 1A. Birlikdə 12VDC və 5VDC təchizatı istifadə etdim, çünki onsuz da var idi və Nixie saatı üçün 12V təchizata ehtiyacım vardı (layihənin digər elementləri üçün daha çox 5V güc).
  • Ən azı üç LED (təzyiq meylini göstərmək üçün).
  • Bir LDR/fotorezistor.
  • Müxtəlif istehlak materialları, məsələn, tullanan tel, rezistorlar, istilik büzücü borular və s.
  • Əksər hallarda, elektronikanı yerləşdirmək üçün istifadə etdiyiniz barometrin orijinal qutusundan istifadə edə bilərsiniz. Həm saatı, həm də barometri yerləşdirmək üçün qeyri-müəyyən dərəcədə İncəsənət və Sənətlər üslubunda bir saat qutusu hazırladım, buna görə barometr qutusuna ehtiyac yox idi.

Alətlər baxımından, bir lehimləmə dəmiri, istilik silahı və bəzi kiçik əl alətlərinə ehtiyacınız olacaq. Çantada əhəmiyyətli dəyişikliklər etməlisinizsə, elektrik alətlərinin seçimi lazımlı olacaq.

Addım 2: Kassanızı diqqətlə hazırlayın

Burada etməli olduğunuz şey, əsasən istifadə etdiyiniz korpusdan asılıdır. Barometrin öz korpusundan istifadə edirsinizsə, onu necə ayıracağınızı və aneroid mexanizmini necə çıxaracağınızı anlamalısınız. Göstərici, ehtimal ki, birbaşa bu mexanizmə quraşdırılmışdır və göstərici zədələnmədən ayrılmaq üçün bir qədər diqqətli olmaq lazımdır.

Bir az daha işim var idi, çünki saat qutumda hələ də köhnə (işləməyən) saat mexanizmi vardı.

Mexanik saatlar haqqında heç nə bilmirəm, amma bükülü yaylar ehtiyatla davam etməyimi təklif etdi. Buna baxmayaraq, şey partlayanda hazırlıqsız idim. Bir saniyədə mənasız görünən bir vidayı sökürdüm, digərində güclü bir partlayış və hava toz və zibil ilə dolu idi. Saat bitləri hər yerdə idi və işin özü tamamilə uçdu. Əsl bomba partlayanda təsəvvür etdiyim kimi, bir an üçün nə baş verdiyini anlaya bilmədim. Ardınca gələn karlıq sükutunda, uzaqdan sirenlərin fəryadını eşitməyi gözləyirdim. Həm də əlim həqiqətən ağrıyır.

Birinci Dərs: Təvazökar ölçülü saat mexanizmləri belə təəccüblü dərəcədə böyük miqdarda enerji saxlaya bilir.

İkinci Dərs: Şübhə olduqda təhlükəsizlik gözlükləri taxın! Şanslıydım, gözlərimə heç nə uçmadı, amma ola bilərdi. Bəzən yalnız köhnə təhlükəsizlik gözlərini çəkmək kifayət deyil (hətta bunu etdiyimə əmin deyiləm). Əlim yaxşı idi, hələ körpəlikdə idim.

Çox yapışdırıb bağladıqdan sonra işi yenidən bir araya gətirdim və 3 -cü addıma keçməyə hazır idim.

Addım 3: Komponentləri Qurun - 1 -ci hissə

Komponentləri quraşdırın - 1 -ci hissə
Komponentləri quraşdırın - 1 -ci hissə
Komponentləri quraşdırın - 1 -ci hissə
Komponentləri quraşdırın - 1 -ci hissə

Mühərrikin quraşdırılması üçün bir yol tapmalısınız, belə ki şaft kifayət qədər kadrdan çıxacaq, belə ki göstərici bağlandıqda heç bir müdaxilə olmadan üzü keçəcək. Bu, ilk göründüyündən biraz daha çətin ola bilər, çünki əksər barometrlərin qədim zamanlarda indiki oxunuşu qeyd etmək üçün istifadə olunan şüşənin içərisində başqa bir göstəricisi olacaq. Daha sonra izah edildiyi kimi, bu göstəriciyə ehtiyacımız olmayacaq, ancaq onu saxlamaq cihazın orijinal görünüşünü və hissini qorumağa kömək edir.

Hər halda, cari oxuyan göstəricinin mövcudluğu, "əsas" göstəricinin kadrın üzündən nə qədər uzaqda yerləşə biləcəyinə dair bir məhdudiyyətin olması deməkdir.

Digər istiqamətdə, göstərici, kadrda quraşdırılmış LDR -ni çərçivəyə salan bir yuyucunu təmizləmək üçün kadrdan kifayət qədər uzaqda oturmalıdır (növbəti addıma baxın).

Etdiyim şey, kadr və onun çərçivəsini taxta dayağa, sonra mühərriki uyğun aralıqlarla arxaya bağlamaq idi. İlk şəkil bunu izah etməyə kömək edə bilər, ancaq öz aranjmanınızla gələ bilərsiniz.

Saat qutusu və ya bənzər ölçüdə bir şey istifadə etməyin bir üstünlüyü, içərisində elektrik təchizatı qurmaq üçün yer olmasıdır. Mənim üçün bu vacib idi, çünki saat xüsusi olaraq quraşdırdığım bir rozetkaya taxılan bir şkafda oturacaqdı. Açıqca anaxronik bir "divar ziyalı" və ya SPS kərpicini bu yerdə gizlətmək çətin olardı - amma bu sizin üçün problem ola bilməz.

İkinci şəkildə etiketlənməmiş komponentlər, layihənin saatı və kimya hissələrinə aiddir (üçüncü NodeMCU və əlaqəli naqillər Nixie PCB altındadır).

Hər şeyin - ilk növbədə BMP180 sensoru, motor sürücü lövhəsi və NodeMCU -nun yerləşdirilməsi kritik deyil. Yəni, ara telini sürücü lövhəsindən uzaqlaşdırana qədər motor bəzən düzgün işləmirdi. Orada nə baş verdiyindən əmin deyiləm, amma motorunuz gülməli səslənirsə və/və ya hamar bir şəkildə hərəkət etmirsə, telləri ətrafa daşımaq istəyə bilərsiniz.

Təzyiq tendensiyasını (yüksələn, düşən və ya dayanıqlı) əl ilə qeyd etmək ehtiyacının qarşısını almaq üçün kadrın altına üç kiçik LED daxil etdim. Hər üçü yandırıldıqda, barometr əhval -ruhiyyə rejimindədir. Dövr hissini qorumaq üçün "isti ağ" LED -lərdən istifadə etdim. Modulyasiyasız, baş-başa baxıldıqda çox parlaq idilər, amma bəzi ağır PWM ilə ardınca baxdığımı aldım. Mövcud oxu göstəricisi hələ də ənənəvilər üçün mövcuddur.

Addım 4: Komponentləri Qurun - 2 -ci hissə

Komponentləri quraşdırın - 2 -ci hissə
Komponentləri quraşdırın - 2 -ci hissə

LDR ilə dial ilə məşğul olaq. Birincisi, buna niyə ehtiyacımız var?

Ucuz bir pilləli motorun məhdudlaşdırılması mənim həll yolumdur - dəqiq addımlarla hərəkət edə bilsə də, başlanğıc mövqeyindən başqa harada olduğunu bilmək üçün özünəməxsus bir qabiliyyəti yoxdur. Teorik olaraq bunu çətin kodlaşdıra biləcəyinizi və ehtimal etdiyim bütün hərəkətləri izləyə biləcəyinizi düşünürəm (heç bir əsası olmadan), xüsusilə də "əhval rejimində" lazım olan geniş miqyaslı hərəkətlər nəzərə alınmaqla. Ayrıca, elektrik kəsilməsi ilə doldurulacaqsınız (hər hərəkəti EEPROM -a yazmaq praktik deyil).

İlk düşüncəm, gücün artırılması və əhval-ruhiyyə ilə barometr rejimi arasında keçid zamanı bir kalibrləmə dövrü tətbiq etmək idi. Bu dövr, kadrın bilinən bir nöqtəsində bir mikro açarı açar. Ancaq keçid fikrinin mexaniki şəkildə həyata keçirilməsi mənim üçün çox çətin görünürdü. Göstəricinin özü, aktuator olmaq üçün çox zəifdir, buna görə şaftda başqa bir şey quraşdırmalıyam. Sonra 360 ° hərəkəti qorumaq məsələsi ortaya çıxdı - standart servo deyil, step motorla getməyimin bir səbəbi. Dözə biləcəyimdən bir az daha çox ixtiraçılığın tətbiqi ilə, əminəm ki, bir mikro açarın işə salınması mümkündür-və ya bəlkə də satışda olmayan bir mövqe sensoru həlli də var-amma başqa yolla getdim.

Diqqət yetirin ki, saatın birində quraşdırılmış bir yuyucusu var. Bu yuyucu, NodeMCU -da mövcud olan tək analoq girişə qoşulmuş bir LDR -ni çərçivəyə alır. Barometr işə salındıqda və ya rejimi dəyişdirdikdə, NodeMCU kalibrləmə dövrünə girir və sadəcə LDR üzərində hərəkət edən göstəricinin arxa hissəsinin səbəb olduğu işıq səviyyəsində ani bir dəyişiklik axtarır. Hər hansı bir hərəkət bu məlum mövqedən indekslənir. Etibarlı bir şəkildə işləməsi üçün koddakı eşik dəyərləri ilə bir az əyləşməli oldum, amma bunu etdikdən sonra nə qədər dəqiq olduğuna təəccübləndim - ardıcıl olaraq gözlənilən dəyərlərin 1% və ya 2% -i içərisində barometr parametrlərinə qayıtmaq.

Aydındır ki, tam qaranlıqda işləmir, amma o zaman ümumiyyətlə rejimi dəyişdirməzdiniz. Nədənsə müəyyən bir müddətdə kalibrləmə dövrü tamamlana bilmirsə, trend LED -lərindən imtina edir və yanıb -sönür.

Hər halda, LDR yanaşmasının gözəlliyi, quraşdırmanın çox sadə olmasıdır - göstəricinin arxa ucu ilə örtüləcəyi bir nöqtədə LDR üçün kadrda kifayət qədər böyük bir çuxur qazın. Göstərici ilə LDR arasında gözəl bir "möhür" əldə etmək üçün LDR -nin ətrafına kiçik bir yuyucunu yapışdırın və lazım gələrsə göstərici quyruğunu dəyişdirin (uyğun formalı qara kağızdan istifadə etdim).

Addım 5: Kod - Əsas İşlevsellik

Kod - Əsas Fəaliyyət
Kod - Əsas Fəaliyyət

Başqalarının tapdığı kimi, standart Arduino step motor kitabxanasını bu mühərrik və sürücü ilə işləyə bilmədim. Xoşbəxtlikdən, bunun üzərində işləyən kodla yaxşı bir Təlimat var. Şərhlərdə bir neçə optimallaşdırma təklifi olmasına baxmayaraq kodu ilk addımda istifadə etdim. Bu kod kitabxana tələb etmir.

Təzyiq məlumatlarının işlənməsi üçün Sparkfun BMP180 kitabxanasından bir nümunə istifadə etdim. O vaxt etməli olduğum tək şey, motor idarəetmə sistemi ilə evlənmək idi.

Addım 6: Kod - Kalibrləmə, Nəzarət, GUI, Google köməkçisi və kommunal funksiyaları

Kod - Kalibrləmə, Nəzarət, GUI, Google köməkçisi və kommunal funksiyaları
Kod - Kalibrləmə, Nəzarət, GUI, Google köməkçisi və kommunal funksiyaları

İlkin kalibrləmə sərt kodlaşdırılmışdır. Təhlükəsiz bir tərəfdə olmaq və barometrin fərqli bir yüksəkliyə köçürülməsini hesablamaq üçün, NodeMCU və Websocket ünsiyyəti tərəfindən bükülmüş bir veb server ilə ikincil kalibrləmə və nəzarət əldə edilir. Bunu öyrənmək üçün yaxşı bir qaynaq burada.

Videodan da göründüyü kimi, bu layihənin əsl "vay" faktoru, Google Assistant/Google Home vasitəsilə nəzarətdir. Burada bir Raspberry Pi3 ilə işləyən qızartma maşını GA üçün təlimat var. Narahat olmayın, əlavə olaraq 400 dollarlıq tost maşınından istifadə etməyinizə ehtiyac yoxdur.

Əmrlər GA tərəfindən IFTTT və Adafruit IO vasitəsilə NodeMCU -ya ötürülür. Bu mövzuda yaxşı bir qaynaq burada. Google köməkçinizlə əlaqə qurmağın başqa, daha mürəkkəb yolları var, amma bu layihə üçün bu çox sadə yanaşma mükəmməl işləyir.

Nəhayət, kod bütün ESP8266 əsaslı layihələrimə daxil etməyə başladığım son dərəcə faydalı kommunal funksiyaları (havadan yeniləmə, Multicast DNS, Wifi Manager) ehtiva edir.

Bu layihə üçün bütün kodlar (Nixie saatı və chimer nəzarəti daxil olmaqla) burada Githubdadır. HTML/CSS sənədlərində istifadə etdiyim şəkilləri tərk etdim, belə ki, qutudan çıxır (inşallah) - sadəcə öz Adafruit IO hesab məlumatlarınızı əlavə etməlisiniz.

Addım 7: Nixie Saatı və Chimer

Nixie Saatı və Chimer
Nixie Saatı və Chimer

Nixie Clock ayrı bir NodeMCU tərəfindən idarə olunur və burada mövcud olan bir Arduino qalxanı olaraq hazırlanmış bir Nixie borusu və sürücü modulundan istifadə olunur. Linkdəki versiya vaxt əldə etmək üçün GPS modulunu ehtiva edir. Qalxanımda (əvvəlki versiya) GPS modulu yoxdur, ancaq İnternetdən vaxt əldə etmək üçün Node MCU -dan istifadə edirəm ki, bu da bir qədər yaxşıdır.

Saat üçün idarəetmə sxemi və GUI daha çox konfiqurasiya seçiminə malikdir, əks halda barometrə çox bənzəyir. Burada bir az üst -üstə düşmə var ki, Nixie LED -ləri barometrin əhval -ruhiyyə girişlərinə cavab verir (eyni Adafruit IO yemi vasitəsilə).

Orijinal saat mexanizminin qalıqlarından üçüncü bir NodeMCU (hey, hər biri cəmi 6 dollardır) və başqa bir pilləli mühərriklə idarə olunan bir chimer mexanizmi qurmaq üçün kifayət qədər bit xilas etdim. Əlavə etdiyim tək şey, orijinal mexanizmlə motor arasındakı "interfeys" idi. "İnterfeys" tirajdadır, çünki içərisinə düz açılarda sürülmüş və motor şaftının üstünə vurulmuş iki mismarı olan bir güllə bağlayıcısından ibarətdir. Bu ziddiyyətin hər rübdə bir fırlanması, çimənin bir vuruşu ilə nəticələnir. Bir daha, chimer nəzarət sxemi barometrə bənzəyir və hər üç veb server bir -birinə bağlanaraq bütün partiyanı əslində olduğundan daha qüsursuz görünür.

NodeMCUs saatı və kimyaçıları tamamilə bir -birindən asılı olmayaraq işləyirlər, lakin internetin vaxt işleyişinin möcüzələri sayəsində həmişə mükəmməl bir şəkildə sinxronizasiya olunur.

Tövsiyə: