Giter Site home page Giter Site logo

microdimmer / homeweather_esp8266 Goto Github PK

View Code? Open in Web Editor NEW
33.0 7.0 11.0 5.76 MB

weather station, arduino esp8266, st7920, mh-z19, BME-280

C 10.96% C++ 89.04%
blynk u8g cayenne esp8266-arduino arduinojson wifimanager weather-station wifi ntp-client clock

homeweather_esp8266's Introduction

Arduino esp8266 home weather station

Clock with auto backlight, NTP time-sync, measuring CO2, humidity, temperature, atmospheric pressure and Blynk or Cayenne synchronization.

Components

  • CO2 Sensor MH-Z19
  • ESP8266 (NodeMCU ESP12+ based)
  • ST7920 128x64 LCD display
  • Humidity/Pressure/Temperature BME280
  • Photoresistor 5528 LDR
  • NPN transistor P2N2222A or similar
  • Buttons, resistors, wires, enclosure

Optional

  • TL431 for better display contrast adjust. (attention! need to cut JP3 on display, see photos)

Photos:

Version with 3D-printed case and buttons

PHOTO1 PHOTO2 PHOTO3 PHOTO4

Version with purchased case and buttons

front_photo disassembled_photo

Version with 3D-printed case and buttons from ffnull

front_photo disassembled_photo

3D models

In stl folder

Blynk and Cayenne:

Blynk docs

Cayenne docs

Data is bounded to this values:

  • v1 - temperature;
  • v2 - humidity;
  • v4 - atmospheric pressure;
  • v5 - CO2 sensor MH-Z19;
  • v7 - light sensor;

Libraries

Wiring:

ST7920
RS - D8
R/W - D7
E - D6
backlight - D3

mh-z19
RX - D4
TX - D5

BME-280
SDA - D1
SCL - D2
VCC - 3V3

Scheme:

With TL431:

СХЕМА

Without TL431:

СХЕМА

Jumper JP3:

Attention! JP3 need to be cutted to use TL431. TL431 is using for better display contrast adjust.

Cutted:

jumper_cut

Uncutted:

jumper_uncut

Known issues:

  • Temperature measurements seems to be higher due to heat from ESP8266
  • ST7920 plate need to be cutted to fit enclosure
  • Can't connect to my old ASUS WL-500gP V2

Russian:

Часы с синхронизацией времени по WI-FI, функцией измерения CO2, температуры, влажности, давления. Также есть автоматическое изменение подсветки в зависимости от освещения. Часы синхронизируются по NTP протоколу через WI-FI. Данные датчиков передаются на сервер Blynk или Cayenne.

Компоненты

  • Датчик CO2 MH-Z19
  • NodeMCU v2
  • ST7920 128x64 LCD-дисплей
  • датчик давления/влажности/температуры BME280
  • фоторезистор 5528 LDR
  • NPN тразистор P2N2222A или похожий
  • кнопки, резисторы, провода, корпус

Опционально

  • TL431 стабилизатор напряжения, используется для более удобной настройки контраста дисплея, можно им пренебречь. (внимание! если хотите использовать стабилизатор, нужно распаять джампер JP3 на дисплее, см. фото)

Библиотеки

Подключение:

дисплей 12864 
RS - D8
R/W - D7
E - D6
катод подсветки - D3

датчик mh-z19
RX - D4
TX - D5

датчик BME-280
SDA - D1
SCL - D2
VCC - 3V3

Известные проблемы:

  • ESP8266 греется и вносит погрешность в показания температуры, пока изолировал датчик BME-280 вспененным полиэтиленом
  • Пришлось немного подрезать плату дисплея ST7920 сверху, не входила по высоте
  • Не удалось подключить к роутеру ASUS WL-500gP V2 (видимо нужно разбираться с типом WI-FI сети на роутере)

homeweather_esp8266's People

Contributors

microdimmer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

homeweather_esp8266's Issues

TL431

А для чего в схеме TL431

Вопросы

Здраствуйте!
Напечатал все детали, собрал. Но
Ни в какую не работает подсветка по датчику. В дебаге постоянно 1024.
В вариации с TL431 в схеме, похоже что ошибка - не работает от слова совсем. Временно сделал просто через резистор 5кОм
Можно исходники корпуса? Так-как были другие кнопки и датчик CO2 и пришлось колхозить.
Кнопки дают мисклики.
И главное: Спасибо за шикарный проект!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.