Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Arduino. Автоматическое управление светом в аквариуме

Тип Курсовая
Предмет Теория связи

ID (номер) заказа
3886821

500 руб.

Просмотров
861
Размер файла
184.5 Кб
Поделиться

Ознакомительный фрагмент работы:

ВВЕДЕНИЕ

Важность разработки устройства управления экологически чистым
аквариумом диктуется необходимостью круглосуточно поддерживать
параметры среды обитания аквариумных рыб и высвобождения человека от
выполнения рутинной работы по уходу за аквариумом. Достаточно сложно
непрерывно поддерживать требуемые параметры среды обитания
аквариумных рыб вручную, т.е. постоянно следить за освещением,
температурой, чистотой воды, а также вовремя кормить рыб. Поэтому лучше
всего возложить эти обязанности на автоматическое устройство управления,
а в освободившееся личное время любоваться красотой подводного царства.
Актуальность темы: увеличивающаяся с каждым годом потребность в
использовании микропроцессорных систем для выполнения разных задач.
Объектом исследования является использование электронных устройств в
повседневной жизни.
Предметом исследования является использование микроконтроллеров
Arduino для управления освещением аквариума.
В данной работе исследуется разработка системы управления освещением
аквариума на базе микроконтроллера Arduino, будет исследована и
проанализирована аппаратная и программная часть. На базе исследования
аппаратной части будут подобраны оптимальные компоненты и расширения
для разработки устройства приёма сигнала. В исследовании программной части
будут использованы программные и графические среды с целью создания
проекта.
В теоретической части проводится изучением используемых источников
по платформе Arduino UNO и Arduino Nano. На основе полученных в ходе
исследований данных исследуются элементы платформы Arduino UNO и
Arduino Nano.

1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Микроконтроллеры Arduino
Arduino – это удобная платформа для проектирования электронных
устройств, которая плотно взаимодействует с окружающей физической средой.
Платформа пользуется популярностью во всём мире благодаря своей простоте,
а также открытой архитектуре и программному коду. Устройство
программируется по средствам подключения USB без использования
сторонних устройств (программаторов). Arduino позволяет компьютеру выйти
за рамки цифровой среды и взаимодействовать с физической средой.
Устройства на базе Arduino могут получать информацию об окружающей среде
при помощи датчиков, также могут управлять исполнительными устройствами.
Микроконтроллеры Arduino отличаются наличием прошитого загрузчика
(bootloader). Загрузчик подключается к компьютеру через интерфейс USB (если
она имеется на плате Arduino) или при помощи переходника UART-USB.
Организация поддержки загрузчика вшита в Arduino и исполняется в один клик
мышки.
Микроконтроллер программируется языком Arduino (основан на базе
языка Wiring–специальный язык программирования, основанной на C/C ++) и
средой разработки Arduino (основанной на среде Processing). [16] Устройства,
основанные на Arduino, могут работать самостоятельно, либо же
взаимодействовать с ПО компьютера (на пример: Processing, MaxMSP). Платы
могут быть собраны пользователями или куплены в собранном виде. ПО
доступно для бесплатного скачивания.
Существует несколько видов платформ Arduino:
-последняя изданная версия на данный момент Leonardo основана на
микроконтроллере ATmega32u4. Arduino UNO, построена на основе
микроконтроллера AtmelATmega328;
-более ранние версии основаны на ATmega8.
Основные форм-факторы:
- dinoxxx – стандартный размер, 20 входов-выходов, полная вместимость;
- dinoMegaxxx – увеличенный размер, 70 входов-выходов;
- dinoNanoxxx – уменьшенный размер, 22 вход-выход;
- dinoMinixxx – ещё меньший размер, 22 входа-выхода, но не имеет USB.
Есть серийные модели, производимые компаниями:
-Arduino USB 9 моделей;
-Arduino Serial 2 модели;
-Arduino Mega 1 модель;
-Arduino Nano 2 модели;
-Arduino Bluetooth1 модель;
-Arduino Lilypad 4 модели.
Есть множество различных дополнительных расширений и компонентов
для микроконтроллеров Arduino, которые расширяют возможности
микроконтроллера. Самым главным считается, макетная плата по которой через
провода передаются сигналы с микроконтроллера Arduino, что позволяет
использовать микроконтроллер с неограниченным удобством, увеличивая при
этом количество используемых pin во время работы устройства. Shield-плата –
это решение для частных задач, которые встают перед разработчиками
аппаратного обеспечения. В пример таких задач, можно взять, передачу данных
и работу через Ethernet. Новые компоненты с лёгкостью устанавливаются на
Arduino, через контакты pin, образуя при этом крепкую конструкцию.
Конструкция, воссозданная в процессе установки дополнительных расширений,
повышает мощность Arduino по её характеристикам.
В процессе обучения обычно используются: светодиоды, резисторы и
кнопка. Так же понадобятся резисторы, которые необходимы для снятия
напряжения на компоненты, так как светодиоды и прочие компоненты могут
сгореть, если питание на них будет выше их технических характеристик.
Следовательно, компоненты расширения для Arduino подбираются под
индивидуальное задание.

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

Рисунок 1.1 Макетная плата

Программное обеспечение микроконтроллеров Arduino состоит из
программной оболочки IDE для записи программ, которая осуществляет
компиляцию и программирование разработанных устройств. Компиляция – это
транслирование программы, составленной на языке программирования
высокого уровня, в эквивалентную программу низкоуровневого языка
программирования, который близок к машинному коду (языку ассемблера),
выполняемое компилятором. Полный цикл программирования проводится
через ардуиновскую программную оболочку (рисунок 1.2), которая находится в
бесплатном доступе на сайте разработчиков Arduino.
В этой оболочке имеется: текстовый редактор, процессор, менеджер
проектов, инструменты загрузки программы и компилятор. Оболочки,
написанные на Java на основе проекта Processing, работает под Windows,
MacOSX и Linux. Язык программирования Arduino– это уже знакомый и
стандартный C++ (используемый им компилятор AVR-GCC).

6

Рисунок 1.2 ArduinoIDE

Имеются особенности, облегчающие новичкам работу со средой
программирования, для написания своих первых программных кодов.
Программы, которые написаны для Arduino, называются «набросками». Эти
программы перед тем как отправиться на компиляцию, проходят обработку в
процессоре Arduino. Обязательную в C++ функцию main () процессор Arduino
создаёт сам, и записывает в неё «черновые» действия.
При написании программы для Arduino необходимо написать две
обязательные функции – setup () и loop (). Первая вызывается единожды при
запуске, вторая выполняется в бесконечном цикле.
-if – используется в сочетании с операторами сравнения, проверяется
достигнута ли истинность условия;
-ifelse – предоставляет более больший контроль над процессом
выполнения кода, чем базовый оператор if, позволяя при этом проводить
несколько проверок, будучи объединенными вместе;
-while – будет вычислять в цикле непрерывно и бесконечно до тех пор,
пока выражение в скобках () не станет «ложным».

7

-dowhile – работает так же, как цикл while, исключение только в том, что
условие выполняется в конце цикла, и цикл do всегда будет выполняться хоть
один раз;
-for – используется для повторения блока операторов, заключённых в
фигурных скобках {};
-break – используется для принудительного выхода из цикла do, for или
while;
-continue – пропускает оставшиеся операторы в текущем цикле, вместо
операторов выполняется проверка условного выражения цикла;
-goto – условное «перемещение», выполняет переход к определённой
метке в программе.
Операторы сравнения и арифметические операторы:
-«if» (оператор сравнения XY);
-«==» (equalto) – равно;
-«!=» (not equal to) – неравно;
-«< » (lessthan) – меньше;
-«<= » (less than or equal to) – меньше ИЛИ равно;
-«>» (greater than) – больше;
-«>=» (greater than or equal to) – больше ИЛИ равно;
-«=» (assignment) – присваивает значению правой переменной от
оператора, левой переменной;
-«+» (addition) – сложение;
-«-» (subtraction) – вычитание;
-«*» (multiplication) – умножение;
- «/» (division) – деление;
-«%» (modulo) – возвращает остаток от деления одного целого операнда
на другой.
Временные, математические и тригонометрические функции:
-millis() – возвращает количество миллисекунд с момента начала
выполнения программы на плате Arduino;

8

-micros() – возвращает количество микросекунд с момента начала
выполнения программы на плате Arduino;
-delay() – останавливает выполнение программы на заданное количество
миллисекунд;
-delayMicroseconds() – останавливает выполнение программы на заданное
количество микросекунд;
-min() – возвращает меньшее из двух сравниваемых значений;
-max() – возвращает большее из двух сравниваемых значений;
-abs() – возвращает модуль числа;
-map() – пропорционально переносит значение из текущего диапазона
значений в новый диапазон;
-pow() – вычисляет значение, возведённое в заданную степень;
-sq() – вычисляет квадрат числа;
-sqrt() – вычисляет квадратный корень числа;
-sin() – вычисление синуса угла, заданного в радианах;
-cos() – вычисление косинуса угла, заданного в радианах;
-tan() - вычисление тангенса угла, заданного в радианах.
Функции передачи данных:
-serial – служит для связи собранного устройства на базе Arduino с
компьютером или другим устройством, которое поддерживает
последовательный интерфейс обмена данными.
Заголовочные файлы не надо вставлять в программу, эти заголовки
используются в стандартных библиотеках. Эти файлы добавит процессор
Arduino в соответствии с конфигурацией и параметрами проекта.
Но использование библиотек нужно указывать заранее. Библиотеки
представлены в исходном виде текстов на стандартном языке С++, они
добавляются в специальную папку в рабочем каталоге IDE и при этом названия
библиотек добавляются в список библиотек в меню IDE.
Необходимо отмечать нужные библиотеки, и они будут вносится в список
компиляции. Arduino IDE не предоставляет никаких настроек компилятора и

9

урезает многие настройки, но это защищает новичков от лишнего риска
возникновения проблем в работе.
Самая простая схема на Arduino – это подключение внешнего светодиода,
управление которым осуществляется с помощью программы написанной в
среде IDE. Для написания программы нужно только открыть IDE и начать
писать программный код, когда программа написана нужно записать её на
Arduino. Для записи Arduino должна быть подключена к компьютеру с
установленными на него драйверами, если все условия предустановки
выполнены, то программа запишется на микроконтроллер и можно приступить
к выполнению всех поставленных задач на плате.
Программирование микроконтроллера осуществляется по средствам
среды программирования и программатора. Программатор – это аппаратно-
программное устройство, предназначенное для записи и считывания
информации в постоянное запоминающее устройство (ПЗУ). Для исследуемого
нами микропроцессора программатор не требуется. Но если есть
необходимость прошить микроконтроллер, то можно прошить программу в
отдельный чип Atmegf328 с помощью Arduino ISP.
Для прошивки микропроцессора надо:
-записать на Arduino программу Arduino ISP;
-подключить Arduino и чип Atmega328;
-включить Arduino;
-включить autoreset на Arduino;
-соединить RST и +5V через резистор на 115Ом;
-выбрать соответствующую плату в настройках;
-нажать Burnbootloader;
-написать программу;
-нажать Uploadusingprogrammator.
В итоге получится, что программа записана вместо Bootloader.
Микропроцессор выполняет только то, что описывают команды, которые
составляют программу, именно по этой причине, для решения какой-либо

10

задачи необходимо детально её проработать. Поскольку каждый МП имеет
свою систему команд, то язык низкого уровня ориентирован на конкретные МП
и поэтому называется машинно-ориентированным языком.
Язык низкого уровня, использующий команды в машинах кодах,
называется машинным языком. Программа, написанная на данном языке,
называется объектной программой. Это единственная форма программы
доступная пониманию МП. Однако писать программы на машинном языке не
удобно и сложно. Язык низкого уровня, в котором используются
символические обозначения имён адресов и операнды, называется языком
ассемблера. При работе с микропроцессором программирование на языке
ассемблера является наиболее распространенным.
Помимо языков низкого уровня существуют также языки высокого
уровня. В этих языках команды, представляемые условными обозначениями,
определяют действия, ориентированные на самое эффективное решение
определённых задач. Например, программирование на электронно-
вычислительных машинах (ЭВМ), используется язык высокого уровня
БЕЙСИК. Этот язык предназначен для решения задач направленных на
понимание математических функций – то есть на инженерные задачи. Для
записи программы в микропроцессор Arduino используется язык СИ. Этот язык
удобен для создания прикладных программ с учётом особенностей аппаратных
средств. После написания программы, она компилируется и загружается в
память микропроцессора.

11

2 ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Удалённое управление освещением
Удалённое управление светом - дает возможность создавать световые
сценарии из неограниченного количества источников света с различной
яркостью, включать их с задержкой или одновременно.
Используя специальные световые регуляторы можно не только менять
яркость, с которой горит лампа при включении, но и время, за которое будет
достигаться эта яркость.
Функция контроля освещенности аквариума, дает возможность
поддерживать заданную освещенность, или управлять освящением в тёмных
помещениях. Так же контроль освящения регулирует автоматическое
включение освещения в зависимости от времени, это обеспечит
дополнительный комфорт и экономию электроэнергии.

2.2 Сборка основного устройства
До того, как начать сборку устройства, необходимо заранее записать
скетч на Arduino Nano или Arduino UNO в зависимости от выбранной версии
устройства, иначе будут возникать ошибки пинов микроконтроллера при
записи программы на устройство.
Печатаем в среде программирования Arduino IDE, данную программу.
Данная программа подходит для обоих микроконтроллеров, ничего исправлять
не придётся т.к. все разъёмы указанные в программе есть на обоих платах.

12

Рисунок 2.1 – Схема соединений
Опишем алгоритм работы контроллера освещения.
Кнопки задаю режим освещения, мы может чередовать периоды
включения и выключения ламп, например - 10 часов лампы выключены, - 14
часов включения. Отсчет ведется программным способом с момента запуска
устройства. Включение и выключение лампы осуществляется формированием
логического уровня на выводе D2
Ниже приведен скетч для управления освещением аквариума
char incomingByte; // переменная для хранения входящих данных
int load1 = 5; // нагрузка 1 подключена к 5 выводу
int load2 = 6; // нагрузка 2 подключена к 6 выводу
void setup() {
Serial.begin(9600); // инициализация порта на скорость 9600 бод для связи
с Bluetooth-модулем
pinMode(5, OUTPUT); // вывод load1 настраиваем как выход
digitalWrite(5, HIGH); // сначала реле выключено
pinMode(6, OUTPUT); // вывод load2 настраиваем как выход
digitalWrite(6, HIGH); // сначала реле выключено

13

}
void loop() {
if (Serial.available() > 0) { // если пришли данные
incomingByte = Serial.read(); // считываем байт
switch (incomingByte) { // перебираем входящие данные
case '0': // если пришел "0" (задается в настройках Android-приложения)
digitalWrite(5, LOW); // то выключаем вывод "load1"
break;
case '1': // если пришел "1"
digitalWrite(5, HIGH); // то включаем вывод "load1"
break;
case 'B': // если пришел "B"
digitalWrite(6, LOW); // то выключаем вывод "load2"
break;
case 'A': // если пришел "A"
digitalWrite(6, HIGH); // то включаем вывод "load2"
break; }}}

14
ЗАКЛЮЧЕНИЕ

В ходе работы выполнены следующие поставленные задачи:
-изучены существующие проекты и устройства управления освещением;
-изучены теорию и основные понятия, необходимые для
программирования микроконтроллера;
-разработана схема устройства;
-разработал алгоритм для управления;
-написан программный код;
Если сравнивать воссозданное устройство с уже существующими
аналогами на рынке, то в экономическом и техническом плане можно считать
этот проект более выгодным и важным к финансированию.
Микроконтроллеры Arduino Nano и Arduino UNO имеют множество
аналогов и моделей для разных целей и задач, а также множество
дополнительных модулей расширения функционала работы микроконтроллера
Arduino. Саму плату достаточно просто собрать и прошить, все детали
заменяемы и доступны в ценовом сегменте.
Компания Arduino предоставляет открытые исходные коды и чертежи
устройств их собственного производства, а также сотрудничает с
инициативными пользователями, которые могут сами присылать свои чертежи,
программы и идеи для реализации, и улучшения работы продукции. На сайте,
также, как и в инструкции по использованию Arduino, есть большое количество
программ и инструкций по сборке устройства с описанием действий, как на
плате, так и в программе, что очень помогает в отработке практических
навыков начинающих разработчиков.

15

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Официальный сайт компании Arduino. [Электронный источник]
Режим доступа: http://arduino.cc
2. Проекты с использованием контроллера Arduino. — СПб.: БХВ-
Петербург, 2014 г. - 43с
3. Первые шаги по освоению Arduino. [Электронный источник]
Режим доступа: http://maxkit.ru
4. Модули Последовательного Интерфейса Bluetooth. Руководство
Пользователя, 2016 г. - 1 c – 19 c.
5. Компоненты и модули для Arduino. [Электронный источник]
Режим доступа: https://geektimes.ru/post/255798/
6. Технические характеристики Arduino Uno. [Электронный источник]
Режим доступа: http://arduino.ru/Hardware/ArduinoBoardUno
7. Блог про Arduino / Freeduino. [Электронный источник]
Режим доступа: http://arduino-ru.blogspot.ru/
8. Технические характеристики Arduino Nano. [Электронный
источник]
Режим доступа: http://arduino.ru/Hardware/ArduinoBoardNano
9. Проекты для Arduino. [Электронный источник]
Режим доступа: https://create.arduino.cc/projecthub
10. Джереми Б. Изучаем Arduino. Книга /Джереми Блюман — СПб.:
БХВ-Петербург, 2015 г. - 336с
11. Сайт разработчика Fritzing. [Электронный источник]
Режим доступа: http://fritzing.org/home/
12. История развития микроконтроллеров. [Электронный источник]
Режим доступа: https://vuzlit.ru
13. Википедия – свободная энциклопедия. Клиент –сервер.
[Электронный источник]

16

Режим доступа: http://ru.wikipedia.org/wiki/Arduino
14. Группа документирования Atmega328. [Электронный источник]
Режим доступа: http://www.atmel.com/ru/ru/devices/atmega328.aspx
15. Технические данные Arduino. [Электронный источник]
Режим доступа: arduino.ua/ru/hardware
16. Блог любителей робототехники "RoboCraft". [Электронный
источник]
Режим доступа: http://robocraft.ru/page/about/


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
140073
рейтинг
icon
3053
работ сдано
icon
1328
отзывов
avatar
Математика
Физика
История
icon
138198
рейтинг
icon
5838
работ сдано
icon
2643
отзывов
avatar
Химия
Экономика
Биология
icon
93478
рейтинг
icon
2008
работ сдано
icon
1262
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
49 490 оценок star star star star star
среднее 4.9 из 5
НГТУ
Автор очень отзывчивый, проблем никаких не возникло при сотрудничестве. Рекомендую!
star star star star star
УдГУ
Курсовая работа, была написана до срока сдачи, спасибо, буду заказывать ещё
star star star star star
ДВФУ
Отличный исполнитель. Всем советую. Ни бросил в тяжелой ситуации при защите курсовой. Курс...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Выполнить курсовую работу по дисциплине Тепломассообмен

Курсовая, тепломассообмен

Срок сдачи к 9 мая

только что

Задание на фото, предлагайте цену

Решение задач, Математическая

Срок сдачи к 8 мая

только что

Решить контрольную

Решение задач, Математический анализ

Срок сдачи к 10 мая

только что
1 минуту назад

Финансовое планирование и механизмы его реализации в практике предприятия

Другое, научно-исследовательская работа

Срок сдачи к 12 мая

1 минуту назад

Выполнить лабораторную работу

Другое, Информатика

Срок сдачи к 7 мая

1 минуту назад

Написать эссе

Эссе, История

Срок сдачи к 7 мая

2 минуты назад

Решение задач

Решение задач, Юриспруденция

Срок сдачи к 13 мая

2 минуты назад

Железобетонные и каменные конструкции

Курсовая, Железобетонные и каменные конструкции

Срок сдачи к 10 мая

2 минуты назад

написать эссе

Эссе, Социология

Срок сдачи к 10 мая

2 минуты назад

Курсовая работа на тему психология лжи

Курсовая, Психология

Срок сдачи к 9 мая

3 минуты назад

Отчёт по практике

Отчет по практике, Менеджмент

Срок сдачи к 11 мая

3 минуты назад

расширенное эссе

Эссе, менеджмент организации

Срок сдачи к 15 мая

4 минуты назад

Решить 4 Задания по методичке.

Контрольная, гидромеханика

Срок сдачи к 9 мая

4 минуты назад

Выполнение задание Отливки, Анализ тех.детали.

Лабораторная, технология конструкционных материалов

Срок сдачи к 19 мая

5 минут назад

Там где y=5, там где x=1.

Контрольная, Гидравлика и гидромеханика

Срок сдачи к 3 июня

5 минут назад

5 задач, все задания в файле (с картинками)

Решение задач, Бухгалтерский учет и аудит

Срок сдачи к 5 мая

5 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно
    Введите ваш e-mail
    Файл с работой придёт вам на почту после оплаты заказа
    Успешно!
    Работа доступна для скачивания 🤗.