Съдържание:

Arduino Datalogger с RTC, Nokia LCD и енкодер: 4 стъпки
Arduino Datalogger с RTC, Nokia LCD и енкодер: 4 стъпки

Видео: Arduino Datalogger с RTC, Nokia LCD и енкодер: 4 стъпки

Видео: Arduino Datalogger с RTC, Nokia LCD и енкодер: 4 стъпки
Видео: Arduino Datalogger with GUI 2024, Юни
Anonim
Arduino Datalogger с RTC, Nokia LCD и енкодер
Arduino Datalogger с RTC, Nokia LCD и енкодер
Arduino Datalogger с RTC, Nokia LCD и енкодер
Arduino Datalogger с RTC, Nokia LCD и енкодер
Arduino Datalogger с RTC, Nokia LCD и енкодер
Arduino Datalogger с RTC, Nokia LCD и енкодер

Части:

  • Arduino Nano или Arduino Pro Mini
  • Nokia 5110 84x48 LCD
  • DHT11 сензор за температура/влажност
  • DS1307 или DS3231 RTC модул с вграден AT24C32 EEPROM
  • Евтин енкодер с 3 кондензатора за освобождаване

Характеристика:

  • GUI, базиран на LCD LCD и енкодер
  • температура, влажност, дата и час могат да се съхраняват на всеки 1 до 120 минути
  • всеки запис е компресиран само до 39 битово поле, така че 32kbit флаш (4KB) може да побере 819 записа
  • опционалният чип AT24C256 може да съхранява дори 6553 записа
  • дълбок сън, използван за пестене на батерията, ATMEGA се събужда основно от прекъсвания
  • DHT11 се захранва само по време на измервания
  • захранва се от единична 18650 или друга литиева клетка
  • няколко „лица“на дисплея
  • 6 шрифта
  • измервател на нивото на батерията
  • преглед на данни и графики
  • мин/макс с дата/час
  • всички записани данни изхвърлят през сериен порт в CSV формат
  • LCD подсветка
  • използвана собствена бърза и нискоресурсна библиотека N5110
  • собствено ниско ниво на DHT11 четене на данни
  • притежават код за обработка на DS1307, DS3231 и AT24C32 I2C EEPROM
  • кодът използва почти всички 32KB флаш Arduino
  • всички вътрешни регистри могат да се съхраняват във външна EEPROM или DS1307 вътрешна RAM

Компресиране на данни

Записват се следните стойности:

  • време (час, мин)
  • дата (d, m, y)
  • температура
  • влажност

Горните данни се компресират в 39-битово битово поле:

  • hr 0..23 -> 5b
  • мин 0..59 -> 6б
  • d 1..31 -> 5b
  • m 1..12 -> 4b
  • y 2018..2021 -> 2б
  • температура -40.0..64.0 -> 1024 стойности = 10b
  • бръмчене 0..100 -> 7b
  • общо 39 бита

Само 5 байта се използват за 1 запис:

бита 76543210 байт0 hhhhhmmm байт1 mmmddddd байт2 mmmmyytt байт3 tttttttt байт4 hhhhhh0

Стъпка 1: Гледайте видеоклипове

Image
Image

Ако се интересувате от функциите на проекта и развитието, гледайте видеоклипове по -горе

Стъпка 2: Връзки

Връзки
Връзки
Връзки
Връзки

Nokia 5110:

  1. RST до D9
  2. CS/CE до D10
  3. DC към D8
  4. MOSI/DIN към D11
  5. SCK/CLK до D13
  6. VCC към Arduino VCC
  7. LIGHT до D6
  8. GND към GND

DHT11:

  1. VCC към VCC
  2. ДАННИ към D14
  3. NC
  4. GND към GND

RTC DS1307/DS3231 и AT24C32 EEPROM:

Arduino I2C (A4/A5)

Енкодер:

  • PinA до D2
  • PinB към D4
  • Бутон за D3

Стъпка 3: Модули на RTC „LowPower“Модификации (по избор)

RTC модули
RTC модули
RTC модули
RTC модули

В DS1307 изрежете 2 следи, отстранете R6 и направете спойка

В DS3231 изрежете 2 следи

Стъпка 4: Фърмуер

Скица на Arduino:

github.com/cbm80amiga/N5110_DHT11_logger_G…

Библиотека N5110:

github.com/cbm80amiga/N5110_SPI

Опции за конфигуриране:

#define USE_DS3231 -> да се използва DS3231 вместо DS1307

#define REG_IN_RTCRAM -> регистрите се съхраняват в RTC RAM (само за DS1307)

Препоръчано: