- •3 Курса группы 12002108
- •1 Техническое задание на проектирование 4
- •1 Техническое задание на проектирование
- •Цель и содержание курсовой работы
- •1.2 Требования пользователя и построение функциональной спецификации
- •Проектирование системы
- •2.1 Проектирование аппаратной части
- •Проектирование программной части
- •3 Тестирование сборки
- •Заключение
- •Приложение а
1.2 Требования пользователя и построение функциональной спецификации
Для обработки данных от датчиков BMP280 и DHT11 на основе модуля Arduino Uno R3 и вывода результатов на ЖК- и OLED-дисплеи необходимо решить следующие особенности:
1. Подключение датчиков BMP280 и DHT11 к модулю Arduino Uno R3.
2. Считывание данных о температуре, влажности и атмосферном давлении с датчиков.
3. Обработка и анализ полученных данных.
4. Вывод результатов обработки на ЖК-дисплей и OLED-дисплей.
Для подключения датчиков BMP280 и DHT11 к модулю Arduino Uno R3 необходимо использовать соответствующие библиотеки и драйверы, которые обеспечивают взаимодействие между датчиками и платформой.
Датчик BMP280 имеет следующие выводы: VCC, GND, SCL и SDA. Для подключения датчика к Arduino Uno R3 необходимо соединить VCC с 5V, GND с GND, SCL с пином A5 (аналоговый вход) и SDA с пином A4 (аналоговый вход).
Датчик DHT11 имеет следующие выводы: VCC, DATA и GND. Для подключения датчика к Arduino Uno R3 необходимо соединить VCC с 5V, GND с GND, а DATA с пином 2 (цифровой вход).
Для вывода результатов обработки на ЖК-дисплей и OLED-дисплей необходимо использовать соответствующие библиотеки и драйверы, которые обеспечивают взаимодействие между дисплеями и платформой.
ЖК-дисплей имеет следующие выводы: VCC, GND, SDA и SCL. Для подключения дисплея к Arduino Uno R3 необходимо соединить VCC с 5V, GND с GND, SDA с пином A4 (аналоговый вход) и SCL с пином A5 (аналоговый вход).
OLED-дисплей имеет следующие выводы: VCC, GND, SDA и SCL. Для подключения дисплея к Arduino Uno R3 необходимо соединить VCC с 3.3V или 5V, GND с GND, SDA с пином A4 (аналоговый вход) и SCL с пином A5 (аналоговый вход).
После подключения всех устройств и настройки соответствующих библиотек и драйверов, можно приступить к написанию программного обеспечения для считывания данных от датчиков, их обработки и вывода результатов на ЖК- и OLED-дисплеи.
Проектирование системы
2.1 Проектирование аппаратной части
Для общего представления о связях элементов в проекте создания микроконтроллера построена структурная схема, ниже описаны составляющие её элементы:
BMP180
DHT11
OLED-дисплей
LCD-дисплей
ARDUINO UNO V3
Датчик BMP180, представляющий собой аналог сенсора BMP280, применяется в качестве барометрического датчика для определения атмосферного давления.
Датчик DHT11 служит для фиксации показателей влажности и температуры воздушной среды.
OLED-дисплей OLED12864I2C используется для визуального представления информации, собранной с датчиков.
ЖК-дисплей JHD-2X16-I2C обладает возможностью отображения информации в символьном виде на двухстрочном дисплее формата 16x2.
Микроконтроллерная плата ARDUINO UNO V3 служит управляющим центром системы, выполняя функции считывания, обработки и передачи данных с датчиков на дисплеи.
Структурная схема представлена на рисунке 1.
Рисунок 1 – Структурная схема
Для детального представления элементов в проекте создания микроконтроллера, была построена принципиальная схема.
На рисунке 2 представлена принципиальная схема.
Рисунок 2 – Принципиальная схема
Проектирование программной части
Для разработки программной части проекта использовалась IDE Arduino для написания кода. Она содержит обширное количество библиотек для различных устройств, подсветку кода, консоль, режим отладки программы и возможность подключения напрямую к плате, чтобы сразу производить отладку программы на устройстве.
Подключение библиотек
Участок кода с подключаемыми библиотеками представлен на рисунке 3.
Рисунок 3 – Подключаемые библиотеки
DHT.h позволяет взаимодействовать с датчиком влажности и температуры DHT11. Wire.h необходима для работы с шиной I2C, по которой будут общаться Arduino с OLED-дисплеем и чипом давления BMP180. Adafruit_BMP085.h содержит функции для управления датчиком BMP180. DFRobot_RGBLCD1602.h используется для управления ЖК-дисплеем RGB LCD 1602. iarduino_OLED.h Предназначена для работы с OLED-дисплеем.
Прописывание макросов и создание объектов:
Участок кода с прописанными макросами и объектами представлен на рисунке 4.
Рисунок 4 – Прописываемые макросы и объекты
В этом участке кода пины и типы датчиков определяются для последующего управления и считывания данных, а также создаются экземпляры классов для OLED-дисплея, ЖК-дисплея, BMP180 и DHT11 для их инициализации и управления.
Инициализация компонентов и дисплеев:
Участок кода с инициализацией компонентов и дисплеев представлен на рисунке 5.
Рисунок 5 – Инициализация компонентов и дисплеев
В этом участке кода производится начальная настройка компонентов для общения с датчиками и дисплеями. Настраивается скорость связи через последовательный порт для отладки, инициализируются дисплеи и датчики и очищается ЖК-дисплей.
4. Главный рабочий цикл программы loop():
В этом участке кода в бесконечном цикле с интервалом в 2 секунды выполняется сбор данных с датчиков DHT11 и BMP180. Считанные показатели температуры, влажности и давления выводятся на ЖК- и OLED-дисплеи. Здесь реализовано очищение дисплеев перед каждым новым циклом показа данных, установка курсора, считывание данных и их вывод на экраны.
Участок кода с главным рабочим циклом программы представлен на рисунке 6.
Рисунок 6 – Главный рабочий цикл программы
Эта программа позволяет пользователю осуществлять быстрый мониторинг состояния окружающей среды, используя популярные и широкодоступные датчики в сочетании с двумя различными дисплеями, обеспечивая интерактивность и простоту в интерпретации данных.
