İçindekiler:

Gelgit ve Hava Saati: 9 Adım (Resimlerle)
Gelgit ve Hava Saati: 9 Adım (Resimlerle)

Video: Gelgit ve Hava Saati: 9 Adım (Resimlerle)

Video: Gelgit ve Hava Saati: 9 Adım (Resimlerle)
Video: 9 Ay 10 Gün boyunca Ay Ay Gebelik Süreci (tek parça). Hangi ayda anne ve bebekte neler olur? 2024, Kasım
Anonim
Gelgit ve Hava Saati
Gelgit ve Hava Saati

Gelgitin yüksek veya düşük olduğunu veya arada bir yerde olduğunu gösteren tek bir eli olan analog gelgit saatleri satın alabilseniz de, istediğim şey gelgitin ne zaman olacağını söyleyecek bir şeydi. Açmadan, herhangi bir düğmeye basmadan veya beklemeden hızlıca bakabileceğim bir şey istedim. Ve uzun pil ömrü olan bir şey istedim. Bu yüzden, bir TTL5110 yongasına bağlı, 2.13 e-kağıt ekranlı, ESP32 tabanlı bir kart olan bir TTGO T5 kartı kullandım. TPL5110, T5'i her 2.5 saatte bir açar ve günde bir kez T5, gelen gelgit verilerini indirir. OpenWeatherMap'ten gelen NOAA ve hava durumu verileri, verileri e-kağıda görüntüler ve ardından TPL5110'a T5'i kapatmasını söyler.

GÜNCELLEME (25 Şubat 2020) Gelgit Saati bir yıldır çalışıyor ve pil 4,00 voltta, bu nedenle saat muhtemelen uzun yıllar çalışabilir.

Adım 1: Donanım Listesi

TTGO T5 kurulu 17 $

Adafruit TPL5110 kurulu 5 $

Adafruit Perma-Proto Çeyrek boyutlu tahta (isteğe bağlı) 0,71 ABD doları (minimum sipariş 8,50 ABD doları)

Li-Poly pil 1200 mAh 10$ (veya diğer uygun güç kaynağı)

JST PH 2-Pin Kablo – Erkek Başlık 0,75 Dolar

220 uF kapasitör

2. Adım: Araçlar

Havya

Tel striptizci

Li-Po pil şarj cihazı, bunun gibi.

Adım 3: Donanımı Birleştirin

Donanımı Birleştirin
Donanımı Birleştirin
Donanımı Birleştirin
Donanımı Birleştirin
Donanımı Birleştirin
Donanımı Birleştirin

Donanımın montajı şematik olarak gösterildiği gibi oldukça basittir. Normal bir protoboard gibi bir Adafruit Perma-proto board kullandım, sadece bir breadboard gibi düzenlenmiş, bir breadboard ile aynı elektrik bağlantılarına sahip, ki bu güzel. Yalnızca birkaç bağlantıya ihtiyacım olduğu ve tüm montajı küçük bir kutuya sığdırmak istediğim için, bir Dremel kesme diski ile panolardan birini dörde böldüm.

220 uF kapasitör çok önemlidir. Onsuz, TPL5110 asla T5'i açmaz. Nedeni biraz belirsiz, ancak TPL5110'u kullanan diğer kişiler de aynı sorunu yaşadı. Belki ESP32, başlangıçta TTL5110'un sağlayabileceğinden daha fazla akım çekiyor?

Pili kablolamayın. Pili şarj etmek için çıkarabilmek için JST-PH kablosunu kullanın. TPL5110 "açık" ise pili T5'ten TPL5110'a geri şarj etmenin bir yolu olabilir, ancak bu tekniğe kefil olamam.

Muhafaza olarak ahşap bir kutu yaptım, ancak minimum iç boyutları 1,5" x 2,75" x 1" olan her şey işe yarayabilir.

4. Adım: Zamanlamayı Ayarlayın

TPL5110 kartı, TPL5110'un uyandığı zaman aralığını ayarlayan bir trim potansiyometresine sahiptir. Bunu saat yönünün tersine çevirmek için küçük bir tornavida kullanın. Kartımda bu, aralığı 145 dakikaya ayarladı, bu aslında belirtilen maksimum 120 dakikadan daha fazla, ancak çalışıyor ve tutarlıydı ve her 120 dakikada bir uyanmaktan daha fazla güç tasarrufu sağlayacak, bu yüzden kullandım. Aralığı tam olarak bilmenize gerek yoktur, çünkü amaç yalnızca günde bir kez kabaca saat 4 civarında veri indirmektir. Env_config.h'de aralığı (ör. 145 dakika) ve uyanma süresini (ör. 4am) belirtebilirsiniz.

(Başka bir proje için zamanlamanın daha iyi kontrol edilmesini istiyorsanız, TPL5110 kartının arkasında potansiyometreyi devre dışı bırakmak için kesebileceğiniz bir iz vardır. Ardından Gecikme pimine bir direnç bağlarsınız ve direnç aralığına göre aralığı belirler. bu çizelge.)

Adım 5: Yazılım

ESP32 paketi ile Arduino IDE'ye ihtiyacınız olacak. IDE'de kartınızı "ESP32 Dev Module" olarak ayarlayın.

Çizim https://github.com/jasonful/Tides adresinde mevcuttur ve 3 kitaplık gerektirir:

  1. Arduino Kütüphane Yöneticisinden (veya buradan) edinilebilen "ESP8266 Hava İstasyonu". Yalnızca şu 6 dosyaya ihtiyacınız olacak: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h ve kalanını silebilirsiniz.
  2. Arduino Library Manager'dan (veya buradan) edinilebilen "Json Streaming Parser"
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Kod gerçek bir kitaplık olarak paketlenmemiş olsa da, onu kitaplıklar dizininizin altına kopyalayıp ekleyebilirsiniz. o.

Adım 6: Yazılımı Yapılandırın

env_config.h dosyasında ayarlamanız gereken (ve birkaçını ayarlamak isteyebileceğiniz) birkaç parametre vardır:

  • WiFi SSID ve şifre
  • NOAA istasyon kimliği (başka bir deyişle, neredesiniz)
  • Kayıt olmanız gereken OpenWeatherMap AppID (kolay ve ücretsiz)
  • OpenWeatherMap LocationID (yine, neredesiniz)
  • TPL5110 olmadan bir T5 kullanmanıza izin veren CONFIG_USE_TPL5110. Bunun yerine, yazılım derin uyku moduna girecektir. T5 kartı derin uykuda yaklaşık 8 ma çekiyor, bu yüzden pilin yalnızca birkaç gün dayanmasını beklerdim.

7. Adım: Yazılım Nasıl Çalışır?

(Umursamıyorsanız bu kısmı atlayabilirsiniz.)

Amaç günde bir kez uyanmaktır, ancak TPL5110'un maksimum aralığı sadece 2 saat kadar olduğundan, T5'in daha sık uyanması gerekir. Yani gelgit ve hava durumu verilerini indirdikten sonra, bu 2 saatlik aralıklarla bugün ile yarın sabah 4:00 arasında kaç tane olduğunu hesaplıyor. Bu, TPL5110'un pil için iyi olan T5'e giden gücü tamamen kesmesi gerçeğiyle biraz karmaşıktır, ancak bu, RAM'i ve gerçek zamanlı saati kaybettiğimiz anlamına gelir. Her sabah amnezi ile uyanmak gibi. Şimdi saatin kaç olduğunu bulmak için NOAA'nın HTTP başlığından çıkarır. Ve kaç 2 saatlik aralık kaldığını hatırlamak için, bunu geçici olmayan depolamaya (flash) yazar. Her uyandığında, o sayacı kontrol eder, azaltır, saklar ve sıfırdan büyükse, hemen TPL51110'a ("Bitti") uykuya geçmesini söyleyen bir sinyal gönderir. Sayaç sıfıra ulaştığında, kod yeni verileri indirir ve sayacı yeniden hesaplar ve sıfırlar.

Adım 8: Çalıştırın

Çalıştır
Çalıştır

T5'in sol tarafındaki anahtarın yukarı (açık) konumda olduğundan emin olun, çizimi T5'e yükleyin ve birkaç saniye içinde ekran gelgit ve hava durumu bilgileriyle güncellenecektir.

Yazılımda hata ayıklamanız gerekiyorsa, Tides.ino'nun üst kısmındaki "#define DEBUG 0" öğesini "#define DEBUG 1" olarak değiştirin. Bu, seri hata ayıklama çıktısını açar ve ayrıca yeni verileri indirmeden önce kalan yeniden başlatma sayısını ve en son indirdiği verileri e-kağıdın altında görüntüler.

9. Adım: Gelecek Yönergeler

  1. TPL5110'un bir e-kağıt ekranla birlikte kullanılması, mükemmel pil ömrü ile sık sık değişmeyen herhangi bir veriyi görüntülemenin harika bir yoludur.
  2. Bunu tasarlarken, üzerinde TPL5111 bulunan bir ESP8266 kartı olan TrigBoard'u kullanmayı düşündüm. Bunun gibi ayrı bir e-kağıt ekranı ve e-kağıt sürücü panosu alınması gerekecekti. Veya bunun gibi bir sürücü + kart kombinasyonu. Kodu ESP8266'ya taşımak için SSL kodunun sertifikalar yerine parmak izlerini kullanması gerekeceğini ve geçici olmayan depolama kodunun EEPROM veya RTC belleği kullanması gerekeceğini düşünüyorum.
  3. Geçenlerde Lolin32 kartının derin uyku modunda oldukça iyi olduğunu duydum: yaklaşık 100uA. TPL51110 kartı kadar iyi değil (Adafruit'e göre 20uA) ama yeterince iyi.
  4. OpenWeatherMap, gösterdiğimden çok daha fazla hava durumu verisi döndürüyor. Bir yerde tek renkli simgeleri bulmayı gerektiren simge kimlikleri dahil.

Önerilen: