Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino Temp. Монитор и часы реального времени с дисплеем 3.2

Компоненты и расходные материалы

Arduino Due
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Введение

Дорогие друзья, добро пожаловать на очередной урок! Это Ник из education8s.tv, и сегодня мы увидим, как разработать эти часы реального времени и монитор температуры! Приступим!

Несколько недель назад я протестировал этот цветной TFT-дисплей с диагональю 3,2 дюйма для Arduino с Arduino Mega и Due. Дисплей работает нормально, и я построил на нем простой проект. Это датчик температуры и часы реального времени. Как вы можете видеть вверху, мы можем видеть текущую дату и время, мы можем видеть температуру прямо сейчас, а внизу Arduino записывает минимальную и максимальную температуру, которую он измерил. Я также пытался создать базовый пользовательский интерфейс, используя простые формы. Как видите, все работает нормально, и это очень простой и полезный проект для сборки. Посмотрим, как это сделать!

Шаг 1. Получите все детали

Детали, необходимые для создания этого проекта, следующие:

  • Arduino Due
  • Цветной TFT-дисплей с диагональю 3,2 дюйма.
  • Модуль DS3231 RTC
  • Мужские заголовки
  • Провода

Стоимость проекта около 24 $. Вам нужно около 14 долларов за Arduino Due, 8 долларов за дисплей и около 2 долларов за модуль RTC.

Шаг 2. Модуль часов реального времени DS3231

Модуль часов реального времени DS3231, как следует из названия, называется часами реального времени. Используя батарею, он может работать годами, так как потребляет минимальное количество энергии.

DS3231 - это недорогие, чрезвычайно точные часы реального времени (RTC) I2C со встроенным кварцевым генератором с температурной компенсацией (TCXO) и кварцевым резонатором. Устройство оснащено аккумуляторным входом и поддерживает точное время при отключении основного питания устройства. Интеграция кристаллического резонатора увеличивает долговременную точность устройства, а также снижает количество деталей на производственной линии.

RTC хранит информацию о секундах, минутах, часах, дне, дате, месяце и году. Дата в конце месяца автоматически корректируется для месяцев, содержащих менее 31 дня, включая поправки на високосный год. Часы работают в 24-часовом или 12-часовом формате с индикатором AM / PM. Предусмотрены два программируемых будильника по времени и программируемый прямоугольный сигнал. Адрес и данные передаются последовательно через двунаправленную шину I2C.

Стоимость модуля крайне низкая; с аккумулятором стоит около 2 $!

Получите здесь.

Мы собираемся использовать его, чтобы отсчитывать время и получать показания температуры!

Шаг 3. Цветной TFT-дисплей 3,2 дюйма (HX8357C или HX8357B)

Я всегда хотел иметь большой дисплей для моих проектов Arduino. Итак, несколько недель назад я решил купить этот 3,2-дюймовый цветной TFT-дисплей для Arduino Mega и Arduino Due, потому что цена очень заманчивая! Менее 10 долларов за цветной TFT-дисплей с диагональю 3,2 дюйма. С такой ценой вы не ошибетесь.

Получите здесь.

Дисплей имеет разрешение 480x320 пикселей и имеет адаптер для SD-карты на задней панели. Я пока не использовал функции SD-карты. Постараюсь использовать в будущем. Если вы внимательно посмотрите, то увидите, что на дисплее также используется стабилизатор 3,3 В, поэтому он отлично работает с логическими уровнями 5 В и 3,3 В.

Дисплей представлен в двух вариантах. Один из них использует контроллер HX8357C, а другой - контроллер HX8357B. К счастью, мы можем использовать одну и ту же библиотеку для них обоих.

ДИСПЛЕЙ Библиотека.

После загрузки библиотеки вы должны открыть строку 13 комментария файла User_Setup.h и строку 14 раскомментировать, если ваш дисплей использует драйвер HX8357C, как мой.

Шаг 4:Соединение частей

Я собираюсь использовать Arduino Due для сборки этого проекта, хотя я мог бы использовать немного более дешевый, но более медленный Arduino Mega. Arduino Due намного быстрее, чем Arduino Mega, и у него много памяти, поэтому я предпочитаю его для этого проекта.

Сначала нам нужно соединить все части вместе. Я собираюсь использовать эти мужские заголовки для подключения модуля RTC к Arduino DUE.

Нам нужно четыре контакта заголовка. Два для питания и два для интерфейса I2C. Мы сгибаем их вот так и подключаем один к выводу 3,3 В платы Arduino Due, другой к GND, а два других к выводу SDA и SCL платы. Некоторыми женскими проводами подключаем модуль к плате. Вот и все.

Теперь мы можем прикрепить дисплей к плате. Вам не нужно подключать эти два контакта к плате Arduino, поэтому я оставлю их плавающими.

Теперь мы готовы запустить проект. Как видите, работает нормально! Это так просто! Теперь перейдем к компьютеру, чтобы увидеть программную часть проекта.

Шаг 5:Код проекта

Теперь мы готовы взглянуть на код. В этом проекте мы используем две библиотеки:

  • Показать библиотеку
  • Библиотека DS3231

Вам нужно установить их, и тогда проект будет отлично скомпилирован!

Первое, что нам нужно сделать, это установить время в модуле часов реального времени, если оно еще не установлено. Для этого введите текущую дату и время в функции void setRTCTime,

  void setRTCTime () {DateTime dt (2016, 4, 4, 13, 56, 30, 1); // Год, Месяц, День, Час, Минуты, Секунды, День недели rtc.setDateTime (dt); }  

раскомментируйте вызов функции в функции настройки:

  void setup () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); задержка (100); printUI (); setRTCTime ();}  

И загрузите программу в Arduino. Теперь время установлено. Но тогда мы должны снова прокомментировать вызов функции setRTCTime и еще раз загрузить программу в Arduino.

  void setup () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); задержка (100); printUI (); // setRTCTime ();}  

Как видите, код проекта прост. Мы просто печатаем пользовательский интерфейс, а затем отображаем на нем дату, время и значок.

  void loop () {float temperature =rtc.getTemperature (); getAndPrintTime (); printTemperature (температура); если (температура> максТемпература) {максТемпература =температура; updateMaxTempera (); } если (температура <минТемпература) {минТемпература =температура; updateMinTemperature (); } delay (1000);}  

Вы можете найти код, прикрепленный к этому шагу. Вы можете скачать последнюю версию кода с сайта проекта здесь:http://educ8s.tv/arduino-real-time-clock-32/

DueRTC.ino

Шаг 6:Заключительные мысли

Как видите, с помощью нескольких строк кода и очень низкой стоимости мы можем создать очень полезный проект. Я собираюсь больше работать над этим проектом, так как он станет продвинутой метеостанцией с большим количеством датчиков, графиков и возможностей Wi-Fi.

Поскольку Arduino Due очень быстрая и имеет много памяти, я думаю, что это идеальная плата для Arduino. Что ты думаешь об этом проекте? Каким вы хотите видеть его развитие?

Пожалуйста, разместите свои комментарии или идеи в разделе комментариев ниже.

Код

  • Фрагмент кода №2
  • Фрагмент кода №3
  • Фрагмент кода 4
Фрагмент кода 2 Обычный текст
 void setup () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); задержка (100); printUI (); setRTCTime ();} 
Фрагмент кода № 3 Обычный текст
 void setup () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); задержка (100); printUI (); // setRTCTime ();} 
Фрагмент кода №4 Обычный текст
 void loop () {float temperature =rtc.getTemperature (); getAndPrintTime (); printTemperature (температура); если (температура> максТемпература) {максТемпература =температура; updateMaxTempera (); } если (температура <минТемпература) {минТемпература =температура; updateMinTemperature (); } delay (1000);} 
Github
https://github.com/Bodmer/TFT_HX8357_Duehttps://github.com/Bodmer/TFT_HX8357_Due
Github
https://github.com/SodaqMoja/Sodaq_DS3231https://github.com/SodaqMoja/Sodaq_DS3231

Производственный процесс

  1. Управление эффектом с помощью реальных датчиков
  2. Часы Arduino с исламским временем молитв
  3. Word Clock с минутным разрешением времени в словах
  4. Игра с дисплеем Nextion
  5. Цифровые часы TM1637 с функцией настройки времени и будильника
  6. DIY вольтметр с Arduino и дисплеем Nokia 5110
  7. BME280 Температура, влажность и давление на дисплее Nextion
  8. Управление серводвигателем с помощью Arduino и MPU6050
  9. u-blox LEA-6H 02 GPS-модуль с Arduino и Python
  10. Простой будильник с DS1302 RTC