Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовой проект Головков И.Е. 12002108

.pdf
Скачиваний:
18
Добавлен:
26.06.2024
Размер:
369.21 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»

( Н И У « Б е л Г У » )

ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ

Кафедра информационных и робототехнических систем

«Обработка данных от датчиков 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