
Курсовой проект Головков И.Е. 12002108
.pdfФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»
( Н И У « Б е л Г У » )
ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ
Кафедра информационных и робототехнических систем
«Обработка данных от датчиков BMP280 и DHT11 на основе модуля Arduino Uno R3 и вывод результатов на ЖК- и OLED-дисплеи»
Курсовой проект по дисциплине «Микроконтроллеры и микроконтроллерные системы»
студента очной формы обучения направления подготовки 09.03.02. Информационные системы и технологии
3 курса группы 12002108 Головкова Игоря Евгеньевича
Научный руководитель: доц. Шамраев Анатолий Анатольевич
БЕЛГОРОД 2024

ПЛАН КУРСОВОГО ПРОЕКТА
По дисциплине «Микроконтроллеры и микроконтроллерные системы»
на тему: «Обработка данных от датчиков BMP280 и DHT11 на основе модуля
Arduino Uno R3 и вывод результатов на ЖК- и OLED-дисплеи»
1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ
1.1Цель и содержание курсовой работы
1.2Требования пользователя и построение функциональной спецификации
2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ
2.1Проектирование аппаратной части
2.2Проектирование программной части
3 ТЕСТИРОВАНИЕ СБОРКИ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А
Исполнитель |
Головков И.Е. |
Руководитель |
Шамраев А.А |
2
|
|
Содержание |
|
1 |
ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ |
.................................. 4 |
|
|
1.1 |
Цель и содержание курсовой работы ....................................................... |
4 |
|
1.2 |
Требования пользователя и построение функциональной спецификации |
|
|
................................................................................................................................ |
|
6 |
2 |
ПРОЕКТИРОВАНИЕ СИСТЕМЫ .................................................................. |
8 |
|
|
2.1 |
Проектирование аппаратной части .............................................................. |
8 |
|
2.2 |
Проектирование программной части...................................................... |
10 |
3 |
ТЕСТИРОВАНИЕ СБОРКИ.............................................................................. |
13 |
|
ЗАКЛЮЧЕНИЕ ..................................................................................................... |
16 |
||
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ ................................................. |
18 |
||
ПРИЛОЖЕНИЕ А ................................................................................................. |
19 |
3
1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ
1.1 Цель и содержание курсовой работы
Целью данной курсовой работы закрепление полученных в процессе обучения знаний студентов по дисциплине «Микроконтроллеры и микроконтроллерные системы».
В проекте разрабатывается и реализуется система обработки данных от датчиков BMP280 и DHT11 с использованием модуля Arduino Uno R3.
Система должна обеспечивать считывание и обработку данных о температуре,
влажности и атмосферном давлении, получаемых от указанных датчиков.
Результаты обработки данных должны быть выведены на ЖК-дисплей и
OLED-дисплей для наглядного отображения информации пользователю.
Датчики BMP280 и DHT11 являются примерами таких устройств,
которые могут измерять важные параметры окружающей среды, такие как температура, влажность и атмосферное давление.
BMP280 — это датчик атмосферного давления и температуры. Он обеспечивает высокую точность измерений и низкое энергопотребление, что делает его идеальным для использования в различных приложениях, включая системы климат-контроля, метеорологические станции и системы мониторинга окружающей среды.
DHT11 — это датчик температуры и влажности, который также широко используется в различных проектах и приложениях. Он предоставляет простые в использовании и доступные по цене решения для измерения этих параметров.
Arduino Uno R3 — это популярная платформа для разработки электронных устройств и проектов. Она предоставляет гибкий и легко адаптируемый способ взаимодействия с различными датчиками и устройствами, включая BMP280 и DHT11.
ЖК-дисплей и OLED-дисплей являются двумя распространенными типами дисплеев, используемых для отображения информации в электронных
4
устройствах. ЖК-дисплеи обычно дешевле и имеют больший размер, в то
время как OLED-дисплеи обеспечивают более высокое качество изображения
илучшую видимость в различных условиях освещения.
Врамках курсового проекта будет разработана система, которая будет считывать данные от датчиков BMP280 и DHT11, обрабатывать их с использованием модуля Arduino Uno R3 и выводить результаты на ЖК-
дисплей и OLED-дисплей. Это позволит пользователю устройства получать информацию о текущих условиях окружающей среды для его нужд.
Для успешной реализации курсовой работы по теме обработки данных от датчиков BMP280 и DHT11 на основе модуля Arduino Uno R3 и вывода результатов на ЖК- и OLED-дисплеи, необходимо иметь базовые знания в области электроники и программирования, а также опыт работы с платформой
Arduino.
Программное обеспечение должно быть написано на языке программирования Arduino C и включает в себя следующие модули:
1. Подключение и инициализация датчиков BMP280 и DHT11 к модулю
Arduino Uno R3;
2.Считывание данных о температуре, влажности и атмосферном давлении
сдатчиков;
3.Обработка и анализ полученных данных;
4.Вывод результатов обработки на ЖК-дисплей и OLED-дисплей;
5.Организация интерфейса пользователя для наглядного представления данных и возможности настройки параметров системы.
Симуляция работоспособности модуля была выбрана программа Proteus 8 Professional, она позволяет создавать, тестировать и отлаживать электронные устройства без необходимости физической сборки. Proteus был выбран именно потому, что он поддерживает Arduino и имеет необходимую библиотеку с драйверами для датчиков BMP280 и DHT11, а также для ЖК- и OLED-
дисплеев. Программа также имеет функции симуляции, которые позволяют
5
тестировать схему на корректность работы, не подключая ее к физическим устройствам.
Для тестирования работы системы обработки данных и вывода результатов на дисплеи была выполнена проверка считывания данных от датчиков BMP280 и DHT11 и корректного отображения информации на ЖК-
иOLED-дисплеях в различных условиях окружающей среды.
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-дисплей необходимо использовать соответствующие библиотеки и драйверы, которые обеспечивают взаимодействие между дисплеями и платформой.
6
ЖК-дисплей имеет следующие выводы: 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-дисплеи.
7
2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ
2.1 Проектирование аппаратной части
Для общего представления о связях элементов в проекте создания микроконтроллера построена структурная схема, ниже описаны составляющие её элементы:
•BMP180
•DHT11
•OLED-дисплей
•LCD-дисплей
•ARDUINO UNO V3
Датчик BMP180, представляющий собой аналог сенсора BMP280,
применяется в качестве барометрического датчика для определения атмосферного давления.
Датчик DHT11 служит для фиксации показателей влажности и температуры воздушной среды.
OLED-дисплей OLED12864I2C используется для визуального представления информации, собранной с датчиков.
ЖК-дисплей JHD-2X16-I2C обладает возможностью отображения информации в символьном виде на двухстрочном дисплее формата 16x2.
Микроконтроллерная плата ARDUINO UNO V3 служит управляющим центром системы, выполняя функции считывания, обработки и передачи данных с датчиков на дисплеи.
Структурная схема представлена на рисунке 1.
8

Рисунок 1 – Структурная схема Для детального представления элементов в проекте создания
микроконтроллера, была построена принципиальная схема.
На рисунке 2 представлена принципиальная схема.
Рисунок 2 – Принципиальная схема
9

2.2 Проектирование программной части
Для разработки программной части проекта использовалась IDE Arduino
для написания кода. Она содержит обширное количество библиотек для различных устройств, подсветку кода, консоль, режим отладки программы и возможность подключения напрямую к плате, чтобы сразу производить отладку программы на устройстве.
1. Подключение библиотек Участок кода с подключаемыми библиотеками представлен на рисунке 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-дисплеем.
2. Прописывание макросов и создание объектов:
Участок кода с прописанными макросами и объектами представлен на рисунке 4.
Рисунок 4 – Прописываемые макросы и объекты
10