Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Введение
В настоящее время на рынке программируемых микроконтроллерных плат наиболее популярными решениями являются платы семейства Arduino и платы Raspberry Pi. Вторые являются, фактически, полноценными миникомпьютерами, позволяющими решать различные задачи в области автоматизации и управления – это может быть умный дом, медиасервер, система безопасности и др. Arduino, на первый взгляд, предоставляет несколько меньшие возможности, так как у стандартных плат данной линейки отсутствует операционная система, однако в плате Arduino Yún на борту размещена операционная система Linux.
Если проанализировать различные информационные источники, посвященные платам Arduino, можно сделать вывод о том, что платы данного класса являются достаточно популярными, несмотря на несколько меньшие возможности, предоставляема ими, в отличие от плат Paspberry Pi. Популярность плат данного производителя объясняется двумя факторами – обилие информации, в том числе с пошаговыми инструкциями по изготовлению устройств и достаточно большим количеством разнообразных модулей – от простых измерителей расстояния до систем GPS и GSM. Кроме того, немаловажным фактором популярности является низкая (приблизительно в 20 раз) цена плат-аналогов, которые могут быть заказаны в различных интернет-магазинах.
Целью настоящей работы является изготовление прототипа технического устройства, позволяющего выводить на жидкокристаллический дисплей значения аналоговых входов микроконтроллерной платы Arduino.
Для достижения поставленной цели необходимо решить следующие задачи
Ознакомиться с микроконтроллерной платой Arduino: изучить принципы её программирования, основы языка и работы с внешними устройствами;
Разработать алгоритм функционирования устройства, представить блок-схему алгоритма функционирования;
Выбрать программу, позволяющую эмулировать плату Arduino и в выбранном эмуляторе написать программу в соответствии с разработанным алгоритмом;
Произвести отладку программы и корректировку ошибок в случае, если таковые будут обнаружены;
Протестировать разработанную программу на реальном железе;
Сделать выводы по полученным результатам.
Основная часть
Микроконтроллерная плата Arduino
Arduino представляет собой торговую марку программно-аппаратных средств для построения простых систем автоматики и робототехники. Фактически электронный блок Arduino является аналогом материнской платы современного компьютера. Программная часть представляет собой бесплатную оболочку IDE для написания программ, их компиляции и программирования аппаратуры. Arduino может взаимодействовать с окружающей средой, получая информацию с датчиков физических величин, и так же сам может воздействовать на нее – управлять визуальными эффектами, электромоторами и т.д.
Проект Arduino был разработан итальянцем Массимо Банци, первый прототип был выпущен в 2005 году. Изначально Массимо пользовался устройством BASIC Stamp, которое имело два недостатка – малая производительность и высокая стоимость. Поэтому, для удобства работы была поставлена цель, заключающаяся в самостоятельном создании устройства, представляющего собой простую, открытую платформу с небольшой стоимостью. Плата должна была работать по принципу plug-and-play. Это позволяло бы работать с ней, просто подключив плату к компьютеру. Чтобы она отличалась от других производителей, было решено добавить большее количество выводов печатной платы. Добиться дешевизны удалось с помощью использования дешевых и доступных компонентов. На сегодняшний день, платформа Arduino представлена семейством плат, отличающихся друг от друга мощностью, компактностью, работой в различных условиях.
Аппаратная часть (на примере самой распространенной платы Arduino UNO) представляет собой плату c размещенными на ней компонентами (рис. 1). Главным компонентом является микроконтроллер, который является главным элементом и основной вычислительной системой платформы. Выводы микроконтроллера удобно расположены по краям платы – 6 аналоговых и 14 цифровых.
Рисунок 1 – Arduino UNO
Существует аналог Arduino UNO – Arduino Nano, в которой применяются компоненты меньшего размера. За счет этого и сама плата обладает меньшими размерами.
Более производительный аналог – Arduino Mega. Эта плата разработано для более крупных проектов, рассчитанных на большее количество подключаемых устройств и более емкого программного кода (содержит 16 аналоговых и 54 цифровых выходов)
. Объем памяти в 4 раза больше, чем у Arduino Uno.
Arduino Leonardo идеально подходит для создания на ее основе различных устройств ввода. Это связано с применяемым микроконтроллером Atmega32u4. Компьютер распознает плату как подключенную к нему клавиатуру или мышь.
Для разработки небольших устройств была создана плата Arduino Mini, которая имеет очень компактные размеры. Ее вторая версия, Arduino Pro Mini, отличается отсутствием выводов, поэтому ее нельзя подключить к компьютеру через USB. Программируется такая плата через специальные преобразователи и адаптеры.
Еще одной особенностью Arduino является возможность установки плат расширения («шилды»), которые расширяют функционал платы – позволяют подключаться к локальным сетям и Интернету, получают данные со спутников GPS, позволяют управлять электромоторами и т.д. Соединяются они путем жесткого соединения в стопку через штыревые линейки.
В процессор можно загрузить написанную программу, которая будет управлять всеми подключенными устройствами по заданному алгоритму. Программы пишутся на языке C++, дополненным функциями для управления вводом/выводом на контактах.
К плате Arduino могут быть подключено множество радиокомпонентов – кнопки, переключатели, различные датчики, световые индикаторы, различные дисплеи, джойстики и прочее периферийное оборудование (если известен протокол обмена, можно подключить практически любое устройство). Кроме датчиков, к плате можно подключить шилды (рис. 3) – отдельные платы, расширяющие функциональность устройств. В качестве примера рассмотрим шилд прототипирования (рис. 3) и Ethernet шилд (рис. 4).
Рисунок 2 – Подключение шилдов
Шилд представляет собой плату дополнения. Шилды могут быть на полноразмерными и отдельными. Полноразмерные по форме повторяют форму Arduino, UNO, Nano или MEGA. Отдельные модули – платы произвольной формы, созданные для выполнения определенных функций. Все они могут быть как универсальными, так и узкоспециализированными.
Шилд для макетирования предназначен для платы UNO. На нем расположена беспаечная макетная плата для сборки проекта и выводы, дублирующие выводы Arduino UNO.
Рисунок 3 – Макетная плата
С помощью этих плат можно организовать управление микроконтроллером по сети через кабель Ethernet, например, или без проводов – через GSM.
Рисунок 3 – Ethernet Shield
Эта плата называется w5100 – содержит Ethernet модуль и модуль SD-карты, что позволит хранить данные, например лог измерений датчиков на карту памяти и управлять системой через web-интерфейс. W5500 – еще один вариант Ethernet-шилда. По своей сути – это доработанная версия W5100, оптимизированная в плане скорости и энергоэффективности.
LCD Keypad shield – это настоящая панель управления. На нём расположен дисплей LCD1602 (16*2), и набор кнопок (рис. 5).
Рисунок 5 – LCD-keypad
Существует много дисплеев совместимых с Arduino – популярен дисплей от NOKIA 5110. Есть как OLED, так и TFT экраны , работающие по шине I2C (рис. 6).
Рисунок 6 – LCD
Использование шилдов для всех задач проекта позволит избежать излишнего числа перемычек и соединений, а это снизит количество ошибок и лишних перемычек. После сборки вы получите многоэтажный бутерброд из плат заводского изготовления. Такой подход иногда называют «модульная конструкция». Между прочим, это облегчит обслуживание, ремонт и наладку оборудования.
Энтузиасты практикуют проектирование, разводку и сборку уникальных модулей. Это одна из причин высокой популярности Arduino не просто как платформы для самоделок, макетов и прототипов, но и как платформы для готовых решений.
Разработка алгоритма функционирования
В соответствии с вариантом задания, необходимо разработать устройство, позволяющее считывать значения сигнала с аналоговых входов микроконтроллерной платы Arduino. И выводить эти значения на жидкокристаллический дисплей.
Алгоритм может выглядеть следующим образом:
Считывание информации с аналоговых входов;
Вывод информации на жидкокристаллический дисплей
Задержка в 500 мс;
Переход к п. 1.
Таким образом, данный алгоритм будет выполняться до тех пор, пока на плату подается питающее напряжение.
Выбор программного эмулятора платЫ
Рассмотрим простой и удобный редактор для поставленной задачи программный продукт. Называется он TinkerCAD и выполнен в виде web-приложения. Расположен он по адресу www.tinkercad.com
Закажи написание реферата по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!
Нужна помощь по теме или написание схожей работы? Свяжись напрямую с автором и обсуди заказ.
В файле вы найдете полный фрагмент работы доступный на сайте, а также промокод referat200 на новый заказ в Автор24.