Оглавление:
- Шаг 1. Вещи, использованные в этом проекте
- Шаг 2: история
- Шаг 3. Загрузите необходимые файлы
- Шаг 4: Соберите
- Шаг 5: программа
- Шаг 6. Сделайте его портативным
- Шаг 7: Заключение
- Шаг 8: Код
Видео: Отображение даты, времени и температуры с помощью XinaBox: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Классный OLED-дисплей, показывающий дату, время и температуру в градусах Цельсия и Фаренгейта с использованием Xinabox xChips на базе ESP8266.
Шаг 1. Вещи, использованные в этом проекте
Компоненты оборудования
- XinaBox IP01 x 1 USB-программатор xChip на базе FT232R от FTDI Limited
- XinaBox CW01 x 1 xChip Wi-Fi ядро на базе модуля Wi-Fi ESP8266
- XinaBox SW01 x 1 xChip Датчик температуры, влажности и атмосферного давления на базе BME280 от Bosch.
- XinaBox OD01 x 1 xChip 128x64 пикселей OLED-дисплей
- XinaBox PU01 x 1 xChip USB (тип A) Блок питания
- XinaBox XC10 x 1 разъемы шины xChip
- Источник питания USB 5 В x 1
Программные приложения и онлайн-сервисы
IDE Arduino
Шаг 2: история
Вступление
Я построил этот проект для отображения даты, времени UCT и температуры с помощью XinaBox xChips, который использует протокол шины I2C. Время было получено с сервера Google NTP. Температура окружающей среды измерялась с помощью SW01 xChip и отображалась на OLED-дисплее OD01 xChip в градусах Цельсия и Фаренгейта. На изображении ниже показан OLED-дисплей.
OLED, отображающий дату, время и температуру
Шаг 3. Загрузите необходимые файлы
Для этого проекта вам потребуются следующие библиотеки и программное обеспечение.
- Arduino IDE - программное обеспечение для разработки, в котором вы будете писать код
- xSW01 - Библиотека датчиков температуры
- xCore - Базовая библиотека для XinaBox xChips
- xOD01 - библиотека OLED-дисплея.
- Часовой пояс - Библиотека для выбора часового пояса
- Время - для использования функций времени
- NTPClient - позволяет получать время с сервера
- Вам также необходимо загрузить плату ESP8266 и следовать прилагаемым к ней инструкциям, чтобы установить плату.
После загрузки вы установите IDE и библиотеки. Это довольно просто, если вы будете следовать инструкциям.
Шаг 4: Соберите
Ваш основной xChip, который будет выполнять и обрабатывать программу, - это CW01. Он основан на модуле ESP8266 WiFi и использует протокол шины I2C. Для программирования на CW01 вам понадобится программный xChip. IP01 позволяет нам программировать CW01 через порт USB на нашем компьютере, просто щелкнув вместе два xChip с помощью разъемов шины XC10 и вставив его в порт USB. Никакой проводки и пайки не требуется. Следует обратить внимание на ориентацию идентификационных имен xChip. Все они должны быть ориентированы в одном направлении. Теперь у вас должна быть следующая настройка.
Соедините вместе CW01 и IP01 и вставьте его в порт USB на вашем компьютере.
Если вы знакомы с xChips, вы можете соединить каждый xChip вместе с помощью разъемов шины XC10, которые вы хотите использовать для своего проекта, а затем вставить его в порт USB. Мы будем использовать датчик температуры SW01 и OLED-дисплей OD01.
Вы можете соединить все свои чипы вместе, а затем вставить их в USB-порт.
Шаг 5: программа
Загрузите или скопируйте и вставьте приведенный ниже код в свою среду разработки Arduino. Если вы не вносите никаких изменений в код, просто введите данные своего Wi-Fi в соответствующие поля, как показано ниже. Также введите надежный сервер времени NTP. Для этого проекта я использовал сервер времени Google.
Детали WiFi и сервер времени NTP
Теперь скомпилируйте и загрузите. Убедитесь, что вы выбрали правильный COM-порт и плату в меню инструментов в Arduino IDE. После загрузки время, дата и температура должны отображаться, как показано ниже.
После загрузки вы должны увидеть следующее
Шаг 6. Сделайте его портативным
Теперь вы можете отсоединить устройство от USB-порта и отделить каждый xChip, просто потянув его. Поскольку программирование завершено, IP01 больше не требуется. Теперь вы можете подключить свой проект любым способом, если все идентификационные имена ориентированы в одном направлении. Для питания нашего устройства мы будем использовать PU01. Это позволяет нам питать его от обычного блока питания или любого источника питания USB на 5 В. Я подключил свой, как показано ниже.
Окончательная сборка. xChips можно подключать любым удобным для вас способом.
Шаг 7: Заключение
Этот проект займет 20 минут. Если вам нужно время в вашем регионе, рассмотрите пример кода в библиотеке часовых поясов или произведите арифметические действия со временем в формате UTC. Провода не использовались, пайка не требовалась.
Шаг 8: Код
Date_Time_Temp.ino Arduino Просто введите данные вашего Wi-Fi в соответствующие поля и загрузите их на свою доску.
#include // включить базовую библиотеку для XinaBox xCHIPS
#include // включить библиотеку OLED-дисплея #include // включить библиотеку датчика температуры #include // включить функцию ESP8266WiFi #include // включить библиотеки времени #include #include #include #include #include xSW01 SW01; // определение свойств NTP #define ntpOffset 60 * 60 // в секундах #define ntpInterval 60 * 1000 // в миллисекундах // вставляем надежный сервер времени ntp между двойными кавычками // здесь я использовал сервер времени google ntp # определить ntpAddress "time1.google.com" // настроить клиент NTP UDP WiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // температурная переменная float tempC; // Цельсия float tempF; // fahrenheit // данные вашего Wi-Fi const char * wifi_ssid = "XinaBox"; // ваш Wi-Fi ssid const char * wifi_pass = "RapidIoT"; // ваш пароль Wi-Fi // переменная даты и времени String date; String clktime; // переменные, содержащие дни и месяцы const char * days = {"воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"}; const char * months = {«Янв», «Фев», «Мар», «Апр», «Май», «Июнь», «Июль», «Август», «Сен», «Октябрь», «Ноябрь» "," Dec "}; const char * ampm = {"AM", "PM"}; void setup () {tempC = tempF = 0; // инициализируем температуру равной нулю timeClient.begin (); // запускаем клиент NTP UDP // запускаем последовательную связь Serial.begin (115200); // запускаем связь i2c и устанавливаем контакты Wire.begin (2, 14); // запускаем датчик температуры SW01.begin (); // запускаем OLED-дисплей OLED.begin (); // очистить OLED-дисплей OD01.clear (); // устанавливаем Wi-Fi соединение wifi_connect (); задержка (1000); } void loop () {// запускаем, если Wi-Fi соединение установлено if (WiFi.status () == WL_CONNECTED) {SW01.poll (); // считываем температуру tempC = SW01.getTempC (); // сохраняем температуру в градусах Цельсия tempF = SW01.getTempF (); // сохраняем температуру в градусах Фаренгейта date = ""; // очистить переменную даты clktime = ""; // очистить временную переменную // обновить клиент ntp и получить временную метку unix utc timeClient.update (); беззнаковое длинное время epochTime = timeClient.getEpochTime (); // конвертируем полученную отметку времени в объект time_t time_t utc; utc = epochTime; // время utc TimeChangeRule utcRule = {"UTC", Last, Sun, Mar, 1, 0}; Часовой пояс UTC (utcRule, utcRule); // форматируем переменные времени date + = days [день недели (utc) - 1]; дата + = ","; дата + = месяцы [месяц (utc) - 1]; дата + = ""; дата + = день (utc); дата + = ","; дата + = год (utc); // форматируем время в 12-часовой формат с AM / PM без секунд clktime + = hourFormat12 (utc); clktime + = ":"; если (минута (utc)
Рекомендуемые:
Как сделать отслеживание данных о коронавирусе COVID 19 в реальном времени с помощью ESP8266, отображение электронной бумаги: 7 шагов
Как сделать трекер данных о коронавирусе COVID 19 в реальном времени с ESP8266, дисплей электронной бумаги: 1
Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi: 5 шагов
Чтение и отображение данных датчика освещенности и температуры с помощью Raspberry Pi: в этом руководстве вы узнаете, как считывать данные датчика освещенности и температуры с помощью Raspberry Pi и аналого-цифрового преобразователя ADS1115 и строить график с помощью matplotlib. Начнем с необходимых материалов
Интернет-часы: отображение даты и времени с помощью OLED с использованием ESP8266 NodeMCU с протоколом NTP: 6 шагов
Интернет-часы: отображение даты и времени с помощью OLED с использованием ESP8266 NodeMCU с протоколом NTP: Привет, ребята, в этой инструкции мы создадим Интернет-часы, которые будут получать время из Интернета, поэтому этому проекту не потребуется RTC для запуска, ему понадобится только рабочее подключение к Интернету И для этого проекта вам понадобится esp8266, который будет иметь
Симпатичный блок отображения даты, времени и температуры: 3 шага
Симпатичный блок отображения даты, времени и температуры: Привет, друзья, в этой инструкции я собираюсь объяснить процедуру создания блока отображения даты, времени и текущей температуры с использованием Arduino pro mini, часов реального времени и восьмизначного семисегментного дисплея. в очень компактном устройстве, которое является полезным устройством
Установка даты и времени в приложение Blynk с помощью Wemos D1 Mini Pro: 10 шагов
Отправка даты и времени в приложение Blynk с помощью Wemos D1 Mini Pro: мы будем использовать Wemos D1 Mini Pro, чтобы установить время и время. дату в приложении Blynk. Для этого вам не потребуется подключать какие-либо компоненты к Wemos D1 Mini Pro