СОДЕРЖАНИЕ
1.1 История появления микропроцессоров 9
1.2 Микроконтроллеры Arduino 12
1.3 Характеристика микропроцессора 20
1.4 Графические пакеты проектирования устройств с микроконтроллером 24
2.1 Удалённое управление светом 27
2.3 Методы дистанционного управления светом 28
2.4 Разработка устройства на базе Arduino 31
2.5 Средства разработки и адаптации 32
2.6 Графические пакеты разработки устройств на микроконтроллерах 33
2.7 Сборка тестовых устройств 34
2.8 Сборка основного устройства 38
2.9 Приложение по управлению на Android. 45
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 52
СПИСОК СОКРАЩЕНИЙ
ЭУ – Электронное устройство
ЭВМ – Электронная вычислительная машина
МП - Микропроцессор
ТЗ – Техническое задание
ОЗУ – Оперативная память
ПЗУ – Постоянное запоминающее устройство
ПДУ – Пульт дистанционного управления
АВП – Аппаратно-вычислительная платформа
CPU – Центральный процессор или Центрально обрабатывающей устройство
Arduino – Электронные платы или Микроконтроллеры
IDE – программная оболочка Arduino
Fritzing и AutoCAD – графические среды
ШИМ – широтно-импульсная модуляция – процесс управления мощностью, подводимой к нагрузке, путём изменённая скважности импульсов
АЦП – аналого-цифровой преобразователь – устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал).
ИМС - интегральная микросхема
XRef – механизм внешних ссылок
ВВЕДЕНИЕ
Тема выпускной квалификационной работы – Разработка системы управления освещением помещения на базе Arduino. Тема была выбрана, потому-что выполнение подобной работы включает обязательное выполнение технического задания, проектирование схем в различных графических средах, сборку прототипа ЭУ, написание и отладка кода программы и сборка самого устройства, что может являться полезным опытом и позволит проверить знания в разных областях, для выпускника колледжа электромеханики и информационных технологий по специальности «Компьютерные системы и комплексы».
Актуальность темы: увеличивающаяся с каждым годом потребность в использовании микропроцессорных систем для выполнения разных задач.
Объектом исследования является использование электронных устройств в повседневной жизни.
Предметом исследования является использование микроконтроллеров Arduino для управления светом в помещении.
В данной работе исследуется разработка системы управления освещением помещения на базе микроконтроллера Arduino, будет исследована и проанализирована аппаратная и программная часть. На базе исследования аппаратной части будут подобраны оптимальные компоненты и расширения для разработки устройства приёма сигнала. В исследовании программной части будут использованы программные и графические среды с целью создания проекта.
Задачи:
-разработать электронное устройство, соответствующее требованиям задания;
-произвести работу в среде IDE, написать программу для микроконтроллера;
-создать схемы в графической среде Fritzing и AutoCAD.
В теоретической части проводится изучением используемых источников по платформе Arduino UNO и Arduino Nano. На основе полученных в ходе исследований данных исследуются элементы платформы Arduino UNO и Arduino Nano.
Микроконтроллеры Arduino ориентированы на необученных пользователей, но и опытные разработчики используют эти микроконтроллеры для построения простых систем автоматики и робототехники, а также в различных проектах. [1-3] Помимо микроконтроллера Arduino существует большое количество других семейств микроконтроллеров от других разработчиков, которые или сами создавали свои версии микроконтроллеров, или могли скачать с официального сайта компании Arduino чертежи продукции и выпустить микроконтроллер по собственному образу. Arduino можно собрать самостоятельно вручную, а можно приобрести уже в готовом виде. Интегрированную среду разработки с открытым кодом (IDE, Integrated Development Environment) можно загрузить бесплатно с веб-сайта www.arduino.cc. В компании Arduino оставили полностью открытую архитектуру, что позволяет дополнять ряд совместимых печатных плат для расширения функционала микроконтроллера Arduino. Микроконтроллер Arduino может использоваться как для создания автономных объектов автоматики, так и подключаться к программному обеспечению на компьютере через стандартные проводные и беспроводные интерфейсы. Микроконтроллеры Arduino используются во многих направлениях. Можно создать радиоуправляемого робота или умный дом. И все это благодаря платам расширения функционала, количество которых постоянно растет. Исследуя микроконтроллер Arduino UNO и Nano, можно определить поддерживаемые интерфейсы и архитектуру микропроцессора, а также на каком языке программируется микропроцессор в микроконтроллерах Arduino UNO и Nano. Проанализировав возможные варианты, выберем несколько отличающихся друг от друга устройств для более оптимального использования.
В практической части с помощью полученных в ходе исследования данных будет разработана схема устройства, удалённого управления освещением помещения на базе микроконтроллеров Arduino UNO и Arduino Nano и будет написана программа, в которой будет осуществляться управление устройством через микроконтроллер, который в свою очередь будет получать сигналы с дополнительного устройства (смартфона), и будет преобразовывать поступающую информацию с каналов управления, для выполнения предписанных функций устройства.
Результатами исследования являются принципиальные схемы, программа управления и смонтированное ЭУ.
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
В наше время микропроцессоры занимают важную позицию в жизни человечества. Они почти везде, в компьютерах, в программируемых станках, в автомобилях и так далее. [12]
Начало развития микропроцессоров относится к 1959 году. Инженеры фирмы «Texas Instruments» разработали способ, как разместить внутри одного полупроводникового кристалла несколько транзисторов и соединить их между собой – так появилась первая ИМС. По сравнению с функционально теми же устройствами, собранными из отдельных транзисторов, резисторов и тому подобного, ИМС обладает значительными преимуществами: малыми габаритами, более высокой надежностью и так далее. Неудивительно, что количество выпускаемых микросхем стало возрастать, а их ассортимент расширяться. Последнее обстоятельство создавало ряд трудностей для потребителей. Важно даже не столько то, что стремительно возраставшее количество типов ИМС затрудняло ориентацию в море наименований. Значительно большим недостатком была узкая специализация ИМС, из-за которой объем их выпуска не мог быть большим, а значит стоимость одной микросхемы оставалась высокой. Улучшить ситуацию позволило бы создание универсальной логической ИМС, специализация которой определялась бы не заложенной на заводе внутренней структурой, а заданной непосредственно самим потребителем программой работы.
Первые МП появились в целях создания более дешевой логической микросхемы, легко адаптируемой к потребностям пользователя.
Летом 1969 г. японская компания «Busicom», разрабатывавшая новое семейство калькуляторов, обратилась за помощью в фирму «Intel». К тому времени «Intel» просуществовала всего около года, но уже проявила себя созданием самой емкой на тот момент микросхемы памяти. Фирме «Busicom» как раз и требовалось изготовить микросхемы, содержащие несколько тысяч транзисторов. Для реализации совместного проекта был привлечен инженер фирмы «Intel» М.Хофф. Он познакомился с разработками «Busicom» и предложил альтернативную идею: вместо 12 сложных специализированных микросхем создать одну программируемую универсальную - микропроцессор. Проект Хоффа победил и фирма «Intel» получила контракт на производство первого в мире микропроцессора.
В начале 1970 г. к работе подключился Ф.Фаджин, который за 9 месяцев довел процессор от описания до кристалла (позднее Ф.Фаджин основал фирму «Zilog», создавшую замечательный 8-разрядный процессор Z80, который успешно работал во многих домашних компьютерах). В 1971 году был создан микропроцессор, вместе с ним появилось четвёртое поколение компьютеров.
Центральный процессор (СPU) – электронный блок интегральных схем, выполняющий машинные инструкции. Иногда его называют микропроцессором или просто процессором.
Главной характеристикой CPU являются: тактовая частота, энергопотребление, производительность и архитектура.
Ранние CPU создавались в виде уникальных составленных частей для единственных в своём роде компьютеров. А когда производителю потребовалось выполнение одной единственной программы, производители перешли к серийному производству типовых классов процессоров.
Создание микросхем позволило ещё сильнее усложнить CPU с одновременным уменьшение физических габаритов.
Фирма «Intel» первой разработала 4-разрядный микропроцессор (Intel 4004) в 1971 году.
Потом его сменили более мощные 8-разрядные Intel 8080 и 16-разрядные Intel 8086, которые заложили основы архитектуры всех нынешних персональных компьютеров.
Развитие пошло дальше и не стало стоять на месте, на смену 8 и 16-разрядных процессорам пришли 32-битные процессоры такие как: Pentium Pro, Pentium 2, Pentium 3, Intel Core, Pentium 4 и Xeon.
Ну а уже 32-битные процессоры потеснились 64-х битными процессорами: Itanium, Itanium 2, Xeon, Intel Core 2, Pentium Dual Core, Celeron Dual Core, Intel Core 2 Duo, Intel Core i3, Intel Core i5, Intel Core i7, Intel Core i9, IntelXeonE3. И спустя достаточное количество лет микропроцессоры стали компактными. Одним из активно развивающихся направлений и являются «Микроконтроллеры».
Микропроцессор — процессор (устройство, отвечающее за выполнение арифметических, логических операций и операций управления, записанных в машинном коде. [13-15]
Вся схемотехника разделяется на две большие области: аналоговую и цифровую Преимущества и недостатки этих технологий известны. Аналоговая схемотехника характеризуется максимальным быстродействием, малым потреблением энергии и малой стабильностью параметров. Цифровая схемотехника обладает прекрасной повторяемостью параметров. Это привело к её развитию в последние годы.
В современном мире трудно найти область техники, где не применялись бы микропроцессоры. Они применяются при вычислениях, они выполняют функции управления, они используются при обработке звука и изображения. В зависимости от области применения микропроцессора меняются требования к нему. Это накладывает отпечаток на внутреннюю структуру микропроцессора. В настоящее время определилось три направления развития микропроцессоров:
-универсальные микропроцессоры;
-микроконтроллеры;
-сигнальные микропроцессоры.
Универсальные микропроцессоры используются для построения вычислительных машин. В них используются самые передовые решения по повышению быстродействия, не обращая особого внимания на габариты, стоимость и потребляемую энергию. В технике связи компьютеры используются для управления системами связи или устройствами связи, обладающими большими габаритами и стоимостью. Такие компьютеры называются контроллерами.
Для управления малогабаритными и дешёвыми устройствами связи используются однокристальные ЭВМ и микро-ЭВМ, которые в настоящее время называются микроконтроллерами. В микроконтроллерах наоборот, максимальное внимание уделяется именно габаритам, стоимости и потребляемой энергии.
Еще один класс микропроцессоров решает задачи, которые традиционно решала аналоговая схемотехника. Это сигнальные процессоры. К сигнальным процессорам предъявляются специфические требования. От них требуются максимальное быстродействие, малые габариты, легкая стыковка с аналого-цифровыми и цифро-аналоговыми преобразователями, большая разрядность обрабатываемых данных и небольшой набор математических операций, обязательно включающий операцию умножения-накопления и аппаратную организацию циклов.
1.2 Микроконтроллеры 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).
Рисунок 1.2 ArduinoIDE
Имеются особенности, облегчающие новичкам работу со средой программирования, для написания своих первых программных кодов. Программы, которые написаны для Arduino, называются «набросками». Эти программы перед тем как отправиться на компиляцию, проходят обработку в процессоре Arduino. Обязательную в C++ функцию main () процессор Arduino создаёт сам, и записывает в неё «черновые» действия.
При написании программы для Arduino необходимо написать две обязательные функции – setup () и loop (). Первая вызывается единожды при запуске, вторая выполняется в бесконечном цикле.
-if – используется в сочетании с операторами сравнения, проверяется достигнута ли истинность условия;
-ifelse – предоставляет более больший контроль над процессом выполнения кода, чем базовый оператор if, позволяя при этом проводить несколько проверок, будучи объединенными вместе;
-while – будет вычислять в цикле непрерывно и бесконечно до тех пор, пока выражение в скобках () не станет «ложным».
-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;
-micros() – возвращает количество микросекунд с момента начала выполнения программы на плате Arduino;
-delay() – останавливает выполнение программы на заданное количество миллисекунд;
-delayMicroseconds() – останавливает выполнение программы на заданное количество микросекунд;
-min() – возвращает меньшее из двух сравниваемых значений;
-max() – возвращает большее из двух сравниваемых значений;
-abs() – возвращает модуль числа;
-map() – пропорционально переносит значение из текущего диапазона значений в новый диапазон;
-pow() – вычисляет значение, возведённое в заданную степень;
-sq() – вычисляет квадрат числа;
-sqrt() – вычисляет квадратный корень числа;
-sin() – вычисление синуса угла, заданного в радианах;
-cos() – вычисление косинуса угла, заданного в радианах;
-tan() - вычисление тангенса угла, заданного в радианах.
Функции передачи данных:
-serial – служит для связи собранного устройства на базе Arduino с компьютером или другим устройством, которое поддерживает последовательный интерфейс обмена данными.
Заголовочные файлы не надо вставлять в программу, эти заголовки используются в стандартных библиотеках. Эти файлы добавит процессор Arduino в соответствии с конфигурацией и параметрами проекта.
Но использование библиотек нужно указывать заранее. Библиотеки представлены в исходном виде текстов на стандартном языке С++, они добавляются в специальную папку в рабочем каталоге IDE и при этом названия библиотек добавляются в список библиотек в меню IDE.
Необходимо отмечать нужные библиотеки, и они будут вносится в список компиляции. Arduino IDE не предоставляет никаких настроек компилятора и урезает многие настройки, но это защищает новичков от лишнего риска возникновения проблем в работе.
Самая простая схема на Arduino – это подключение внешнего светодиода, управление которым осуществляется с помощью программы написанной в среде IDE. Для написания программы нужно только открыть IDE и начать писать программный код, когда программа написана нужно записать её на Arduino. Для записи Arduino должна быть подключена к компьютеру с установленными на него драйверами, если все условия предустановки выполнены, то программа запишется на микроконтроллер и можно приступить к выполнению всех поставленных задач на плате.
Программирование микроконтроллера осуществляется по средствам среды программирования и программатора. Программатор – это аппаратно-программное устройство, предназначенное для записи и считывания информации в постоянное запоминающее устройство (ПЗУ). Для исследуемого нами микропроцессора программатор не требуется. Но если есть необходимость прошить микроконтроллер, то можно прошить программу в отдельный чип Atmegf328 с помощью Arduino ISP.
Для прошивки микропроцессора надо:
-записать на Arduino программу Arduino ISP;
-подключить Arduino и чип Atmega328;
-включить Arduino;
-включить autoreset на Arduino;
-соединить RST и +5V через резистор на 115Ом;
-выбрать соответствующую плату в настройках;
-нажать Burnbootloader;
-написать программу;
-нажать Uploadusingprogrammator.
В итоге получится, что программа записана вместо Bootloader.
Микропроцессор выполняет только то, что описывают команды, которые составляют программу, именно по этой причине, для решения какой-либо задачи необходимо детально её проработать. Поскольку каждый МП имеет свою систему команд, то язык низкого уровня ориентирован на конкретные МП и поэтому называется машинно-ориентированным языком.
Язык низкого уровня, использующий команды в машинах кодах, называется машинным языком. Программа, написанная на данном языке, называется объектной программой. Это единственная форма программы доступная пониманию МП. Однако писать программы на машинном языке не удобно и сложно. Язык низкого уровня, в котором используются символические обозначения имён адресов и операнды, называется языком ассемблера. При работе с микропроцессором программирование на языке ассемблера является наиболее распространенным.
Помимо языков низкого уровня существуют также языки высокого уровня. В этих языках команды, представляемые условными обозначениями, определяют действия, ориентированные на самое эффективное решение определённых задач. Например, программирование на электронно-вычислительных машинах (ЭВМ), используется язык высокого уровня БЕЙСИК. Этот язык предназначен для решения задач направленных на понимание математических функций – то есть на инженерные задачи. Для записи программы в микропроцессор Arduino используется язык СИ. Этот язык удобен для создания прикладных программ с учётом особенностей аппаратных средств. После написания программы, она компилируется и загружается в память микропроцессора.
1.3 Характеристика микропроцессора
Atmel 8-разрядный AVR RISC -На микроконтроллер объединяет 32 кБ ISP флэш - памяти с возможностями чтения во время записи,-1 кБ EEPROM , 2 кБ SRAM , 23 общего назначения линий ввода / вывода, 32 общего назначения рабочих регистров, три гибких таймера / счетчики с режимами сравнения, внутренние и внешние прерывания, последовательный программируемый USART, 2-проводной последовательный интерфейс байт-ориентированный, SPI последовательный порт, 6-канальный 10-разрядный аналого-цифровой преобразователь (8- ми каналов в TQFP и QFN пакетов) , программируемый сторожевой таймер с внутренним генератором , и пять программных режимов экономии по выбору мощности. Устройство работает в диапазоне 1.8-5.5 вольт. [4-8] Устройство обеспечивает пропускную способность, приближающуюся к 1 MIPS на МГц. Его характеристики:
-высокая производительность;
-низкое энергопотребление;
-улучшенная RISC-Архитектура;
-131 мощная команда большинство которых выполняется за один такт ЦПУ;
-32 х 8 регистра общего назначения;
-полностью статическая операция;
-производительность до 20 миллионов команд в секунду на 20 мГц ЦПУ;
-внутрикристальный 2 цикловый множитель;
-энергонезависимая память данных и программ;
-4/8/16/32 кБ внутрисистемной энергонезависимой ФЛЭШ памяти программ;
-256/512/512/1 кБ EEPROM ПЗУ;
-количество циклов запись / стирание: 10000 Flash / EEPROM 100000;
-хранение данных: 20 лет при температуре 85 ° C / 100 лет при температуре 25 ° C;
-дополнительный загрузочный раздел независимыми блокировочными битами;
-в системе программирования внутренних загрузочных программ;
-истинность Read-While;
-Write операции;
-программная блокировка для обеспечения безопасности;
-поддержка библиотеки Atmel® QTouch®;
-ёмкостные сенсорные кнопки, слайдеры и колеса прокрутки;
-технологии QTouch и QMatrix®;
-до 64 сенсорных канала;
-два 8-битных таймера/счетчика с отдельным предделителем частоты и режимом сравнения;
-16-одино битный таймер/счетчик с отдельным предделителем частоты, режимом сравнения и режимом захвата;
-счетчик реального времени с отдельным генератором;
-6 ШИМ-каналов;
-8-канальный 10-разрядный АЦП в корпусах TQFP и QFN / MLF;
-измерение температуры;
-6 канальный 10-разрядный АЦП в корпусе PDIP;
-измерение температуры;
-программируемый последовательный интерфейс USART;
-последовательный SPI Интерфейс Master / Slave;
-байтно-ориентированный последовательный интерфейс (совместим с I2C Philips);
-программируемый сторожевой таймер со встроенным генератором;
-встроенный аналоговый компаратор;
-прерывание и пробуждение по изменению на выводах;
-схема сброса при подаче питания и программируемое обнаружение провалов по напряжению;
-внутренний калиброванный генератор;
-6 режимов сна: холостой ход, снижение шумов АЦП, экономии энергии, выключение питания, режим ожидания и расширенный режим ожидания;
Ввод / вывод и типы корпусов:
-23 программируемые линии ввода / вывода;
-корпус PDIP 28 выводов, корпус TQFP 32 вывода, корпус QFN / MLF с 28 и 32 выводами.
Рабочее напряжение:
-от 1,8 до 5,5 В.
Температурный диапазон:
-от -40 ° C до 85 ° C.
Производительность:
-0 - 4 МГц ПРИ 1.8 - 5.5 В, 0 - 10 МГЦ ПРИ 2,7 - 5,5 В, 0 - 20 МГц при 4,5;
-потребляемый ТОК ПРИ 1 МГЦ, 1,8 В, 25 ° C;
-активный режим: 0,2 мА;
-режим отключения: 0,1 мкА;
-режим энергосбережения: 0,75 мкА (Включая 32 кГц RTC).
Принцип работы микропроцессора в Arduino Nano и Arduino UNO
В рамках исследования были взяты платы Arduino Nano и Arduino UNO. На этих платах микроконтроллеров, в которых будут записываться программные коды, это ATmega328 (ПРИЛОЖЕНИЕ В). Архитектура микропроцессора имеет сокращённый набор команд.
Принципиальная схема Arduino Nano (ПРИЛОЖЕНИЕ А). Для резервного проекта взят микроконтроллер Arduino UNO. На этой плате микроконтроллер, в который будут записываться программные коды, так же, как и у Arduino Uno является ATmega328. Архитектура микропроцессора имеет сокращенный набор команд.
Принципиальная схема Arduino UNO (ПРИЛОЖЕНИЕ Б).
RISC – это так же архитектура процессора, в которой быстродействие, взаимно пропорциональная меньшему времени исполнения, что облегчает повышения тактовой частоты и делает более эффективной.
На (рисунке 1.3) изображены пины МП микроконтроллера ATmega328. На ней можно увидеть на какой пин какой сигнал подаётся и откуда сигнал выходит. 7 и 20 это pin питания микропроцессора, а 8 и 22 это pin заземления.
Рисунок 1.3 Pin МП
Большая часть контактов предназначена для ввода и вывода информации цифровой и аналоговой PC6/RESET.
Если RSTDISBL является запрограммированным предохранителем, PC6 в этом случает используется как линия ввода/вывода. Следует отметить, что электрические характеристики.
PC6 отличаются от других штырей Портов C.
Характеристики:
- тактовая частота: 0-20 МГц;
- объём SRAM-памяти: 2 кб;
- объём Flash-памяти: 32 кб;
- напряжение питания: 1,8-5,5 В;
- потребительный ток в режиме работы: 0,2 мА (1 МГц, 1,8 В);
- потребляемый ток в режиме сна: 0б75 мкА (1 МГц, 1,8 В);
- общее количество портов: 23;
- количество ШИМ (PWM) выходов: 6;
ШИМ – широтно-импульсная модуляция – процесс управления мощностью, подводимой к нагрузке, путём изменёния скважности импульсов.
- количество каналов АЦП входов (аналоговые): 6;
АЦП – аналого-цифровой преобразователь – устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал).
- количество аппаратных USART: 1; - разрешение АЦП: 10 бит.
USART/serial – универсальный асинхронный приёмопередатчик – узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами.
- количество аппаратных SPI: 1;
SPI Master/slave – последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для высокоростного сопряжения микроконтроллеров.
- количество аппаратных PC/SPI: 1.
PC-шина – последовательная асимметричная шина – предназначенная для связи между интегральными схемами внутри электронных приборов.
1.4 Графические пакеты проектирования устройств с микроконтроллером
AutoCAD — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией Autodesk. Первая версия системы была выпущена в 1982 году. AutoCAD и специализированные приложения на ее основе нашли широкое применение в машиностроении, строительстве, архитектуре и других отраслях промышленности. Программа выпускается на 18 языках. Уровень локализации варьирует от полной адаптации до перевода только справочной документации. Русскоязычная версия локализована полностью, включая интерфейс командной строки и всю документацию, кроме руководства по программированию.
Интерфейс AutoCAD (рисунок 2.4)
Рисунок 1.4 Интерфейс AutoCAD
Ранние версии AutoCAD оперировали небольшим числом элементарных объектов, такими как круги, линии, дуги и текст, из которых составлялись более сложные. В этом качестве AutoCAD заслужил репутацию «электронного кульмана», которая остаётся за ним и поныне. Однако на современном этапе возможности AutoCAD весьма широки и намного превосходят возможности, которые были у него ранее.
В области двухмерного проектирования AutoCAD по-прежнему позволяет использовать элементарные графические примитивы для получения более сложных объектов. Кроме того, программа предоставляет обширные возможности работы со слоями и аннотативными объектами: размерами, текстом, обозначениями. Использование механизма внешних ссылок XRef позволяет разбивать чертёж на составные файлы, за которые ответственны различные разработчики, а динамические блоки расширяют возможности автоматизации 2D-проектирования обычным пользователем без использования программирования.
Версия программы AutoCAD 2014 включает в себя полный набор инструментов для комплексного трёхмерного моделирования, поддерживается твердотельное, поверхностное и полигональное моделирование. AutoCAD позволяет получить высококачественную визуализацию моделей с помощью системы рендеринга mental ray. Также в программе реализовано управление трёхмерной печатью, результат моделирования можно отправить на 3D-принтер, а поддержка облаков точек позволяет работать с результатами 3D-сканирования. Следует отметить, что отсутствие трёхмерной параметризации не позволяет AutoCAD напрямую конкурировать с машиностроительными САПР среднего класса, такими как Inventor, SolidWorks и другими. В состав AutoCAD 2012 включена программа Inventor Fusion, реализующая технологию прямого моделирования.
2 ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Удалённое управление светом
Удалённое управление светом - дает возможность создавать световые сценарии из неограниченного количества источников света с различной яркостью, включать их с задержкой или одновременно, имитируя, например, эффект "бегущих огней".
Используя специальные световые регуляторы можно не только менять яркость, с которой горит лампа при включении, но и время, за которое будет достигаться эта яркость.
Функция контроля освещенности, предназначена в основном для жилых или офисных помещений - дает возможность поддерживать заданную освещенность рабочей поверхности, или управлять освящением в тёмных помещениях. Так же контроль освящения регулирует автоматическое включение наружного освещения в зависимости от времени суток и присутствия людей, это обеспечит дополнительный комфорт и экономию электроэнергии.
2.2 Устройства контроля
Перечислим устройства контроля для микроконтроллеров на базе Arduino:
Компьютер – установив на домашнем компьютере программу визуализации и используя модем, можно с портативного компьютера как отключить оставленный включённым свет, так и регулировать освящение, и настраивать сценарии работы света как вам удобнее.
Телефон – обеспечивает надежную связь с микроконтроллером даже тогда, когда нет под рукой компьютера, для этого достаточно набрать номер домашнего телефона, подключённого к микроконтроллеру.
Сотовый телефон – современные WAP\GPRS\EDGE\3G\LTE – технологии позволяют использовать сотовый телефон в качестве инструмента или же пульта управления, контроля и диагностики системой, при помощи сторонних приложений.
Дистанционное управление светом, находясь в доме с помощью телефона и модуля-bluetooth связи, легкий способ управлять освещением, не вставая с дивана.
2.3 Методы дистанционного управления светом
Управление освещением можно разделить на 5 типов:
-дистанционное управление светом – когда человек (или центральный пульт управления) управляет освещением на расстоянии, не прикасаясь к выключателям;
-локальное управление освещением – когда человек управляет светом, нажимая на клавишу выключателя;
-управление освещением по предписанию – когда управление светом происходит при наступлении какого-либо события;
-управление освещением по сценарию – когда управление светом происходит при наступлении определенного момента времени;
-управление светом по датчику движения – когда управление светом происходит при срабатывании датчика движения.
Суть дистанционного управление с помощью телефона и модуля-bluetooth управления заключается в том, что, человек, нажимая на кнопки, записанные в программе на телефоне, может включать и выключать свет. Например, выходя из дома, человек может нажать одну кнопку на телефоне и как с пульта дистанционного управления, цепь напряжения разомкнется у всех связанных с ним выключателей. Одна кнопка пульта может управлять светом одной группы настроенных на неё устройств. В данной группе может находиться от 1 до 232 устройств. Количество групп управления напрямую зависит от программы, написанной для дистанционного управления.
Телефон считается пультом с дисплеем, именно поэтому с него можно управлять группами на программном уровне. И количество групп тут не зависит от физических свойств телефона (пульта) управления и может быть расширенно до предельно большого количества.
Смартфон – это обыденное устройство малых размеров, которые человек просто носит с собой для связи.
Например, при подходе к дому, человек может достать телефон и нажимая на кнопку в приложении, включается свет перед дверью, чтоб её открыть. Для дистанционного управления светом можно использовать любые подходящие под это ПДУ (пульт дистанционного управления) помимо телефонов.
Основная идея дистанционного управления освещением с помощью портативного компьютера или ноутбука, который находится дома, заключается в том, что, человек, с помощью специального ПО, может включать, выключать свет. Например, рано утром сотрудник фирмы спускается с одного этажа рабочего помещения на другой в цех разработок, находящийся на другом этаже. Сев за рабочий компьютер, он забыл выключил ли он свет в помещении выше этажом. При себе нет ПДУ (пульта дистанционного управления), позволяющего управлять освещением на верхнем этаже. В этом случае он заходит в специальную программу через свой ПК, находит помещение, в которой не выключен свет и выключает его одним кликом мыши. Для дистанционного управления с помощью ПК, можно использовать типовые решения.
Инновационным способом дистанционного управления является управление через смартфон на базе операционных систем iOS или Android. Все сервисы предоставляют клиентские приложения для мобильных устройств на базе ОС iOS или Android. Для этого нужно всего лишь установить любое из этих приложений на свой телефон и подключиться к микроконтроллеру, управляющему освящением, например, через bluetooth расширение.
Система дистанционного управления с помощью контроллера или же настенного контроллера. Настенный контроллер внешне похож на обычный выключатель, но к нему не подводится сетевая нагрузка. Он лишь передает команды на включение или выключение света на выключатели, которые управляют освящением. Настенный контроллер питается от батареи. Он управляет одним устройством или группой устройств. Также кнопки включения и выключения могут быть связаны с разными устройствами. Например, при входе в дом, человек нажимает на клавишу включения, которая связывает все устройства управления светом в доме. А при уходе из дома, человек нажмет на клавишу выключения и все устройства в прихожей, кухне и так далее выключатся.
Система управления освещением по предписанию (событиям). В качестве событий могут выступать срабатывание различных датчиков. Например, человек желает, чтобы при спуске по лестнице в подвальное помещение включался свет. Для этого можно использовать датчик двери, который срабатывает при открытии двери в подвальное помещение и срабатывая, посылает команду на включение света. Тем самым человек уже спускается по освящённой лестнице.
Изучив все технологии, было принято решение остановиться на управлении освещением при помощи дистанционных устройств, а именно мобильных устройств с использованием Bluetooth модулей. Это полное ручное управление. Например, человек хочет, чтобы свет включался по нажатию иконки в приложении смартфона в диапазоне от 10 до 100 метров от устройства. Тут будет разработано ЭУ принимающее сигнал с запрограммированного приложения установленного на смартфоне (на базе Android), принимающее ЭУ – это устройство, которое обрабатывает и исполняет полученные команды, телефон будет выступать устройством, которое подаёт сигналы управления на принимающую часть по средствам Bluetooth соединения. При получении сигнала принимающая часть напрямую включает подключенное к ней освящение или отключает. Было решено, что данный способ является более действенным и актуальным, и менее сложным, не нужно много датчиков и ретрансляторов, вся система находится полностью под управлением человека, также данная система при желании и наличии средств, в любой момент может быть модернизирована. В данной работе используются модули реле, модули-bluetooth НС-06, для облегчения разработки устройства и уменьшения затрат.
По статистке, распространяемой в интернете, риск получения травмы при выполнении каких-то либо действий в не освящённом помещении за последний год, более 10000 людей, как в частных домах, так и в производственных помещениях. Этот проект направлен на упрощение удалённого управления освящением и уменьшение возможных рисков, и улучшение качества жизни людей с ограниченными возможностями.
2.4 Разработка устройства на базе Arduino
Лучше всего для разработки устройства использовать удобную среду разработки проектов для Arduino — Fritzing. [9-11]
Fritzing - этот инструмент разработчика с открытым исходным кодом для обучения, прототипирования и обмена проектами на базе Arduino. Он работает на Windows, Mac OS и Linux.
Fritzing позволит разработать принципиальную схему устройства, и создать ее представление в виде соединения макетов элементов расширения. Также дает возможность разработать печатную плату для ее дальнейшего изготовления. У Fritzing простой интерфейс (рисунок 2.1), который делает разработку электронных схем понятной.
Рисунок 2.1 – Интерфейс Fritzing
Разработка устройства - станции принимающей сигнал на базе Arduino Nano (рисунок 2.2).
Рисунок 2.2 Схема устройства для приёма сигнала с телефона на базе Arduino Nano
Разработка устройства - станции принимающей сигнал на базе Arduino UNO (рисунок 2.3).
Рисунок 2.3 Схема устройства для приёма сигнала с смартфона на базе Arduino UNO
2.5 Средства разработки и адаптации
Широкое распространение AutoCAD в мире обусловлено не в последнюю очередь развитыми средствами разработки и адаптации, которые позволяют настроить систему под нужды конкретных пользователей и значительно расширить функциональность базовой системы. Большой набор инструментальных средств для разработки приложений делает базовую версию AutoCAD универсальной платформой для разработки приложений. На базе AutoCAD самой компанией Autodesk и сторонними производителями создано большое количество специализированных прикладных приложений, таких как AutoCAD Mechanical, AutoCAD Electrical, AutoCAD Architecture, GeoniCS, Promis-e, PLANT-4D, AutoPLANT, СПДС GraphiCS, MechaniCS, GEOBRIDGE, САПР ЛЭП, Rubius Electric Suite и других.
2.6 Графические пакеты разработки устройств на микроконтроллерах
Процесс разработки принципиальной схемы устройств на базе Arduino Nano и Arduino UNO в среде проектирования AutoCAD (рисунок 2.4 и рисунок 2.5). Готовый вид схем разработанных устройств изображен на (рисунке 2.6).
Рисунок 2.4 Разработка принципиальной схемы устройства на базе Arduino Nano в среде проектирования AutoCAD.
Рисунок 2.5 Разработка принципиальной схемы устройства на базе Arduino UNO в среде проектирования AutoCAD.
Рисунок 2.6 Принципиальные схемы устройств
2.7 Сборка тестовых устройств
До того, как начать сборку тестового устройства, необходимо заранее записать скетч на Arduino Nano, или иначе будут возникать ошибки пинов микроконтроллера при записи программы на устройство.
-Печатаем в среде программирования Arduino IDE, данную программу.
Код программы для теста Bluetooth-модуля:
char incomingByte; // переменная для хранения входящих данных
int LED = 13; // LED подключен к 13 выводу (используем встроенный светодиод)
void setup() {
Serial.begin(9600); // инициализация порта на скорость 9600 бод для связи с Bluetooth-модулем
pinMode(LED, OUTPUT); // вывод LED настраиваем как выход
}
void loop() {
if (Serial.available() > 0) { // если пришли данные
incomingByte = Serial.read(); // считываем байт
if(incomingByte == '0') // если пришел символ "0",
digitalWrite(LED, LOW); // то выключаем вывод "LED"
if(incomingByte == '1') // если пришел символ "1",
digitalWrite(LED, HIGH); // то включаем вывод "LED"
}
}
Успешная запись программы видна на рисунке 2.7
Рисунок 2.7 Успешная запись программы на микропроцессор
Схема первого тестового устройства изображена на рисунке 2.8, подключаем согласно схеме:
Рисунок 2.8 Схема первого тестового устройства
VCC – 5V
GND – GND
TXD – RX
RXD – TX
Собранное первое тестового устройство (рисунок 2.9)
Рисунок 2.9 Устройство, для проверки совместимости приложения и Bluetooth-модуля HC-06.
Результат работы изображён на рисунке 2.10
Рисунок 2.10 Наглядный результат выполнения записанной программы
Мы удалённо управляем незадействованным светодиодом на самом микроконтроллере, а именно, включаем и выключаем не задействованный светодиод.
Разработка тестового устройства, более мощной версии.
Схема тестового устройства (рисунок 2.11). Подключение второго устройства, разработанного с более оптимальными модулями:
Рисунок 2.11 Схема тестового устройства
2.8 Сборка основного устройства
До того, как начать сборку устройства, необходимо заранее записать скетч на Arduino Nano или Arduino UNO в зависимости от выбранной версии устройства, иначе будут возникать ошибки пинов микроконтроллера при записи программы на устройство.
Печатаем в среде программирования Arduino IDE, данную программу. Данная программа подходит для обоих микроконтроллеров, ничего исправлять не придётся т.к. все разъёмы указанные в программе есть на обоих платах.
Код программы для работы нашего устройства:
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); // сначала реле выключено
}
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;
} }}
Успешная запись программы видна на рисунке 2.12.
Рисунок 2.12 Успешная запись программы на микроконтроллер.
- Подключаем всё согласно разработанной схеме №1 (рисунок 2.13)
Рисунок 2.13 Схема № 1, устройства на базе Arduino Nano
-Подключение Bluetooth-модуля:
VCC – 5V
GND – GND
TXD – RX
RXD – TX
-Подключение реле-модуля:
GND – GND
IN1 – D5
IN2 – D6
VCC – 5V
-Подключение БП 12В:
Подключаем + и –, к Шине питания 12В, от шины питания + подключаем к 5V, а – подключаем к GND.
-Подключение нагрузок к реле:
Лампу подключаем через разрыв проводов к источнику питания 220В и реле, а LED-ленту или её аналог LED-лампочку, так как, и у этой, и у другой нагрузка 12В, подключаем к контакту реле и GND на макетной плате.
Cборка устройства на базе Arduino Nano последовательно представленна на рисунках 2.14, 2.15, 2.16, 2.17
.
Рисунок 2.14 Устройство без подключённой нагрузки на базе Arduino Nano. Готовый вид устройства подключаемого в сеть освещения.
Рисунок 2.15 Устройство с настроенным Bluetooth соединением на базе Arduino Nano.
Рисунок 2.16 Демонстрация работы устройства.
Рисунок 2.17 Демонстрация работы устройства с другого ракурса.
- Подключаем всё согласно разработанной схеме №2 (рисунок 2.18)
Рисунок 2.18 Схема №2, устройства на базе Arduino UNO
Сборка устройства на базе Arduino UNO последовательно представлена на рисунке 2.19.
Рисунок 2.19 Устройство с настроенным Bluetooth соединением на базе Arduino UNO
Рисунок 2.20 Демонстрация работы устройства.
2.9 Приложение по управлению на Android.
Крайне простой интерфейс, выполняющий простенькие функции: именно включение и выключение (рисунки 2.22-2.25)
Рисунок 2.22 Интерфейс программы управления.
Рисунок 2.23 Перечень возможных настроек данного приложения.
Рисунок 2.24 Настройка клавиш под устройство.
Рисунок 2.25 Подключение устройств друг к другу.
Крайне простое и удобное приложение, аналог можно написать с помощью шаблонов в веб-среде для программирования.
Рисунок 2.26 Первая версия приложения управления для Android
Рисунок 2.27 Программирование приложения блочными командами в веб интерфейсе APP Inventor
Рисунок 2.28 Сохранение приложения в .apk файл
ЗАКЛЮЧЕНИЕ
Темой дипломной работы являлось: «Разработка системы управления освещением помещения на базе Arduino».
Целью дипломной работы являлось: создание устройства, которое может удалённо управлять освящением.
В ходе работы выполнены следующие поставленные задачи:
-изучил существующие проекты и устройства для удалённого освящения;
-изучил теорию и основные понятия, необходимые для программирования микроконтроллера;
-приобрел необходимые комплектующие и модули расширения;
-разработал схемы устройств: принимающего сигнал;
-разработал алгоритм для удалённого управления;
-написал программный код;
-запрограммировал АВП Arduino;
-протестировал и отладил спроектированное устройство.
Если сравнивать воссозданное устройство с уже существующими аналогами на рынке, то в экономическом и техническом плане можно считать этот проект более выгодным и важным к финансированию.
Созданные устройства помогут внести на рынок более дешевые, более открытые к модификациям и ничем не уступающие своим конкурентам продукты. Любой покупатель сможет улучшить качество своей жизнь и обезопасить ее от рисков. А люди с ограниченными возможностями этот проект окажет ещё более большую помощь, им не потребуется тянуться к выключателям, когда всё под рукой, управляется вручную. Для каждого клиента данное устройство можно будет подстроить под необходимые нужды, что делает данный продукт крайне мобильным для современного рынка. C Arduino можно работать на различных операционных системах и с более удобными средами программирования.
Микроконтроллеры Arduino Nano и Arduino UNO имеют множество аналогов и моделей для разных целей и задач, а также множество дополнительных модулей расширения функционала работы микроконтроллера Arduino. Саму плату достаточно просто собрать и прошить, все детали заменяемы и доступны в ценовом сегменте.
Компания Arduino предоставляет открытые исходные коды и чертежи устройств их собственного производства, а также сотрудничает с инициативными пользователями, которые могут сами присылать свои чертежи, программы и идеи для реализации, и улучшения работы продукции. На сайте, также, как и в инструкции по использованию Arduino, есть большое количество программ и инструкций по сборке устройства с описанием действий, как на плате, так и в программе, что очень помогает в отработке практических навыков начинающих разработчиков.
В ходе работы было выявлено, что Arduino UNO и Arduino Nano вполне способны выступать в качестве модулей управления системы умный дом. Разработка системы удалённого управления освещением помещения на базе Arduino отличается от обычных систем удалённого управления, тем что использование платформы Arduino удобнее, чем микроконтроллеры с внешними элементами. Это позволяет модифицировать программно-аппаратную составляющую системы управления, а возможность подключения модулей позволяет автоматизировать, подконтрольные процессы, связанные с удалённым управлением. Также особую роль играет язык программирования С++, который позволяет написать программу с большим количеством действий и вычислений в сравнении с машинным низшим языком программирования Assembler. Написание программы для системы удалённого управления, также ее изменения или переработка, доступны сразу при подключении микроконтроллера к ПК, в то время как в обычных системах удалённого управления необходимо отключить микропроцессор от печатной платы и подключить его к программатору, только после этого можно перепрограммировать микропроцессор.
Для обслуживания данного оборудования, не имея навыков работы с этим оборудованием, и для восстановления функций системы придётся вызывать техника-специалиста по обслуживанию данных устройств. Массовое производство, для этих устройств не подходит, ибо для каждого клиента придётся разрабатывать индивидуальные устройства, которые будут соответствовать пожеланиям покупателя.
Полученные при выполнении дипломной работы знания и навыки, крайне полезны и важны для работ в сфере IT-технологий.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Официальный сайт компании Arduino. [Электронный источник]
Режим доступа: http://arduino.cc
- Проекты с использованием контроллера Arduino. — СПб.: БХВ-Петербург, 2014 г. - 43с
- Первые шаги по освоению Arduino. [Электронный источник]
Режим доступа: http://maxkit.ru
- Модули Последовательного Интерфейса Bluetooth. Руководство Пользователя, 2016 г. - 1 c – 19 c.
- Компоненты и модули для Arduino. [Электронный источник]
Режим доступа: https://geektimes.ru/post/255798/
- Технические характеристики Arduino Uno. [Электронный источник]
Режим доступа: http://arduino.ru/Hardware/ArduinoBoardUno
- Блог про Arduino / Freeduino. [Электронный источник]
Режим доступа: http://arduino-ru.blogspot.ru/
- Технические характеристики Arduino Nano. [Электронный источник]
Режим доступа: http://arduino.ru/Hardware/ArduinoBoardNano
- Проекты для Arduino. [Электронный источник]
Режим доступа: https://create.arduino.cc/projecthub
- Джереми Б. Изучаем Arduino. Книга /Джереми Блюман — СПб.: БХВ-Петербург, 2015 г. - 336с
- Сайт разработчика Fritzing. [Электронный источник]
Режим доступа: http://fritzing.org/home/
- История развития микроконтроллеров. [Электронный источник]
Режим доступа: https://vuzlit.ru
- Википедия – свободная энциклопедия. Клиент –сервер. [Электронный источник]
Режим доступа: http://ru.wikipedia.org/wiki/Arduino
- Группа документирования Atmega328. [Электронный источник]
Режим доступа: http://www.atmel.com/ru/ru/devices/atmega328.aspx
- Технические данные Arduino. [Электронный источник]
Режим доступа: arduino.ua/ru/hardware
- Блог любителей робототехники "RoboCraft". [Электронный источник]
Режим доступа: http://robocraft.ru/page/about/
ПРИЛОЖЕНИЕ A
Принципиальная схема Arduino Nano
ПРИЛОЖЕНИЕ Б
Принципиальная схема Arduino UNO
ПРИЛОЖЕНИЕ В
Atmega328
ПРИЛОЖЕНИЕ Г
Код программы для теста Bluetooth-модуля:
char incomingByte; // переменная для хранения входящих данных
int LED = 13; // LED подключен к 13 выводу (используем встроенный светодиод)
void setup() {
Serial.begin(9600); // инициализация порта на скорость 9600 бод для связи с Bluetooth-модулем
pinMode(LED, OUTPUT); // вывод LED настраиваем как выход
}
void loop() {
if (Serial.available() > 0) { // если пришли данные
incomingByte = Serial.read(); // считываем байт
if(incomingByte == '0') // если пришел символ "0",
digitalWrite(LED, LOW); // то выключаем вывод "LED"
if(incomingByte == '1') // если пришел символ "1",
digitalWrite(LED, HIGH); // то включаем вывод "LED"
}
}
ПРИЛОЖЕНИЕ Д
Код программы для работы нашего устройства:
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); // сначала реле выключено
}
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; }}}