İçindekiler:

ESP8266 Hava İstasyonu Saati: 4 Adım
ESP8266 Hava İstasyonu Saati: 4 Adım

Video: ESP8266 Hava İstasyonu Saati: 4 Adım

Video: ESP8266 Hava İstasyonu Saati: 4 Adım
Video: ESP8266 ve OLED ile MQTT Termostat - 2 (Anlık Hava durumu ve Saat Özelliği) 2024, Kasım
Anonim
ESP8266 Hava İstasyonu Saati
ESP8266 Hava İstasyonu Saati

Bu proje, zamanı ve hava durumunu küçük ve kullanışlı bir pakette göstermenin güzel bir yoludur. Projeyi, nasıl çalıştığını açıklayacağım ve kodu burada göstereceğim.

Belirli bir konumdaki mevcut hava durumunu, ayrıca sıcaklık ve basıncı göstermek için farklı düğmelere basabilirsiniz. Varsayılan görünüm, bir NTP sunucusundan alınan zamandır.

Saat NTP sunucusundan senkronize edildiğinden ve çok doğru olduğundan, saati ayarlamaya gerek yoktur. Bu yapılandırmada zamanım ve yerel IP adresim var. Kodu, ana ekranda veya düğmelerde görüntülenecek tarih, hava durumu, basınç ve sıcaklığı içerecek şekilde değiştirebilirsiniz.

Adım 1: Şematik

şematik
şematik
şematik
şematik

Şematik nispeten basittir ve

takip et. Kendi PCB'nizi döndürmek istiyorsanız bir gerber dosyası var. Tüm devre, bir mikro USB bağlantısından gelen 5V ile çalıştırılır. Bu, devreyi basit ve kolay güç sağlar. 5V, ESP8266'ya 3.3V veren bir Düşük Kayıplı 3.3V Regülatör ve LM 3940'a beslenir. ESP8266'da bir USB konektörü var ancak LCD'yi de 5V sürdüğü için genel olarak kullanmamayı tercih ettim.

ESP8266 ile 3,3V kullanılmalıdır, kartı öldüreceği için doğrudan 5V ile kullanamazsınız.

İki dokunsal anahtar, D5 ve D6'ya bağlanır ve ekranda farklı bilgileri getirmek için kodda yapılandırılır. Bunları Sıcaklık/Basınç ve Tahmin olarak ayarladım.

Tüm bileşenler perfboard üzerine kolayca elle lehimlenir veya gerber, https://github.com/allenelectronics/esp8266weatherstation adresindeki GitHub'ımda mevcuttur.

2. Adım: Kod

github.com/allenelectronics/esp8266weatherstation

Kod Arduino IDE'de derlenmiştir ve çalışması için bazı konfigürasyonlara ihtiyacı vardır.

İlk olarak, kodu yüklemek için ESP8266 Board'u IDE'ye kurmanız gerekir.

Bunun nasıl yapılacağına ilişkin kapsamlı talimatlar burada:

Hava durumu işlevini elde etmek için, doğrudan API'den hava durumu verilerini toplayan ve kodunuza eklenebilecek kod üreten RemoteMe'yi kullanmayı seçtim. Veri akışını web sitelerine kaydetmeniz ve ayarlamanız gerekecek:

RemoteMe ile ilgili belgeler burada bulunabilir:

Yüklemeden önce tamamlamanız gereken kurulumunuza özel bazı özel tanımlar vardır:

#define WIFI_NAME "SSID BURAYA GİDİYOR"

#define WIFI_PASSWORD "ŞİFRE BURAYA GİDİYOR"

#define DEVICE_ID 1

#define DEVICE_NAME "REMOTEME. ORG'DAN ELDE ET"

#define TOKEN "REMOTEME. ORG'DAN ELDE ET"

Buradaki tanımların, wifi ayrıntılarınıza ve RemoteMe'den aldığınız jetona göre sizin tarafınızdan ayarlanması gerekir.

Tüm bu kitaplıkların yüklendiğinden ve koda dahil edildiğinden emin olmanız gerekir. Ulaşılması daha zor olanlara bağlantılar ekledim.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#Dahil etmek

#Dahil etmek

#Dahil etmek

#Dahil etmek

Bu projede GPS kullanılmadığından değiştirilmesi gereken son kısım konumunuzdur. “LOCATION” dizesini değiştirmeniz gerekiyor:

else if(buttonState2 == LOW && prevButtonState2== HIGH){

Serial.print("YER\n");

Seri.println(fc);

lcd.clear();

lcd.print("YER");

lcd.setCursor(0, 1);

lcd.print(fc);

lcd.setCursor(0, 0);

gecikme (5000);

prevButtonState2 = buttonState2;

Adım 3: Yapı

yapı
yapı
yapı
yapı

yapı

O zamanlar bir 3d yazıcıya erişimim yoktu, bu, kullanıma hazır bir kasa kullandığım son projemdi. 16x2 LCD için tasarlanmış, hazır bir alarm paneli kılıfı kullandım.

Bağlantı: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Her şey kasanın içine doldurulmuş, 16x2 LCD ekran, devre kartı yerine sıcak yapıştırılmış olarak ön panele yapıştırılmıştır.

4. Adım: Sonuç

Çözüm

Bu, herhangi bir ayar veya ayar gerektirmeyen bir masaüstü dijital saati için güzel bir projedir, bir NTP sunucusundan zaman alır ve net bir arkadan aydınlatmalı LCD'de görüntüler.

Gerekli kod için bazı yapılandırmalar olduğundan ve veri akışlarının da ayarlanması gerektiğinden, bu yeni başlayanlar için değildir. Herhangi bir sorunuz veya yorumunuz varsa, lütfen bana yorum bırakmaktan çekinmeyin.

Önerilen: