это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
4012386
Ознакомительный фрагмент работы:
ФЕДЕРАЛЬНОЕ Государственное АВТОНОМНОЕ образовательное учреждение высшего образования«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»(НИУ «БелГУ»)ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙКафедра информационных и робототехнических системОТЗЫВруководителя на курсовую работупо дисциплине «Микроконтроллеры и микроконтроллерные системы»студентки 3 курса группа тема курсовой работы: «Онлайн метеостанция на базе ArduinoUNO и IoT сервиса ioControl»Руководитель курсовой работы: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________(заполняется руководителем вручную)«___»____________2022 г. ______ ____________________ подпись (расшифровка подписи)ПЛАН КУРСОВОЙ РАБОТЫпо дисциплине «Микроконтроллеры и микроконтроллерные системы»на тему «Онлайн метеостанция на базе Arduino UNO и IoT сервиса ioControl»Введение1. Обзор существующих решений3. Проектирование системы4. Проектирование аппаратной части устройства5. Проектирование программной части МПСЗаключениеСписок использованных источниковПриложенияСОДЕРЖАНИЕ TOC \o "1-3" \h \z \u ВВЕДЕНИЕ PAGEREF _Toc102423332 \h 51Обзор существующих решений PAGEREF _Toc102423333 \h 62Требования пользователя и построение функциональной спецификации PAGEREF _Toc102423334 \h 93Проектирование системы PAGEREF _Toc102423335 \h 103.1 Arduino Uno R3 PAGEREF _Toc102423336 \h 103.2 Барометр BMP280 PAGEREF _Toc102423337 \h 123.3 Датчик влажности и температуры KY-015 (DHT11) PAGEREF _Toc102423338 \h 144Проектирование аппаратной части устройства PAGEREF _Toc102423339 \h 164.1 Разработка функциональной схемы устройства PAGEREF _Toc102423340 \h 164.2 Разработка принципиальной схемы PAGEREF _Toc102423341 \h 165 Проектирование программной части МПС PAGEREF _Toc102423342 \h 175.1 Разработка алгоритма PAGEREF _Toc102423343 \h 175.2 Разработка программной части МПС PAGEREF _Toc102423344 \h 175.3 Руководство программиста заданного модуля PAGEREF _Toc102423345 \h 17ЗАКЛЮЧЕНИЕ PAGEREF _Toc102423346 \h 18СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ PAGEREF _Toc102423347 \h 19ПРИЛОЖЕНИЕ А PAGEREF _Toc102423348 \h 20ВВЕДЕНИЕИзмерение влажности, температуры и атмосферного давления регулярно производится во многих современных учреждениях: теплицы, фермы, больницы и др. Нарушение температурного режима в теплицах и на фермах может спровоцировать гибель урожая или пожар на складах удобрений. Контроль температуры и влажности в помещениях операционных больниц крайне необходим для соблюдения комфортных условий для работы персонала. Метеорологические факторы являются одной из наиболее важных санитарно-гигиенических характеристик условий труда и оказывают существенное влияние на работоспособность и самочувствие человека, а также производительность и безопасность его труда. В связи с этим мониторинг данных параметров является востребованной задачей, реализованной во многих электронных устройствах.Автоматические метеостанции позволяют комплексно решить задачу дистанционного мониторинга метеорологических условий внутренней среды помещений. Сбор информации производится в режиме реального времени, что позволяет вовремя обеспечить безопасность различных учреждений.Целью курсового проектирования является разработка онлайн метеостанции на базе Arduino UNO и IoT сервиса ioControl с использованием лабораторного стенда, включающего в себя необходимые для нас компоненты: барометр, датчик влажности и температуры.Для достижения цели курсового проекта были определены следующие задачи:осуществить обзор существующих решений;определить требования пользователя и функциональную спецификацию проектируемой системы;проектирование системы;проектирование аппаратных средств МСП;проектирование программных средств МСП;разработка руководства программиста заданного модуля.Обзор существующих решенийВ настоящее время существует множество разнообразных удаленных метеостанций с использованием различных сервисов. Преимущественно все метеорологические станции основываются на микроконтроллерных платах с подключенными к ним датчиками и модулями.Широкое распространение при проектировании автоматических метеостанций получили такие микроконтроллерные платы как Arduino, Raspberry PI 3, MSP430 и ESP8266.Arduino – это электронный конструктор, платформа быстрой разработки электронных устройств, предназначенная как для новичков, так и для профессионалов. Устройства на базе Arduino могут получать информацию об окружающей среде посредством различных датчиков, а также могут управлять различными исполнительными устройствами. Данная плата основана на 8-битном микроконтроллере ATmega328P. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки [1].Рисунок Х – Лицевая сторона платы Arduino UnoRaspberry Pi 3 — это одноплатный компьютер с операционной системой Linux, USВ разъемами для подключения мыши и клавиатуры, а также с видеовыходом HDMI для подключения монитора. Raspberry Pi 3 является наиболее популярным в мире компьютером на плате размером с кредитную карту. В частности, плата Raspberry Pi sense hat имеет «на борту» необходимые для проектирования метеостанции компоненты: датчик влажности, термометр, гироскоп, акселерометр и барометр.Рисунок Х – Лицевая сторона платы Raspberry Pi 3MSP430 – это семейство микроконтроллеров фирмы «Texas Instruments». MSP430 построен на 16-битном процессоре, содержит периферийные модули и систему тактирования, которая объединена общими шинами адреса (MAB) и шинами данных (MDB) [2]. Основным преимуществом MSP430 является ультранизкое энергопотребление. При проектировании автономных метеостанций на базе MSP430 как правило используется датчик температуры и влажности SHT21.Рисунок Х – Лицевая сторона MSP430ESP8266 – это китайский микроконтроллер производителя Espressif Systems с поддержкой Wi-Fi интерфейса. Помимо наличия Wi-Fi, микроконтроллер отличается тем, что у него отсутствует флеш-память в SoC, пользовательские программы исполняются из внешней флеш-памяти с использованием интерфейса SPI. Возможно создание простой метеостанции на базе ESP8266 с использованием датчика температуры, влажности и давления BME280.Рисунок Х – Лицевая сторона микроконтроллера ESP8266Необходимые для измерения влажности и температуры воздуха датчики DHT11 и DHT22/AM2302 от AOSONG получили широкое распространение при проектировании метеорологических станций. Они довольно просты в использовании, недорогие, отлично подходят для новичков. Для измерения атмосферного давления чаще всего используют датчик BMP280, который является новой версией датчика BMP180. Управление данным барометром возможно через интерфейсы I2C и SPI. BME280 – высокоточный метеорологический датчик, позволяющий измерять одновременно такие параметры микроклимата как температура, влажность и атмосферное давление.Мониторинг метеорологических параметров через сеть Интернет возможен с помощью различных сервисов. Наиболее популярными из них являются ioControl, ThingSpeak, Blynk, предназначенные для реализации различных проектов тематики интернета вещей (IoT).Требования пользователя и построение функциональной спецификацииДля достижения целей курсового проектирования были определены следующие требования пользователя:система должна осуществлять сбор показаний влажности, температуры и атмосферного давления;система должна отправлять данные на IoT сервису ioControl, для этого должно быть реализовано подключение к данному сервису.Учитывая пользовательские требования, была составлена функциональная спецификация системы:для сбора показаний температуры и влажности используется цифровой датчик температуры и влажности DHT11;для сбора показателей атмосферного давления используется датчик атмосферного давления BMP280;в качестве микроконтроллера, осуществляющего прием показателей датчиков DHT11 и BMP280, подключение к сети и передачу данных на IoT сервис ioControl используется микроконтроллерный модуль Arduino Uno R3; питание модуля Arduino Uno R3 осуществляется от источника постоянного тока с напряжением 5-20 В.Проектирование системы К проектируемой онлайн метеостанция были выдвинуты следующие пользовательские требования: устройство должно считывать показатели температуры в градусах Цельсия, а влажности в процентах;устройство должно измерять давление в мм рт. ст.;отслеживание данных должно происходить с помощью IoT сервиса ioControl.Для реализации курсового проекта необходимы следующие компоненты:микроконтроллерный модуль Arduino Uno R3;барометр BMP280;датчик влажности и температуры KY-015 (DHT11);Ethernet шилд W5100 для Arduino Uno;ПК для доступа в IoT сервис. Структурная схема устройства представлена на рисунке Х. Далее рассмотрим каждый из компонентов схемы более подробно.Рисунок Х – Структурная схема метеостанции3.1 Arduino Uno R3Микроконтроллерный модуль Arduino Uno R3 частично был рассмотрен в обзоре существующих решений. Характеристики платы представлены в таблице 1. Схема Arduino Uno R3 изображена на рисунке Х. Рисунок Х – Схема Arduino Uno R3Таблица 1. Характеристики Arduino Uno R3МикроконтроллерATmega328Рабочее напряжение5ВНапряжение питания (рекомендуемое)7-12ВНапряжение питания (предельное)6-20ВЦифровые входы/выходы14 (из них 6 могут использоваться в качестве ШИМвыходов)Аналоговые входы6Максимальный ток одного вывода40 мАМаксимальный выходной ток вывода 3.3V50 мАFlashпамять32 КБ (ATmega328) из которых 0.5 КБ используются загрузчикомSRAM2 КБ (ATmega328)EEPROM1 КБ (ATmega328)Тактовая частота16 МГцПлата Arduino Uno может питаться через USB-соединение или от внешнего источника питания. Источник питания выбирается автоматически. Внешнее (не USB) питание может подаваться либо от адаптера, либо от аккумулятора. Адаптер можно подключить, вставив штекер 2,1 мм в разъем питания платы. Выводы от батареи могут быть подключены к контактам GND и Vin разъема POWER. На контакт "5 В" выводится напряжение +5 В от установленного на плате интегрального стабилизатора [3].Каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на них ограничен 5 В. Все выводы сопряжены с внутренними подтягивающими резисторами номиналом 20–50 кОм. Arduino Uno R3 имеет 6 аналоговых входов (A0–A5), которые могут представить аналоговое напряжение в виде 10-битного числа (1024 различных значений). По умолчанию измерение напряжения осуществляется относительно диапазона от 0 до 5 В. В Arduino Uno R3 есть восстанавливаемые предохранители, которые защищают USB-порт компьютера от коротких замыканий, а также перегрузок. Если от USB-порта потребляется ток больше, чем 500 мА, то предохранитель автоматически разрывает соединение до устранения причин короткого замыкания или перегрузки [4].3.2 Барометр BMP280Модуль представляет из себя высокоточный цифровой измеритель атмосферного давления на базе микрочипа BMP280 от фирмы BOSH. Обладает малыми размерами, низким энергопотреблением и высокой измерительной способностью, что позволило завоевать популярность среди множества разработчиков проектов Arduino. BMP280 может подключаться к I2C и SPI шинами микроконтроллера и работать от 3-5V, если на плате есть стабилизатор, или 3V, если его нет [5]. Модуль BMP280 представлен на рисунке ниже.Рисунок Х – Плата BMP280На обратной стороне платы не просто так написано «BME280/BMP280» – BMP является урезанной версией BME, в которой отсутствует влажность.Данная модификация, в отличие от своего младшего брата, предоставляет пользователю целых 2 последовательных интерфейса обмена данными (SPI и I2C), а также 3 режима работы:NORMAL – модуль «просыпается» с определённой периодичностью, затем выполняет необходимые измерения и снова «засыпает». Частота измерений задаётся программным путём, а считывание результата происходит при необходимости;SLEEP –максимально пониженное энергопотребления;FORCED – позволяет «будить» модуль подачей внешнего управляющего сигнала. После выполнения измерений, модуль автоматически переключается в режим пониженного энергопотребления [5].Некоторые важные характеристики BMP280:напряжение питания: от 3,3 до 5 В;макс скорость I2C интерфейса: 3,4 МГц:потребляемый ток: 2,7 мкA при частоте отсчетов в 1 Гц;относительная точность (от 950 до 1050гПа, 25°C.): 0,12 гПа (1м);абсолютная точность (от 950 до 1050гПа, от 0 до 40°C.): 1 гПа;уровень шума: до 0,2 Па (1,7 см) и 0,01 температуры;диапазон измеряемого атмосферного давления: от 300 гПа до 1100 гПа (9000 м до -500 м) [6].3.3 Датчик влажности и температуры KY-015 (DHT11)Модуль датчика температуры и влажности KY-015 обеспечен цифровым последовательным интерфейсом для измерения влажности и температуры и передачи показаний Arduino.Рисунок Х – Модуль KY-015Модуль KY-015 состоит из цифрового датчика влажности и температуры DHT11 и резистора 1 кОм. DHT11 использует внутренний термистор и емкостной датчик влажности для определения условий окружающей среды, а внутренний чип отвечает за преобразование показаний в последовательный цифровой сигнал [7]. Основные характеристики данного датчика влажности и температуры представлены в таблице 2.Таблица 2. Характеристики KY-015 (DHT11)Рабочее напряжениеОт 3,3 до 5,5 ВДиапазон измерения влажностиОт 20% до 90%Точность измерения влажности± 5%Разрешение измерения влажности1%Диапазон измерения температурыОт 0 ºC до 50 ºCТочность измерения температуры± 2 ºCРазрешение измерения температуры1 ºCДальность передачи сигнала20 мДатчик DHT11 имеет 4 вывода стандарта 2,54 мм (рисунок Х):VCC (питание 3–5 В);DATA (вывод данных);не используется;GND (земля).Рисунок Х – Выводы датчика DHT11 Проектирование аппаратной части устройства4.1 Разработка функциональной схемы устройстваИсходя из пользовательских требований и функциональной спецификации, разработанное устройство должно измерять показания влажности, температуры и атмосферного давления и передавать данные измерения на панель сервиса ioControl.Для сбора показаний температуры и влажности будет использоваться цифровой датчик DHT11, для измерения атмосферного давления – барометр BMP280. Отправка данных на сервис ioControl будет осуществляться с помощью Ethernet шилда W5100 для Arduino Uno. На рисунке Х представлена функциональная структура системы.Рисунок Х – Функциональная схема метеостанции4.2 Разработка принципиальной схемыНеобходимо разработать принципиальную схему системы. Основой проектируемой метеостанции является плата Arduino Uno R3. Обмен данными между барометром BMP280 и микроконтроллером происходит с помощью протокола I2C. Принципиальная схема системы представлена на рисунке ниже.Рисунок Х – Принципиальная схема метеостанцииК микроконтроллерному модулю Arduino Uno R3 (поз. обозн. CPU2) подключены следующие устройства:датчик влажности и температуры DHT11 (поз. обозн. DH1 – 8 пин);датчик атмосферного давления BMP280 (поз. обозн. BMP1 – пин SCL и SDA);Ethernet шилд W5100 (пин 10), передающий данные на сервис ioControl.5 Проектирование программной части МПС5.1 Разработка алгоритма5.2 Разработка программной части системыДля реализации передачи данных метеостанции на сервис ioControl необходимо создать и настроить панель на сайте iocontrol.ru. Для этого были выполнены следующие действия:создана учётная запись на сайте iocontrol.ru;создана панель с уникальным названием «Dunaeva12001909»;были созданы переменные Temperature (температура), Humidity (влажность) и Pressure (атм. давление). При создании данных переменных был указан тип с плавающей точкой.были настроены подписи переменных, указывающие на единицы измерения тех или иных параметров (Temperature -°C, Humidity - %, Pressure - mm).Созданная панель изображена на рисунке Х.Рисунок Х – Созданная панель Разработанный скетч проекта представлен в Приложении A. Для написания программного кода на языке программирования Arduino Wiring была использована среда разработки Arduino IDE.Для работы с датчиком BMP280 существуют различные библиотеки, упрощающие работу. К ним относятся BMP280_DEV, Adafruit_BMP280_Library. Для датчика BMP280 будет используется библиотека от Adafruit.Благодаря использованию готовых библиотек, появилась возможность вмалые сроки настроить подключение к сети Интернет и обмен данными с IoTсервисом Blynk.5.3 Руководство программиста заданного модуляЗАКЛЮЧЕНИЕДля заключения +-Arduino Uno — это устройство на основе микроконтроллера ATmega328. В настоящий момент Arduino Uno является наиболее универсальным и распространенным компонентом технических средств автоматизации. Устройство способно получать и обрабатывать данные об окружающей среде с помощью присоединяемых и программируемых датчиков. Интернет технологий вещей (IoT) создает реальную основу для мониторинга метеорологических процессов в режиме реального времени, используя средства обмена информацией между различными датчиками и сенсорам. IoT позволяет полностью автоматизировать процессы управления группами устройств.СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВМакаров, С.Л. Arduino Uno и Raspberry Pi 3: от схемотехники кинтернету вещей [Текст] / С.Л. Макаров. – М.: ДМК-Пресс, 2019. – 616 с.Семенов, Б. Ю. Микроконтроллеры MSP430: первое знакомство / Б. Ю. Семенов - Москва: СОЛОН-ПРЕСС, 2009. - 128 с.Arduino Uno R3 [Электронный ресурс]. URL:https://hcomp.ru/downloads/arduino/UNOr3/arduino_uno_r3_RUS.pdfПетин В.А., Биняковский А.А. Практическая энциклопедия Arduino.– М.: ДМК Пресс, 2017. – 152 сArduino и метеодатчик BME280/BMP280 [Электронный ресурс]. URL: https://kit.alexgyver.ru/tutorials/bme280/#iМодуль барометра BMP280 [Электронный ресурс]. URL: https://robotclass.ru/tutorials/arduino-bmp280/Иго, Том Arduino, датчики и сети для связи устройств / Том Иго. - М.: БХВ-Петербург, 2017. - 534 c.ПРИЛОЖЕНИЕ А#include #include #include #include iarduino_Pressure_BMP bmp(0x77); iarduino_DHT sensor(8);const char* myPanelName = "Dunaeva12001909";const char* VarName_Temperature = "Temperature";const char* VarName_Humidity = "Humidity";const char* VarName_Pressure = "Pressure";EthernetClient client;iocontrol mypanel(myPanelName, client);byte mac[] = { 0xDE, 0xED, 0xDE, 0xAD, 0xFA, 0xCC}; void setup(){ Ethernet.init(10); Ethernet.begin(mac); bmp.begin(); mypanel.begin();}void loop(){ bmp.read(); sensor.read(); mypanel.write(VarName_Temperature, sensor.tem); mypanel.write(VarName_Humidity, sensor.hum); mypanel.write(VarName_Pressure, bmp.pressure); mypanel.writeUpdate();}
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!