İçindekiler:

AtmoScan: 7 Adım (Resimlerle)
AtmoScan: 7 Adım (Resimlerle)

Video: AtmoScan: 7 Adım (Resimlerle)

Video: AtmoScan: 7 Adım (Resimlerle)
Video: Jennifer Lopez x Dolby Atmos : Can`t Get Enough 2024, Kasım
Anonim
Image
Image
Sensörler
Sensörler

**********************************************************************************************

HABERLER

Şunlar için GitHub'uma gidin:

- Bazı küçük donanım değişiklikleri, kendini yazılımdan kapatma yeteneği de dahil olmak üzere tasarımı iyileştirir ve tasarımın en büyük dezavantajlarından biri olan düşük pille nasıl başa çıkılacağı sorununu giderir.

- Bir PCB v2 tasarımı, değişikliği kartlar V1.0'a kolayca uygulamak için bir kılavuzla birlikte yayınlandı.

- Eksiksiz muhafaza için CAD dosyaları

Yeni kasa yukarıdaki resme benziyor… peki, lastik bantsız

****************************************************************************************

ATMOSCAN, iç mekan hava kalitesini izlemeyi amaçlayan çok sensörlü bir cihazdır. Benzer amaçlara sahip birçok proje yayınlanmış olsa da, bu, hepsini özetleyen kompakt, bağımsız bir pakette eksiksiz bir sistemdir. Renkli LCD ekranı vardır, zaman ve konum farkındadır, jest kontrollüdür ve MQTT aracılığıyla ThingSpeak'e (veya diğerlerine) mesaj gönderir, ancak bağlantısı kesilen işlemleri ve yeniden bağlanmayı düzgün bir şekilde işleyebilir. Dahili şarj edilebilir pili ile elektrik kesildiğinde tam gün dayanır.

Çok görevli bir işbirliği çerçevesi kullanır ve sensörleri örneklerken, UI'yi işlerken, MQTT'ye gönderirken kullanıcı girdisine çok duyarlıdır. Aslında, küçük ESP8266'dan biraz sıkar. Bunu, bir dizi açık kaynak kitaplığı entegre ederek ve internet web hizmetlerinden yararlanarak yapar.

Kütüphaneler için verilen krediler bir dizi katkıda bulunanlara gider, daha sonra bakınız.

Videodaki müziğe BURADAN ulaşabilirsiniz.

Adım 1: Sensörler

Atmoscan bir dizi değişkeni ölçer:

  • Sıcaklık
  • Nem
  • Baskı yapmak
  • CO2
  • CO
  • NO2
  • VOC (Uçucu organik bileşikler, bir Hava Kalitesi göstergesi)
  • PM 01
  • PM25
  • PM10
  • Radyasyon

Bunu yapmak için bir dizi ayrık sensörü entegre eder.

  • BME280 (ör. Bağlantı)
  • PMS7003 (ör. Bağlantı)
  • MH-Z19 (ör. Bağlantı)
  • HDC1080 (ör. Bağlantı)
  • MiCS6814 (Bağlantı)
  • MP503 (Bağlantı)
  • LND-712 Geiger tüpü (Link, Avrupa'da buldum burada Link veya burada Link) yüksek voltaj modüllü (Link)

Veri Sayfaları BURADA.

2. Adım: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik

Atmoscan, entegre pil şarj cihazından vazgeçerseniz, bir NodeMCU veya başka herhangi bir ESP8266 kartı ve seviye değiştiriciler ve voltaj regülatörleri gibi hazır bazı bileşenlerle kolayca oluşturulabilir.

Ayrı bileşenlerle prototip yaparken, son sürüm için tüm işlevleri entegre eden ve sensörler için düzgün konektörler, durum için LED'ler (Mavi = güç kaynağı bağlı; Kırmızı = şarj oluyor) sağlayan özel bir kart tasarladım.

Eagle PCB dosyalarına BURADAN ulaşabilirsiniz.

Özellikle, yönetim kurulu şunları entegre eder:

  • MAX8903A'ya dayalı şarj devresi (Link)
  • Tek tuşla açma/kapama mantığı
  • ESP12E modülü
  • programlama mantığı
  • Seviye değiştirici
  • LCD Arka Işık sürücüsü
  • Pololu S7V8F3 tabanlı 3.3V Yükseltme/Düşürme Voltaj Regülatörü (Link)
  • Pololu U1V10F5 tabanlı 5V Yükseltici Voltaj Regülatörü (Link)
  • SparkFun TOL10617'ye dayalı LiPo Yakıt Göstergesi (Link)

Ekran, ILI9341 çip (Link) tabanlı 2,8 TFT 320x240 boyutundadır.

Hareket sensörü, sürekli kesintiler oluşturan ve pleksiglas ile çalışamayan ucuz APDS9960'tan çok daha iyi olan PAJ7620U2 yongasını (Link) temel alır.

Sensörler oldukça güç tüketiyor, bu nedenle en az 24 saat özerkliği garanti etmek için 3 x 5000mAh LiPo 105575 pil içeren bir paket hazırladım (Link). Aslında, 2 yeterli olabilirdi. MAX8903 şarj cihazı, ortaya çıkan 15.000 mAh paketi şarj etmek için mücadele ediyor.

NOTLAR - RESİMLERDE GÖRÜLDÜĞÜ GİBİ:

  • Konektör konumları gösterilir
  • Muhafazaya sığmasını istiyorsanız SD kart yuvasının ekrandan sökülmesi gerekir.
  • Fana müdahale etmemek için PCB'de küçük bir çentik açmanız gerekiyor (çentik iPhone X'ten sonra moda). PCB V2'de düzeltildi

PCB üzerindeki konektör kısaltmaları aşağıdaki gibidir:

  • PRS: Barometrik Basınç Sensörü (BME280'e göre) NOT: doğrudan PCB'ye monte edilecek
  • VOC: Grove - Hava kalitesi sensörü v1.3 (MP503 tabanlı)
  • TMP: Yüksek Doğruluklu Dijital Nem ve Sıcaklık Sensörü (HDC1080 tabanlı)
  • PMS: PMS7003 Dijital partikül konsantrasyon sensörü
  • GAS: Grove - Çok Kanallı Gaz Sensörü (MiCS6814 tabanlı)
  • GES: Grove – Hareket sensörü(PAJ7620U2 tabanlı)
  • RAD: Geiger tüpü (TTL Sayısallaştırılmış Darbe Çıkışlı Yüksek Gerilim Geiger Probe Sürücüsü Güç Kaynağı Modülü 400V / 500V aracılığıyla)
  • CO2: MH-Z19 kızılötesi CO2 gaz sensörü
  • U1V10F: Pololu Tabanlı 5V Yükseltme Voltaj Regülatörü
  • U1V10F5 S7V8V3: Pololu S7V8F3 tabanlı 3.3V Yükseltme/Düşürme Voltaj Regülatörü
  • TOL10617: Sparkfun LiPo Yakıt Göstergesi
  • LCD: ILI9341 ekran

3. Adım: Muhafaza

muhafaza
muhafaza
muhafaza
muhafaza
muhafaza
muhafaza

Muhafaza, ebay'den satın aldığım ve tamamen farklı bir kullanım için tasarlanmış bir pleksiglas 10x10x10 cm küp konteynerden türetilmiştir. Tam olarak ihtiyaç duyulan güzel havalandırma yuvaları vardı. Hacim prensipte tüm seti paketlemek için yeterliydi, ancak kolay değildi… karton maketlere dayalı bazı erken girişimler sefil bir şekilde başarısız oldu, bu yüzden pes ettim ve bir 3D CAD ile birkaç saat harcadım ve dahili destekleri lazerle kestim. Dahili alan, sıcaklık sensörünün dahili ısı kaynaklarından mümkün olduğunca uzakta olması için bölmelere ayrılmıştır. Dış kasası 3mm malzemeden, üst kısmı ise 2+1mm sacdan yapılmıştır. Bu numara, hareket sensörünün sadece 1 mm akrilik ile kaplanmasına izin verdi ve bu, çalışması için yeterli.

Fan, anahtar ve USB delikleri gibi orijinal muhafaza üzerinde el aletleriyle bazı değişiklikler yapılması gerekiyordu. Sonuç yine de iyi oldu!

CAD dosyaları BURADA.

Adım 4: Mekanik Montaj

Mekanik montaj
Mekanik montaj
Mekanik montaj
Mekanik montaj
Mekanik montaj
Mekanik montaj

Paket çok yoğun ama 3D cad tasarımı sayesinde montajı yaparken çok az sürpriz yaşadım.

Hava sirkülasyonu (yukarıdan aşağıya) küçük bir fan ile sağlanır. Aliexpress / eBay'de makul bir sayı satın aldıktan sonra, ucuz fanların gürültüsünün bir iç mekan cihazı için dayanılmaz olduğunu anladım. Oldukça pahalı, yavaş dönen bir Papst 255M (Link) satın aldım ve birkaç diyot aracılığıyla 5V'den daha az güçle besledim. Sonuç oldukça iyidir ve fark edilmeyecek kadar sessizdir (hatta eş onaylıdır, en zor sertifikadır).

Adım 5: Yazılım

Yazılım
Yazılım
Yazılım
Yazılım
Yazılım
Yazılım
Yazılım
Yazılım

Yazılım mimarisi, UI, sensörler ve MQTT'yi işleyen birden çok (işbirlikçi) süreci çalıştıran Nesne Yönelimli bir çerçeveye dayanmaktadır. Konum ve zaman farkındadır ancak WiFI ile bağlantının kesilmesini/yeniden bağlanmasını işleyebilir.

Çerçeve açıktır ve kodları ve kaynakları Flash belleğe sığdığı sürece herhangi bir sayıda ekranı yönetebilir. Uygulama çerçevesi, hareketleri yönetir ve gerekirse daha fazla işlem veya iptal için ekranlara iletir. Çerçeve tarafından yönetilen hareketler şunlardır:

  • Sola / sağa kaydırın - Ekranı değiştir
  • (Parmak) Saat yönünde girdap - Ekranı çevir
  • (Parmak) Saat yönünün tersine girdap - Kurulum ekranını başlat
  • (El) Uzaktan yakından - Ekranı kapat

Ekranlar bir temel sınıftan devralır ve aşağıdaki olay modeli aracılığıyla yönetilir:

  • etkinleştir - ekran oluşturulduğunda bir kez ateşlenir
  • güncelleme - ekranı güncellemek için periyodik olarak çağrılır
  • devre dışı bırak - ekran kapatılmadan önce bir kez çağrılır
  • onUserEvent - hareket sensörü tetiklendiğinde çağrılır. Yanıt vermeye ve ayrıca varsayılan olay işlemeyi geçersiz kılmaya izin verir, ör. ekranı değiştirmek için kaydırmayı iptal et

Her ekran, aşağıdaki bilgileri sağlayarak yeteneklerini beyan eder:

  • getRefreshPeriod - ekranın ne sıklıkla yenilenmesi gerektiği
  • getRefreshWithScreenOff - arkadan aydınlatma kapalıyken bile ekran yenilenmek istiyorsa. Örneğin. grafikler için
  • getScreenName - ekranın adı
  • isFullScreen - ekranın tam kontrolünü elinize alın veya üst çubuğa tarih/saat/konum/pil göstergesi/wifi göstergesi ile izin verin

Çerçeve, bildirimsel bir sınıf fabrikası aracılığıyla ekranları somutlaştırabilir ve serbest bırakabilir. Dinamik ayırma, RAM'den tasarruf sağlar ve cihazı kolayca genişletilebilir hale getirir. Genel uygulama çerçevesi, diğer projeler için de yeniden kullanılabilir.

Şu anda Atmoscan'da uygulanan ekranlar:

  • Sensör değerleri
  • Geiger metre / semilog grafiği
  • Sistem durumu
  • Hata günlüğü
  • Meteoroloji istasyonu
  • Uçak Gözcü
  • Kurmak
  • Düşük pil

Kurulum ekranları Wifi kimlik bilgilerinin, MQTT kanallarının, Syslog sunucusunun ayarlanmasına izin verir.

v2.0'da YENİ: tüm web hizmetleri anahtarları artık yapılandırma portalı aracılığıyla yapılandırılabilir. Hâlâ sabit kodlanmış olan tek değer OTA parolasıdır (büyük harfli ATMOSCAN).

NOT 1: İlk programlama, programlama konektörüne bağlı bir USB-Seri kablo ile yapılmalıdır. Seri bağlantı noktası bir sensör tarafından işgal edildiğinden, bu şekilde hata ayıklama ve programlama, sensörün çıkarılmasını gerektireceğinden montajdan sonra pratik değildir. Bu nedenle yazılım, SYSLOG hata ayıklamasını ve OTA güncellemelerini destekler.

NOT 2: ATMOSCAN ikilisi 700Kb'nin üzerindedir ve ArduinoOTA, program alanının görüntü boyutunun en az iki katı olmasını gerektirir, bu da "4M (3M SPIFFS)" seçeneğini dışlar. Ancak standart "4M (1M SPIFFS)" seçeneği de SPIFFS bölümü hava durumu istasyonu, uçak gözlemcisi ve confing dosyası ile ilgili grafik kaynaklar için yetersiz olacağından uygun değildir. Bu nedenle, sorunu çözmek için özel bir yapılandırma "4M (2M SPIFFS)" oluşturulmuştur. Açıklama burada.

Belgeler ve tam kaynak kodu burada mevcuttur.

KREDİLERDEN KOD VE KÜTÜPHANELER DAHİLDİR

  • Ada meyvesi
  • Arcao
  • Bblanchon
  • Bodmer
  • KapalıKüp
  • gmag11
  • bilgi
  • Lucadentella
  • tohum
  • Squix78
  • Tzapu
  • Sihirbaz97

ENTEGRE WEB HİZMETLERİ

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

Adım 6: Daha İyi Hale Getirin

Daha iyisini yap!
Daha iyisini yap!

Sonuç hiç de fena değil! Yazılım iyi görünüyor ve güvenilir, ancak yeni özelliklerle genişletilebilir ve belki de uygulama çerçevesini diğer projeler için gerçekten yeniden kullanılabilir hale getirmek için biraz temizlenebilir. Bazı sensörlerin kalibrasyonu çok iyi değildir, ancak test laboratuvarı ekipmanına ihtiyaç duyulacaktır. Zaman çok değerli ve bende fazla bir şey yok, bu yüzden ilerleme yavaştı. İşim bittiğinde, ESP32 için yeterli destek sağlandı. Şimdi başlasaydım, onu kullanır ve bluetooth üzerinden harici sensörleri entegre ederdim.

Kimse?

NOT: Hala bir avuç PCB'm var, bu yüzden ilgilenen varsa nominal / posta fiyatından temin edilebilir.

7. Adım: Sorular ve Cevaplar

Sorular
Sorular
Sorular
Sorular

Her şeyden önce, ezici bir şekilde olumlu yorumlarınız için TEŞEKKÜR EDERİZ. Açıkçası bu kadar ilgi beklemiyordum.

Yorum ya da özel mesaj yoluyla bir takım sorular aldım, bu yüzden cevapları burada toplamayı düşündüm. Daha fazla gelirse ekleyeceğim.

Bir çekmecenin arkasında mevcut 8 adet PCB buldum - ve onlar Belçika, Almanya, Hindistan, ABD, Kanada, Birleşik Krallık, Avustralya'ya gidiyorlar. Vay, 3 kıta! İnanılmaz.

ATMOSCAN konfigürasyon sayfasına ne koymalıyım?

Atmoscan yapılandırma sayfası aşağıdaki parametreleri gerektirir:

  • Bağlanmasını istediğiniz WiFi ağının SSID ve şifresi
  • Kullandığınız MQTT sunucusu. Örneğin, mqtt.thingspeak.com kullanıyorum
  • Kullanılan MQTT konuları için bağlantı dizesi. Örneğin, Thingspeak MQTT konuları şu biçimdedir: kanallar/KANAL-ID/yayın/YAZMA-API (ÖRNEK: kanallar/123456/yayın/567890)
  • Syslog sunucusu: Günlüğe kaydetme için kullandığınız syslog sunucusunun IP'si
  • Haritalar Statik API'si için Google anahtarı. https://console.cloud.google.com/apis/dashboard adresinden bir anahtar alın. Bir proje oluşturun; Atmoscan'ın kullandığı API https://maps.googleapis.com/maps/api/staticmap şeklindedir. Yeni oluşturduğunuz google projesinde bu API için bir anahtar oluşturun, burada kullanın
  • Hava Yeraltı tuşu. www.wunderground.com adresinde bir hesap oluşturun, WEATHER API'ye gidin (ana sayfanın altındaki bağlantı, ANAHTAR AYARLAR'a gidin, bir anahtar oluşturun, burada kullanın
  • Geonames hesabı. https://www.genames.org/ adresinde bir hesap oluşturun, ücretsiz web servislerini kullanmasını sağlayın ve kullanıcı adını buraya koyun
  • TimeZoneDB anahtarı. https://timezonedb.com/ adresinde bir hesap oluşturun, bir anahtar oluşturun, buraya koyun

Thingspeak'i nasıl yapılandırırım?

3 Thingspeak kanalına ihtiyacınız var. Alanlar şu şekilde kullanılır:

KANAL 1 alanları

  1. SICAKLIK
  2. NEM
  3. BASKI YAPMAK
  4. PM01
  5. PM2.5
  6. PM10
  7. BGBM
  8. RADYASYON

KANAL 2 alanları

  1. CO
  2. CO2
  3. NO2
  4. VOC

KANAL 3 alanları (Sistem kanalı)

  1. DAKİKA İÇERİSİNDE UPTIME
  2. BAYT OLARAK ÜCRETSİZ Yığın
  3. WIFI RSSI (DBM'DE SİNYAL)
  4. BATARYA VOLTAJI
  5. LİNEER SOC (PİL ŞARJ DURUMU % - doğrusal hesaplama, voltajla orantılı)
  6. YEREL SOC (PİL ŞARJ DURUMU % - gösterge tarafından bildirildiği gibi. göstergeden okunduğu gibi. NOT: Piller biraz daha deşarj edilebilirken, gösterge 3.6v'a ulaştığında %0 diyor, diyelim ki 3v'nin üzerinde. Alt limit, ATMOSCAN'ın kendini kapattığı, globaldefinitions.h dosyasındaki bir #define'dir)
  7. SİSTEM SICAKLIĞI (bme280'den, doğrudan panoya monte edilmiş)
  8. SİSTEM NEMİ (bme280'den, doğrudan panoya monte edilmiş)

PCB çok kompakt. SMD cihazlarını, özellikle MAX8903A IC'yi nasıl lehimleyebilirim?

İlk olarak, kendinize SMD'ye girmek isteyip istemediğinizi veya bir kerelik olup olmadığını sormanızı öneririm - İkincisi, belki birinden bunu sizin için yapmasını isteyin. SMD mücadelesine katılmak istiyorsanız, biraz yatırım yapın ve uygun araçları edinin (lehim, eritken, izopropil alkollü küçük demir, sıcak tabanca, cımbız, ucuz bir USB kamera, bir PCB tutucu). Günümüzde bunlar ucuz şeyler. Ardından bir YouTube videosu izleyin – yarım milyon var – ve bazı bileşenleri feda edebileceğiniz ve lehimleyebileceğiniz/temizleyebileceğiniz/lehimleyebileceğiniz eski bir PCB ile biraz zaman geçirin. Bunun ne kadar öğretici olduğuna inanamazsınız, ne bekleyeceğinizi öğrenmek, sıcaklığı doğru ayarlamak vb. Deneyimden bahsetmişken… Bir iPod touch'ta ekran konektörünü SMD'yi değiştirmeye başladım ve ilkini öldürdüm!

Aslında Atmoscan PCB kompakttır ve bu IC kolay değildir. Yine, bunu ilk SMD lehimlemeniz olarak yapmanızı önermiyorum. Şimdiye kadar bir numara lehimlememe rağmen QFN kolay bir paket değil. Doğru anladığınızdan asla emin olamazsınız…

Atmoscan'da önce kartı lehimledim, ardından anakartın şarj kısmının çalışıp çalışmadığını test edebilmek için çevresindeki bileşenleri lehimledim, ardından geri kalan her şeyi tamamladım. Ekli resimlerden bileşenlerin yönünü çıkarabilmelisiniz. Kamu malı bileşen kitaplıklarını kullandım ve yönlendirme serigrafide çok belirgin değil.

Benim yolum: Önce ütüyle pedlere biraz lehim koydum. Sonra çok fazla akı (SMD'ye özgü) ve IC'yi cımbızla dikkatlice konumlandırdım. Ardından, eşit olmayan ısıtmadan kaynaklanan gerilimleri önlemek için her şeyi yaklaşık 200/220C'ye (erime noktasının altında) ısıtın. Sonra sıcaklığı IC'nin etrafında 290C'ye yükselttim. Yakındaki bir ped üzerine biraz lehim koyarsanız, sıcaklığın erime noktasında olduğunu göreceksiniz, çünkü parlayacaktır.

Ondan sonra izopropil alkolle temizledim ve ucuz bir USB kamerayla dikkatlice inceledim. Bazı pinler bağlı olmayabileceğinden, tipik sorunlar lehimin hizalanması ve miktarıdır. Bazı durumlarda, bazı pimlere biraz daha lehim eklemek için küçük bir havya ile ona geri dönmek zorunda kaldım, çünkü bu IC'nin altında da lehimlenmesi gereken bir termal ped var. Bu, lehim miktarını tahmin etmeyi biraz zorlaştırır ve altındaki çok fazla lehim, pimlerin PCB'ye dokunmaması için onu yükseltebilir.

Bunu söyledikten sonra, seni korkutmak istemiyorum. 3 kartı tamamladım ve bu IC'leri asla öldürmedim… Bir keresinde onu çıkarmak zorunda kaldım, temizledim ve sıfırdan yeniden başlattım ama sonunda işe yaradı. Yine, süper kolay değil ama yapılabilir.

Bileşenleri nereden satın aldınız?

Çoğunlukla eBay ve Aliexpress'de. Ancak markalı olanlar orijinaldir (Seeed, Pololu, Sparkfun).

Bazı GÖSTERİSEL bağlantılar takip eder. Not: Etrafınıza bakın, daha da ucuz fırsatlar bulabilirsiniz…

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

İlk programlamaAtmoscan kartı, NodeMCU ile uyumlu bir programlama devresi içerir. Seri bağlantı normalde ilk programlama için kullanılır. Bundan sonra, ünite tamamen monte edilmiş halde yapılabileceğinden, wifi üzerinden OTA programlama tercih edilen seçenektir. Seri portun normalde partikül sensörü tarafından kullanıldığını unutmayınız!

Kartı seri ile programlamak için, şemadaki pinout'u takiben J7 konektörüne (sıfırlama düğmesinin yanında) bir USB-Seri adaptör (örneğin FTDI232 veya benzeri) bağlanmalıdır. Program, geiger sensörünün kesme hattının GND'ye bağlanması dışında sensörler bağlı olmadan yüklenebilir, aksi takdirde kart önyükleme yapmaz (bunu yapmak için, RAD konektöründeki pin 1 ve 3'ü bağlayın). Ana taslağı kullanmadan - dolayısıyla sensörlerin karmaşıklığı olmadan - kartı test etmenin en kolay yolu, BU basit programı seri kablo ile yüklemektir. Ana programla daha fazla yanıp sönmeye izin veren bir wifi erişim noktası oluşturur.

ÖNEMLİ: Talimatlara göre 4M/2M SPIFFS yapılandırmasını kullanmayı unutmayın, aksi takdirde ana program sığmaz. Kart, bu konfigürasyonla seri programlama yoluyla başlatılmalıdır, aksi takdirde daha sonra OTA ile ilgili sorunlar yaşayabilirsiniz.

Ne yazık ki, sensörler mevcut değilse bazı sensörlerin başlatılması engelleniyor (kütüphanenin sağlayıcısına bağlıdır). Bir örnek, çoklu gaz sensör kütüphanesidir. Atmoscan'ın tam bellenim ile düzgün şekilde önyüklendiğinden emin olmak için ilgili işlemi devre dışı bırakabilirsiniz, ilgili Soru-Cevap noktasına bakın. TÜM sensörleri test için devre dışı bırakmanın basit bir yolu, GlobalDefinitions.h dosyasındaki #define ENABLE_SENSORS satırını yorumlamaktır.

Tahta ana çizimi ilk kez başlattığında, yapılandırılmadığını ve bağlanıp kurabileceğiniz bir wifi erişim noktası açması gerektiğini anlamalıdır. Ayarlar arasında, büyük ölçüde hata ayıklamaya yardımcı olan bir sistem günlüğü sunucusu vardır. GlobalDefinitions.h dosyasındaki #define DEBUG_SYSLOG yorumunu kaldırarak günlük kaydını da artırabilirsiniz. Lütfen aynı dosyada ilk hata ayıklama sırasında kullanılan bir #define DEBUG_SERIAL olduğunu unutmayın. Yorumsuzsa, _some_ artık günlük kaydı verir, ancak minimumdur. Yapılacaklar öğesi, günlük kaydını her zaman tek tip ve seçilebilir kılmaktı, ancak onu temizlemeye hiç zamanım olmadı.

Kullandığınız kitaplıkları değiştirdiniz mi, herhangi bir yapılandırma gerekiyor mu? (indirme ve derlemenin aksine)

Güzel soru, bu noktadan bahsetmeyi unuttum. Gerçekten de gereken birkaç mod/yapılandırma var:

  • Kütüphane https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - seri hata ayıklama ifadeleri. Seri bağlantı noktası bir sensör için kullanıldığından yorum yapılması gerekiyor!
  • Kitaplık https://github.com/Bodmer/TFT_eSPI - pin atamasının ve SPI frekansının belirtildiği bir yapılandırma dosyası gerektirir
  • Kütüphane https://github.com/lucadentella/ArduinoLib_MAX1704… - Yorumlara ve isteklere baktığımda, hiç birleştirilmeyen bir hata düzeltmesi olduğunu fark ettim.

Hatırladığım kadarıyla öyle olmalı. Herhangi bir sorun olursa bana bildirin.

NOT: Lütfen en son kaynak kodundaki yorumlara bakın - gerekli tüm kitaplıklara bağlantılar içerir ve güncel tutulur

Videoda/resimlerde neden bazı sensörler kırmızı, bazıları yeşil okuyor?

Renk trendi gösterir. Beyaz başlar, yukarı çıkarsa kırmızı, aşağı iniyorsa yeşildir.

Sensörlerin zaman içinde kaymasıyla nasıl başa çıkıyorsunuz? Bu sensörler ne kadar iyi? Bu sensörlerle ne görebilirim?

Dürüst olmak gerekirse, bu bilimsel bir ölçüm kiti değildir. Kalibre etmek için elimde olmayan ekipmana ihtiyacım olacak. Bu gerçekten bir evcil hayvan projesi. Birkaç sensör denedim. Partikül, CO2, sıcaklık, nem, basınç, Geiger bence oldukça iyi. NO2'de kalibrasyon ve genel tasarım konusunda çekincelerim var, ancak fazla bir şey yok. Genel olarak, bunlar ana akım sensörleridir.

Bununla birlikte, kombinasyon, beklemeyeceğiniz şeyleri gösterecek kadar iyidir.

Atmoscan oturma odasında ve mutfak bir oda ötedeyken, örn. kızartma şeyler. Pencereler kapalıyken bile sabah trafiğinden gelen NO2'yi hissediyor.

Bir Geiger sayacı gerçekten gerekli miydi? Yararlı bir şey gösteriyor mu?

Neyse ki nükleer bir olay yaşamadık ve henüz savaş gelmiyor… Yine de, o kadar da uzak olmayan nükleer santraller var ve hükümet, herhangi bir olayda çekmecede kalması için çocuklara iyot hapları dağıtıyor… Bu yüzden şüphelendim. Şimdiye kadar, okumaların tam olarak beklenen arka plan radyasyonuyla (0.12 uSv/h) uyumlu olduğunu söylemeliyim.

Cihazın toplam maliyeti nedir?

Evde zaten birçok bileşen vardı ve yukarıdaki bağlantılar size bir fikir veriyor. Dürüst olmak gerekirse, hazır bir NetAtmo veya benzeri satın alırsanız tasarruf edersiniz. İşleri büyük ölçekte yapan bir Çinli şirketi yenemezsiniz! Ancak, belki de çocuklarınızla birlikte yapmaktan hoşlanıyorsanız, buna değer. İşin iyi yanı, sizin için bir dizi sensörü zaten test ettim (ve attım)….

Peki ya PCB'ler? Bana bir tane satabilir misin?

Başlangıçta bunlardan 10 tanesini dirtpcbs.com tarafından yaptırdım ve dosyalarım gayet iyi çalıştı. Kaliteli ve yeterince ucuz, 10 PCB için 25USD / 20Euro. İki tane kullandım ve kalanları çıplak maliyetle göndermekten mutluluk duyuyorum (konuma ve nakliye tercihlerine bağlı olarak 2 Euro + gönderi). Korkarım ilk bana özel mesaj gönderenleri seçmek zorunda kalacağım.

Bir kit veya bir başlangıç kampanyası yapabilir misiniz?

Gurur verici, ama dürüst olmak gerekirse, bunun yeterince yenilikçi olduğunu asla düşünmedim… ve ayrıca ZAMAN YOK!!

Bununla birlikte, birisi bu fikri alırsa, ikinci bir yinelemeye ihtiyaç duyulacaktır. Tasarımda düzeltmeye değer bazı keskin kenarlar var ama yine de V2 için asla yeterli zamanım olmadı.

Donanım Üzerine: Yetenekleri genişletmek/güç tüketimini azaltmak için bir sensör, ekran vb. ekleyebilir/kaldırabilir miyim?

Ekran MISO kullanılmadan bağlanır, dolayısıyla CPU asla ekrandan okuma yapmaz. Bu nedenle, ekran karıncasını bağlayamazsınız, bu gayet iyi çalışır. Bunu söyledikten sonra, ekran yalnızca son hareket algılandıktan sonra bir süre açık kalır, bu nedenle güç tüketimini gerçekten etkilemez.

Sensörler bunun yerine güç tüketir ve her şey kolayca 400/500mA kullanır. Fanı ve ayrıca partikül sensörünün dahili bir fana sahip olduğunu unutmayın. ESP ayrıca GPIO pons eksikliğinden dolayı uyku moduna geçmez. Ancak, bu belki de 20mA tasarruf sağlardı…

Yazılım modülerdir ve süreçleri ve ekranları kolayca ekleyebilir/kaldırabilirsiniz, böylece sensörler ekleyebilir veya dilerseniz bazılarını çıkararak gücü açık hale getirebilirsiniz. Tek sınırlama, GPIO pinlerinin sayısıdır. Ancak, I2C veya alternatif olarak GPIO'ları eklemek için bir I2C genişletici kullanılabilirse sensörler kolayca eklenebilir…

Bir sensörü devre dışı bırakmak, örneğin kısmi bir yapıyı test etmek için bence en iyi yol, ilgili işlemi başlatmamak olacaktır. Bu, ana.ino dosyasındaki void startProcesses() işlevindeki ilgili enable() çağrısının yorumlanmasıyla gerçekleştirilebilir. Sistemi yapısal olarak değiştirmek istemiyorsanız, ekran ve MQTT süreçleri onları yoklayacağı için süreçleri tamamen kaldırmazdım. Bu şekilde sadece sıfır döndürmeleri gerekir. Lütfen, kullanılmadığında geiger panosu için kesme girişinin aşağı çekileceğini, aksi takdirde pano açılmayacağını unutmayın.

Bir V2.0 için vaktiniz olsaydı ne gibi iyileştirmeler yapardınız?

Belirli bir sırayla değil..

  • PCB, ESP8266 anteninin arkasındaki bakırdan kaçınabilir. Tamamen unuttum ve radyasyon diyagramını izotropik yapmıyor
  • Bence şarj cihazı bu kadar büyük bir pil için küçük / pil şarj cihazı için çok büyük. Başka IC'ler var ve bir tane daha deneyeceğim.
  • Daha iyi pil göstergeleri var.
  • ozon sensörü eklerdim
  • Ana üniteden daha fazla GPIO ve Bluetooth sensörü için bir ESP32 kullanırdım.
  • ESP32 veya I2C genişletici ile daha fazla GPIO'ya sahip olsaydım, birini fanı kontrol etmek için ve diğerini üniteyi yazılımdan kapatmak için kullanırdım. Şimdi düşük pil olduğunda, düşük pil ekranını görüntülemek için yapabileceği tek şey. Bu aslında tasarımın en büyük dezavantajıdır, çünkü düşük pil durumu incelikle ele alınmaz.

Yazılım Üzerine

Donanımdan daha uzun sürdü… Sanırım pek çok iyi konsept içeriyor, ne yazık ki tam olarak uygulanmadı. Özellikle, temizlenmesi, potansiyel olarak genişletilmesi gerektiğine ve ESP8266 uygulamaları için genel bir çerçevenin bundan kolayca türetilebileceğine inanıyorum. Zaman yok. Meydan okumayı kabul eden var mı?

Sesle kontrol ekleyebilir misiniz?

Yapılabilir olmalıdır. Alexa ile bir ESP8266'yı kontrol etmek için bir dizi hazır kitaplık var ve entegrasyonun neden bir sorun olması gerektiğini anlamıyorum. İlginç soru, onunla ne yapmak istediğinizdir, işlevsellik açısından. Amazon Echo'm yok, bu yüzden hiç denemedim.

Lazer kesimleri nasıl yaptın?

Çizimler SketchUp ile yapılmıştır. Program güzel ama ciddi şekilde dışa aktarma yeteneklerinden yoksun. Bununla birlikte, 30 günlük deneme sürümü, ek işlevlere sahip olduğundan yardımcı olur. Daha sonra son işleme için Inkscape'e aktardım.

MOSFET'ler aracılığıyla güç tasarrufu yapmak için sensörleri açıp kapatabilir misiniz?

Prensipte güzel fikir, ancak bu sensörlerin çoğu, ısınma süreleri olduğu için her zaman çalıştırılmalıdır. Ayrıca… ESP8266'da GPIO'larım bitti. Resmi olarak işlevsel olmayan, ancak ESP12E'de gayet iyi çalışan GPIO10'u bile kullanmak zorunda kaldım.

Hangi becerilere ihtiyacım olacak?

Sıfırdan inşa etmek için bazı elektronik tasarım geçmişine ihtiyacınız olacak. Pek değil, bugünlerde internet sayesinde, ilk günlerimdeki gibi veri sayfalarını satır satır okumanıza gerek yok… Deneylerimin sonucunu kullanırsanız, biraz SMD lehimleme becerilerine, mekanik becerilere ve biraz sabra ihtiyacınız var.

Bu senin ilk projen mi?

Bu benim ilk dersim ama ilk projem değil. Geçmişte çok kurcaladım ama bugünlerde gerçekten fazla zamanım yok. Çocuklarıma faydalı bir şeyler öğretmeye çalışırken paslanmış becerilerimi yeniden canlandırdım..! Bir gün yayınlayabileceğim birkaç proje daha yaptım..

Önerilen: