Бесплатная техническая библиотека ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Arduino. Знакомство. Энциклопедия радиоэлектроники и электротехники Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору Вероятно, в жизни любого начинающего радиолюбителя наступает момент, когда его перестают устраивать простейшие электронные устройства. Возникает желание сконструировать что-то практически полезное. Однако от устройств на паре транзисторов трудно ожидать решения более-менее сложных задач. С другой стороны, начинающий программист может захотеть, чтобы написанные им программы управляли каким-нибудь автономным роботом или иным подобным устройством. Одно дело, когда программа просто работает с информацией в памяти компьютера, и совсем другое, когда робот, подчиняясь написанной программе, отправляется в "путешествие" по комнате или запрограммированный микроконтроллер становится частью какого-нибудь полезного устройства. При этом ни начинающий радиолюбитель, ни программист не обладают еще достаточными знаниями и навыками для того, чтобы повторить, а тем более сконструировать заново микро-контроллерное устройство. Ведь, по сути, микроконтроллер - это совсем маленький и простой, но все же компьютер. Необходимо детально знать архитектуру конкретного микроконтроллера, изучить язык специфичного для него ассемблера. Самый простой способ решить эту проблему - применить готовый комплект для создания роботов вроде тех, что делает известнейший производитель всевозможных конструкторов для детей - фирма Lego. Такой комплект содержит все необходимые компоненты для изготовления робота: блок микроконтроллера, электродвигатели, датчики. Несомненное достоинство подобного набора в том, что сконструировать робот на его основе можно очень просто и быстро. Все необходимое программное обеспечение прилагается к набору и имеет интуитивно понятный интерфейс. Техническая документация рассчитана на самых юных любителей техники. Однако, по мнению автора, за не очень большой набор датчиков и исполнительных механизмов, а также комплект стандартных пластмассовых деталей придется отдать неоправданно большую сумму. Впрочем, это не отменяет того факта, что подобные конструкторы лучше всего подходят для младшей возрастной группы. Несмотря на дороговизну специализированных конструкторов, сама идея использовать для создания сложного устройства относительно небольшой ряд стандартных функциональных узлов выглядит довольно здраво. Именно по такому пути пошли разработчики платы Arduino с микроконтроллером серии AVR и множества плат расширения к ней. Самая распространенная сегодня версия этой платы - Arduino UNO. Для создания пользовательских программ существует специализированная среда разработки Arduino IDE, в которой программирование ведется на языке, основанном на широко распространенном языке C++. Большое достоинство Arduino - практически полная открытость. На официальном сайте разработчика можно бесплатно скачать среду разработки [1,2]. При ее запуске откроется изображенное на рис. 1 окно, в которое можно ввести программу, транслировать ее в машинный код, загрузить в микроконтроллер платы Arduino и запустить на исполнение.
Следует заметить, что компания-разработчик Arduino разделилась на две независимые компании Arduino LLC и Arduino SRL, которые продолжают выпускать продукцию под одной торговой маркой, что создает путаницу. Тем не менее программное обеспечение регулярно обновляется, имеются версии для Windows, Linux, MacOS. Кроме программного обеспечения, поставляемого разработчиками платы, существует немало других сред разработки, например, [3]. Папку с программным обеспечением лучше всего поместить в корневую папку диска С. Вместе с редактором текста программы и компилятором в ней имеются подпапки с примерами типовых программ и набором библиотек для решения стандартных задач, что очень упрощает жизнь начинающего программиста. При первом соединении платы Arduino c компьютером операционная система обнаружит новое устройство и потребует установить его драйвер, который также имеется в папке с программным обеспечением. После установки драйвера нужно - перезагрузить компьютер. В результате успешной установки в диспетчере устройств Windows будет отображен дополнительный COM-порт. Использование языка высокого уровня упрощает разработку и сильно снижает требования к квалификации программиста, но, с другой стороны, полученная программа не будет оптимальной по занятой памяти и скорости исполнения. Программа, написанная на языке низкого уровня (языке ассемблера), заняла бы значительно меньше места в памяти и работала бы быстрее. Но в любительских разработках этим можно пренебречь. Естественно, в ответственных случаях использовать Arduino нужно с крайней осторожностью. Однако принципиально возможно использовать Arduino в самых разных устройствах: от простейшего термостата до беспилотных летательных аппаратов. Например, российская аэро космическая компания "Лин Индастри ал" [4], занимающаяся конструированием сверхлегких ракет-носителей, создала на основе Arduino блок регистрации параметров полета (рис. 2) для своей экспериментальной ракеты (рис. 3). А ученые из Индийского института исследований и естественнонаучного образования (г. Тривандрам) применили Arduino в учебном радиотелескопе [5].
В установленный на плате Arduino микроконтроллер предварительно записана специальная программа-загрузчик. С его помощью происходит запись разработанной на компьютере прикладной программы в программную память микроконтроллера. Сам загрузчик занимает некоторую часть этой памяти (от одного до четырех килобайт в зависимости от версии), но благодаря такой организации взаимодействия с компьютером пользователю сложно довести микроконтроллер до нерабочего состояния с помощью неверных команд. На плате Arduino UNO (рис. 4) установлен микроконтроллер ATmega328P, имеющий 2 Кбайт оперативной памяти и 32 Кбайт памяти программ. Тактовую частоту микроконтроллера 16 МГц задает кварцевый резонатор. Arduino UNO не нуждается в отдельном программаторе, плату можно напрямую подключить к разъему USB компьютера, для чего на ней имеются разъем USB-BF и преобразователь интерфейса USB в последовательный интерфейс микроконтроллера. В других вариантах плат Arduino для подключения к компьютеру может служить разъем micro-USB. На устаревших и самодельных платах можно встретить и обычный COM-порт.
Питается плата Arduino UNO, подключенная к компьютеру, от разъема USB. А для работы без компьютера на нее нужно подать напряжение 7...12 В от внешнего источника, для чего на плате имеется специальный разъем. Благодаря встроенному стабилизатору напряжения Arduino UNO не предъявляет особых требований к качеству питающего напряжения. Так что его источником может быть почти любой малогабаритный блок питания, выходное напряжение которого лежит в требуемом интервале, и даже гальваническая батарея на 9 В, например, "Крона" (6F22) или две последовательно соединенные батареи 3336 (3R12). Для связи с внешними исполнительными устройствами, а также съема информации с датчиков имеются 14 цифровых линий ввода-вывода, которые называются D0-D13. На шесть из них микроконтроллером могут быть выведены импульсы с программно управляемым коэффициентом заполнения (ШИМ). Они помечены на плате знаками "~". Кроме того, имеются шесть аналоговых линий ввода A0-A5. Аналоговые входы подключены к встроенному в микроконтроллер десятиразрядному аналого-цифровому преобразователю, но при необходимости их можно использовать и в качестве дополнительных цифровых линий ввода-вывода D14-D19. Следует заметить, что от версии к версии платы число линий аналогового ввода и линий, способных работать в режиме ШИМ, изменяется. Например, плата Arduino Leonardo и ее отечественная копия Iskra Neo имеет 12 аналоговых линий и семь линий с ШИМ. Как правило, все линии ввода-вывода на платах промаркированы, так что разобраться в них не составляет труда. На плате Arduino UNO установлены четыре светодиода: индикатор питания (ON), светодиод, постоянно подключенный к линии D13 (L), и два светодиода для индикации обмена информацией с внешним устройством через последовательный порт (ТХи RX), а также кнопка для приведения микроконтроллера в исходное состояние. Одно из достоинств Arduino - широкий набор дополнительных плат, так называемых "шилдов" (англ. shield - щит). Они позволяют подключать к Arduino электродвигатели и другие мощные нагрузки, обеспечивают работу в компьютерных сетях по протоколам Ethernet и WiFi, передают информацию по сети сотовой связи GSM, работают со звуком и т. д. Обеспечивают работу с шилдами немало готовых программных библиотек, как официальных, так и написанных сторонними авторами. Плата Arduino UNO хорошо подходит для отладки программ на стадии разработки и налаживания конструкций. Но для множества практических приложений возможности Arduino UNO избыточны, а ее размеры могут оказаться слишком большими для установки в готовое изделие. На использование в готовых конструкциях ориентированы платы Arduino Nano и Arduino Mini. По параметрам они практически идентичны Arduino UNO, но имеют упрощенную конструкцию, меньшие габариты и несколько дешевле. Если же возможностей Arduino UNO недостаточно, можно применить плату Arduino Mega с большим объемом памяти и числом линий ввода-вывода. Перечень вариантов плат Arduino этим не исчерпывается, но другие варианты для первоначального изучения подходят хуже. Авторским правом охраняется только само название Arduino, поэтому множество производителей выпускают свои варианты под названиями Free-duino, Craft Duino, Funduino, Diavolino и пр. Среди всего этого многообразия есть конструкции, как полностью повторяющие оригинальные, так и собственные разработки, совместимость которых с оригиналом иногда под вопросом. Впрочем, как правило, устройства разных производителей стандартизованы, так что если плата заявлена как копия Arduino UNO, то все сказанное об Arduino UNO относится и к ней, хотя за каждого производителя поручиться, конечно, нельзя. Приемлемый для любителя уровень качества способны обеспечить не только производители оригинальных устройств, но и малоизвестные фирмы, которые предлагают аналогичные конструкции по гораздо меньшей цене. Плата Arduino не очень сложна и вполне доступна для самостоятельного изготовления, документацию для этого можно найти на официальном сайте производителя [6]. Описание самодельной платы, входящей в семейство Arduino, было опубликовано и в журнале "Радио" [7]. Благодаря перечисленным достоинствам в среде любителей электроники Arduino фактически стала своеобразным стандартом. Применение законченных функциональных блоков и библиотек программ очень сильно упрощает и, следовательно, ускоряет разработку. Фактически шилды Arduino - "черные ящики". Важно, как тот или иной блок реагирует на определенные сигналы и воздействия, но не принципиально его внутреннее устройство. Печатные издания на русском языке, посвященные описанию Arduino, существуют, но, прямо сказать, не лежат на полке каждого книжного магазина или библиотеки. В качестве примера можно привести книгу [8], а среди периодических изданий можно отметить цикл статей в журнале "Левша" (приложение к журналу "Юный техник"). Там, начиная с №6 за 2012 г., ежемесячно публикуют статьи, посвященные использованию Arduino [9]. Впрочем, в сети Интернет можно найти немало ресурсов, как полностью посвященных Arduino [10-12], так и сайтов более широкой научно-технической направленности, имеющих соответствующие разделы [13-16]. В заключение можно заметить, что для облегчения работы с Arduino можно изготовить несколько простых приспособлений. Например, не очень удобно втыкать зачищенные концы проводов в гнезда разъемов. Для этого существуют показанные на рис. 5 специальные соединительные провода с наконечниками, которыебывают как штырями, так и гнездами. Аналогичные провода несложно изготовить самостоятельно, используя контакты от разъемов. А для быстрого подключения внешних устройств лучше использовать соединительные провода, подобные показанному на рис. 6, на одном конце которых припаян разъем "крокодил", а на другом - штыревой контакт.
Часто требуется подключить к одному выводу платы несколько проводов, например, чтобы подать питание на несколько датчиков. Здесь можно использовать гнездовые колодки PBS или аналогичные, все выводы которых нужно соединить вместе и припаять к соединительному проводу, на противоположном конце которого имеется штыревой контакт. Для быстрой сборки несложных устройств без применения паяльника хорошо подходят специальные макетные платы. Внешний вид одной из них показанна рис. 7, а схема - на рис. 8.
Жесткие выводы деталей вставляют в пружинные гнезда таких плат, а недостающие соединения между ними выполняют проволочными перемычками или описанными выше проводами. Итак, главное достоинство Arduino, с одной стороны, в наличии хорошо развитых и гибких возможностей для того, чтобы стать основой довольно сложных конструкций, с другой - объем первоначальных знаний, необходимых для начала работы, фактически не выходит за пределы школьных курсов физики и информатики. Литература
Автор: Д. Лекомцев Смотрите другие статьи раздела Радиолюбителю-конструктору. Читайте и пишите полезные комментарии к этой статье. Последние новости науки и техники, новинки электроники: Искусственная кожа для эмуляции прикосновений
15.04.2024 Кошачий унитаз Petgugu Global
15.04.2024 Привлекательность заботливых мужчин
14.04.2024
Другие интересные новости: ▪ Мухи более заразны, чем считалось ▪ Свойства магнитного материала: от изолятора к металлу ▪ Грузовой дрон DJI FlyCart 30 ▪ Упаковка из поп-корна для хрупких предметов Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Автомобиль. Подборка статей ▪ статья Подгузник. История изобретения и производства ▪ статья Какие цветные шумы, помимо белого шума, существуют? Подробный ответ ▪ статья Защита фар. Энциклопедия радиоэлектроники и электротехники
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |