Оглавление:

Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком: 4 шага
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком: 4 шага

Видео: Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком: 4 шага

Видео: Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком: 4 шага
Видео: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Июнь
Anonim
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком
Регистратор данных Arduino с RTC, ЖК-дисплеем Nokia и кодировщиком

Части:

  • Arduino Nano или Arduino Pro Mini
  • Nokia 5110 84x48 ЖК-дисплей
  • Датчик температуры / влажности DHT11
  • Модуль DS1307 или DS3231 RTC со встроенным EEPROM AT24C32
  • Дешевый энкодер с 3 противодействующими конденсаторами

Функции:

  • Графический интерфейс на базе ЖК-дисплея Nokia и кодировщика
  • температура, влажность, дата и время могут сохраняться каждые от 1 до 120 минут
  • каждая запись сжимается только до 39 битовых полей, поэтому 32-битная флэш-память (4 КБ) может вместить 819 записей
  • дополнительный чип AT24C256 может хранить даже 6553 записи
  • глубокий сон, используемый для экономии заряда батареи, ATMEGA просыпается в основном из-за прерываний
  • DHT11 запитывается только во время измерений
  • питание от одного 18650 или другого литиевого элемента
  • несколько отображаемых "лиц"
  • 6 шрифтов
  • измеритель уровня заряда батареи
  • обзор данных и графики
  • мин / макс с датой / временем
  • дамп всех записанных данных через последовательный порт в формате CSV
  • ЖК-подсветка
  • использовалась собственная быстрая и малоресурсная библиотека N5110
  • собственное чтение данных низкого уровня DHT11
  • собственный код обработки I2C EEPROM DS1307, DS3231 и AT24C32
  • код использует почти все 32 КБ флэш-памяти Arduino
  • все внутренние регистры могут храниться во внешней EEPROM или внутренней RAM DS1307

Сжатие данных

Записываются следующие значения:

  • время (час, мин)
  • дата (д, м, г)
  • температура
  • влажность

Вышеуказанные данные сжаты до 39-битного битового поля:

  • ч 0..23 -> 5b
  • мин 0..59 -> 6b
  • d 1..31 -> 5b
  • м 1..12 -> 4б
  • г 2018..2021 -> 2b
  • temp -40.0..64.0 -> 1024values = 10b
  • гул 0..100 -> 7b
  • всего 39 бит

На 1 запись используется всего 5 байтов:

биты 76543210 byte0 hhhhhmmm byte1 mmmddddd byte2 mmmmyytt byte3 tttttttt byte4 hhhhhhh0

Шаг 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. СВЕТ в D6
  8. GND к GND

DHT11:

  1. VCC в VCC
  2. ДАННЫЕ к D14
  3. NC
  4. GND к GND

RTC DS1307 / DS3231 и AT24C32 EEPROM:

Ардуино I2C (A4 / A5)

Кодировщик:

  • PinA к D2
  • PinB к D4
  • Кнопка к D3

Шаг 3: Модификации модулей RTC с низким энергопотреблением (необязательно)

Модули 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)

Рекомендуемые: