Описание и программирование датчиков



ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ

МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение

высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ»

Кафедра информатики и компьютерных технологий

КУРСОВАЯ РАБОТА

По дисциплине                           Информатика                                           

(наименование учебной дисциплины согласно учебному плану)

Тема работы:          Разработка и программирование термогигрометра на базе Arduino

Выполнил: студент гр. ИЗБ-20-1                     Достовалова Н. А.     

(шифр группы)                      (подпись)                   (Ф.И.О.)

Оценка:

Дата:

Проверил руководитель работы: ассистент         Коробицына М. А.

                                                            (должность)  (подпись)                    (Ф.И.О.)


 

ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ

МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение

высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ»

УТВЕРЖДАЮ

Заведующий кафедрой

                                                                                                                                  Маховиков А.Б.

                                                                                                   (подпись)

«                                                                                                              »                     2020 г.

Кафедра информатики и компьютерных технологий

КУРСОВАЯ РАБОТА

По дисциплине                                         Информатика                                                     

(наименование учебной дисциплины согласно учебному плану)

ЗАДАНИЕ

студенту группы    ИЗБ-20-1                 Достоваловой Н. А.

                     (шифр группы)                            (Ф.И.О.)

1. Тема работы Разработка и программирование термогигрометра на базе Arduino   

2. Исходные данные к работе: Разобрать, собрать и запрограммировать работу термогигрометра на базе датчика DHT11 и Arduino. Данные мониторинга записать на карту памяти. Метки времени формировать с помощью Real Time Clock. Схему установки нарисовать в пакете Fritzing. В решении использовать ввод и вывод данных, линейный, разветвляющийся и циклический вычислительный процесс. Показать блок-схему алгоритма решения. Пояснительную записку оформить по ГОСТ 7.32 – 2017 «Отчет о научно-исследовательской работе», список использованной литературы по ГОСТ 7.0.5-2008 «Библиографическая ссылка».                                      

3. Содержание пояснительной записки: Титульный лист, задание, реферат, содержание, введение, разделы 1-5, заключение, список использованных источников, приложения.                       

4. Перечень графического материала    Рисунки, таблицы, формулы.                        

5. Срок сдачи законченной работы                  29           апреля               2021 г.

6. Задание выдал (руководитель работы)                                    Коробицына М. А.   

                                                                                 (подпись)                      (Ф.И.О.)

Задание принял к исполнению студент                                                                         

                                                                                 (подпись)                      (Ф.И.О.)

Дата получения задания        15              февраля                

РЕФЕРАТ

Курсовая работа: 26 с., 19 рис., 1 табл., 1 прил., 4 источника.

Объектом исследования является плата Arduino UNO, а также дополнительные датчики, в том числе температуры и влажности, для сбора данных о среде, в которых датчики находятся.

Цель работы состоит в знакомстве с данной платой и программирование термогигрометра с результатом, состоящим в получении данных в виде температур и влажностей, а также в оценке условий среды относительно существования отдельного вида растения.

Методы исследования в работе представлены визуальным отображением (графики) и получением точных значений.

Полученные данные можно использовать в повседневной жизни для оценки условий среды, а также во флористике.


 

СОДЕРЖАНИЕ

Введение. 4

1 Описание Arduino UNO 1. 5

1.1 Общие характеристики. 5

2 Описание и программирование датчиков. 8

2.1 Датчик DHT11. 8

2.2 Датчик Real Time Clock. 9

2.3 Датчик MicroSD Card Adapter 11

2.4 Итоговая сборка. 13

3. Обработка данных. 15

3.1 Снятие данных с термогигрометра. 15

3.2 Построение графиков. 16

Заключение. 20

Список использованных источников. 21

Приложение А.. 22

 


Введение

Цель работы состоит в ознакомлении и изучении основ программирования Arduino с помощью программного обеспечения Arduino IDE для осуществления измерений условий среды (температуры, влажности) с помощью запрограммированного термогигрометра и по завершении сбора представлении данных в виде графиков и анализа полученной информации.

Объект исследования - плата Arduino UNO и датчики влажности и температуры для сбора данных об окружающей среде.

Методами исследования в курсовой работе являются графическое (визуальное) оформление полученных данных в виде точечного графика, состоящего из показателей влажности и температуры в зависимости от локации и анализ полученных графиков с последующими выводами о локальных условиях. Помимо этого, будет проведено сравнение полученных результатов с рекомендуемыми условиями для растения Chrysanthemum indicus и будет оценено его состояние для наглядности сравнения.

Задача работы состоит в разработке, сборке и программировании термогигрометра на базе Arduino с помощью официальной программы Arduino IDE и датчиков температуры и влажности, получении данных на карту памяти и их последующей обработки, изображении полученных данных графически для наглядности показателей температуры (в градусах Цельсия) и влажности (в процентах).

Курсовая работа будет выполнена последовательно с учетом методического указания [1] и при использовании дополнительной литературы для описания рабочих моментов и описаний датчиков, с которыми мы будем работать.


Описание Arduino UNO 1

Общие характеристики

Arduino UNO – это плата, базирующаяся на микроконтроллере ATmega 328.

Для работы с большим диапазоном различных датчиков имеется множество программных библиотек со скетчами, также необходимые, но отсутствующие скетчи можно найти в сети – благодаря популярности этих плат выбор достаточно велик.

Рисунок 1 – Схема платы

На плате расположено множество разъемов (слотов, пинов), каждый из них подписан. Рядом с ними проходит белая линия, объединяющая пины в небольшие группы, каждая из которых отвечает за свои внутренние показатели и выполняет определенные задачи.

Для питания платы существуют специальный разъем на плате для питания от внешнего источника, расположенный в левом нижнем углу; слот Vin, через который может производиться подача напряжения от внешнего источника питания; USB-разъем и провода, с помощью которых плата подключается к сети. Мы воспользовались первым вариантом, подсоединив к разъему для питания от внешнего источника провод, противоположный разъем которого вставляется в USB-cлот компьютера, ноутбука, внешнего аккумулятора и любых других источников энергии.

Официальное приложение Arduino IDE позволяет составлять программы в текстовом редакторе и загружать их на все версии Arduino, и для того, чтобы начать программирование и написание кода платы, нам необходимо его скачать [4]. В основе программы заложен язык программирования C++, один из популярных языков в использовании. С его помощью пишутся программы различного уровня сложности.

Рисунок 2 – Программа Arduino IDE

В начале работы программа состоит из двух функций - setup и loop. Setup содержит команды, которые должны выполняться один раз - при включении Arduino. К ним относятся установка нумерации портов ввода и вывода для управления моторами и установка скорости обмена данными между Arduino и компьютером. В этой части скетча будет проводиться проверка. Функция loop является циклом и, следовательно,  выполняется до тех пор, пока мы не отключим питание.

Для начала работы необходимо присоединить плату и в настройках программы выбрать нужную платформу. Это можно сделать в меню: Инструменты –Платформы – Arduino UNO.

Описание и программирование датчиков

Датчик DHT11

DHT11 — это цифровой датчик, позволяющий получить значения влажности и температуры. Он состоит из термометра и емкостного датчика влажности. Датчик содержит в себе аналого-цифровой преобразователь для преобразования значений влажности и температуры в цифровой сигнал.

Рисунок 3 – Внешний вид датчика DHT11

Технические характеристики DHT11:питание от 3 до 5В, измерение уровня влажности в диапазоне от 20% до 80%, измерение температуры в диапазоне от 0 до 50 градусов по Цельсию с точностью плюс-минус 2%. При этом измерять показатели датчик может не чаще раза в секунду.

Данный датчик имеет 3 выхода:

- "+" (плюс) - питание датчика для дальнейшей работы, подключается к слоту 3.3V;

- "out" (вывод данных) - переносит полученную информацию на плату, исходя из имеющейся библиотеки, подключаем его ко 2 пину;

- "–" (минус, земля), - для заземления датчика необходимо присоединить его к плате в пин GND.

Для подключения воспользуемся соединительными проводами типа «папа-мама» (10 см).

Для работы датчика необходимо записать на него скетч. Для этого воспользуемся методическим указанием [1] и загрузим его на плату.

В 4 разделе скетча происходит главная работа – считывание данных с датчика состоянии окружающей среды. В ней находится функция delay(), которая отвечает за паузу перед замером. Чтение температуры и влажности занимает примерно 250 мс. Установленная периодичность измерений равна 2 секундам.

Рисунок 4 – Установка периодичности измерений


 

Датчик Real Time Clock

Микросхема DS1302 содержит часы реального времени с календарем. Информация о реальном времени и календаре представляется в секундах минутах, часах, дне, дате, месяце и годе. Часы работают или в 24-часовом или 12-часовом формате с индикатором AM/PM (время до и после полудня).

Рисунок 5 – Внешний вид датчика ds1302 RTC

Технические характеристики датчика: диапазон рабочих напряжений 2-5.5 В, температурный диапазон работы от -40°C до 85°C, ииспользуется литиевая батарейка CR2032.

Далее 4 пин будет занят адаптером microSd, необходимо задать другой пин для подключения часов. Датчик времени предусматривает альтернативное подключение которым и воспользуемся.

Датчик имеет пять контактов:

- "VCC" – питание,  подключаем в пин 5V;

- "GND" – заземление, подключаем к оставшемуся пину GND;

- "CLK" – подключаем к цифровому пину 6;

- "DAT" – подключаем к цифровому пину 7;

- "RST" – подключаем к цифровому пину 8.

Исходя из описанных характеристик датчик подключаем к питанию 5V.

Для настройки этого датчика понадобятся два скетча: отвечающий за настройку времени (выполняется один раз и в дальнейшем не используется) и тот, что будет изменен по нынешним подключениям датчика и добавлен в главный скетч.

У датчика имеется возможность использовать свой элемент питания благодаря батарейке, расположенной на нем, или использования обычного способа питания с платы Arduino. Работа  датчика не ограничена данными, выводящимися в Мониторе порта.: он может быть использован как полностью, с датой и временем, так и частично, например, только день или только часы.

Датчик MicroSD Card Adapter

Для сбора данных о показаниях влажности и температуры в различных локациях необходима дополнительная объемная память, так как внутренняя память платы Arduino слишком мала для этого. Для этого мы будем использовать карту  памяти microSD, которую необходимо подключить к датчику через специальный слот.

Адаптер для подключения MicroSD карты – плата, на которой помещены слот для карты, резисторы и регулятор напряжений. Слот служит для подключения карт памяти типа microSD.

Рисунок 6 – Внешний вид датчика HW-125

Технические характеристики датчика: диапазон рабочих напряжений 4,5-5 В, поддержка SD карты до 2 Гб; потребляет ток от 0.2 мА до 200 мА.

Адаптер micro SD карты имеет шесть контактов:

- "CS" – вывод собранных данных, в будущем скетче будет закреплён на плате (по умолчанию за 4 пином);

- "SCK" – подключается к 13 пину;

- "MOSI" – Линия для отправки последовательных данных от ведущего устройства к ведомому, подключается к 12 пину;

- "MISO" – Линия для отправки последовательных данных от ведомого устройства к ведущему,подключается к 11 пину;

- "VCC" – питание датчика для дальнейшей работы, подключается к пину Vin;

- "GND" – заземления датчика, подключается в свободный пин GND.

Для подключения воспользуемся соединительными проводами типа «папа-мама».

Для работы датчика также обратимся к методическому указанию [1] и сделаем изменения в 3 разделе, в котором записывается промежуток времени паузы. Как и с прошлых датчиков, значение составит 2 секунды, то есть 2000 мс.

SD карта питается от 3,3В, поэтому стабилизатор AMS1117-3.3 служит для понижения напряжения питания с 5В (и выше) до 3,3В. Если напрямую подключать датчик в пин 3.3V. то датчик будет не виден, поэтому воспользуемся разъемом Vin. Он предоставляет тот же вольтаж, что используется для питания платформы. При подключении через USB напряжение будет равным 5В.

Модуль SD-карты реализует такие функции как хранение, чтение и запись информации на карту, которая требуется для нормального функционирования прибора.

Итоговая сборка

Рисунок 7 – Схема собранного термогигрометра

На рисунке А.4 представлен собранный термогигрометр. После проверки на работоспособность и программирования всех датчиков, был написан единый скетч, который можно посмотреть в Приложении.

При поступлении на контроллер Arduino электрического питания автоматически начинается выполнение той программы, которая была передана на него. Это позволит оставить собранную установку для считывания измерений на выбранный промежуток времени от любого источника питания, что позволит установке быть более мобильной.

Доказательством работоспособности установки является информация, которую мы можем получить в меню: инструменты – монитор порта. Перейдя по нему, мы увидим как начинают считываться данные (если скетч написан корректно и нет проблем с загрузкой).

После проверки скетча и его загрузки на плату можно приступать к сбору данных. Наш эксперимент был мобильным и протекал на различных локациях с различными же показаниями температуры и влажности.


 

Обработка данных


Дата добавления: 2021-06-02; просмотров: 409; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!