Ардуино и электронное творчество. Учебное пособие бесплатное чтение
Редактор Ибратжон Хатамович Алиев
Редактор Оббозжон Хокимович Кулдошев
Дизайнер обложки Ибратжон Хатамович Алиев
Дизайнер обложки Боходир Хошимович Каримов
Иллюстратор Ибратжон Хатамович Алиев
Иллюстратор Боходир Хошимович Каримов
Иллюстратор Ахлиддин Мирзохидович Кучкаров
Рецензент, доктор фиико-математических наук, профессор и заведующий кафедрой "Технологического образования" физико-технического факультета Ферганского государственного университета Салим Мадрахимович Отажонов
Рецензент, доктор физико-математических наук, профессор кафедры "Физики" энергетического факультета Ферганского Политехнического Института Номанжон Акрамович Султонов
Рецензент, доктор технических наук, профессор научно-исследовательского института "Физики полупроводников и микроэлектроники" при Национальном Университете Узбекистана Оббозжон Хокимович Кулдошев
Корректор Ибратжон Хатамович Алиев
© Боходир Хошимович Каримов, 2023
© Ахлиддин Мирзохидович Кучкаров, 2023
© Ибратжон Хатамович Алиев, дизайн обложки, 2023
© Боходир Хошимович Каримов, дизайн обложки, 2023
© Ибратжон Хатамович Алиев, иллюстрации, 2023
© Боходир Хошимович Каримов, иллюстрации, 2023
© Ахлиддин Мирзохидович Кучкаров, иллюстрации, 2023
ISBN 978-5-0059-2646-3
Создано в интеллектуальной издательской системе Ridero
Предисловие
Аrduino – это электронный конструктор и удобная платформа быстрой разработки электронных устройств для студентов и профессионалов. Платформа стала популярной во всем мире благодаря удобству языка программирования, а также открытой архитектуре и программному коду. Программируется через USB порт.
Плата Arduino сине-зеленого света. По своей сути Arduino это маленький персональный компьютер, который позволяет выйти за рамки виртуального мира в физический и взаимодействовать с ним. Устройства на базе Arduino могут получать информацию об окружающей среде посредством различных датчиков, а также могут управлять различными исполнительными устройствами.
Проекты устройств, основанные на Arduino, могут работать самостоятельно, либо взаимодействовать с программным обеспечением компьютера. Попробуйте воспользоваться нашими советами, и вскоре все это обретет реальный смысл.
Arduino UNO – плата разработчиков, одна из нескольких (Mega, Nano и пр.), основана на микроконтроллере ATmega328. Он популярен, главным образом, из-за обширной сети поддержки и универсальности. У Arduino UNO есть 14 цифровых портов ввода – вывода, шесть из которых умеют выдавать ШИМ. Еще есть 6 входящих аналоговых портов. Есть генератор 16 Мгц, USB порт, разъем питания, кнопка сброса, и разъем ICSP.
Желаем удачи Вашей самостоятельном проекте.
Глава 1. ВВЕДЕНИЕ В ARDUINO
В первой главе рассмотрена появление первых микроконтроллеров, преимущество Arduino, история создания и развитие платформы Arduino.
1.1. Arduino – что это?
Появление первых микроконтроллеров ознаменовало начало новой эры в развитии микропроцессорной техники. Наличие в одном корпусе большинства системных устройств сделало микроконтроллер подобным обычному компьютеру. В литературе они называются однокристальными микро-ЭВМ. Соответственно и желание использовать микроконтроллеры как обычные компьютеры появилось практически с их появлением. Но желание это сдерживалось многими факторами. Например, чтобы собрать устройство на микроконтроллере, необходимо знать основы схемотехники, устройство и работу конкретного процессора, уметь программировать на ассемблере и изготавливать электронную технику. Потребуются также программаторы, отладчики и другие вспомогательные устройства. В итоге без огромного объема знаний и дорогостоящего оборудования не обойтись. Такая ситуация долго не позволяла многим любителям использовать микроконтроллеры в своих проектах. Сейчас, с появлением устройств, дающих возможность работать с микроконтроллерами без наличия серьезной материальной базы и знания многих предметов, все изменилось. Примером такого устройства может служить проект Arduino итальянских разработчиков.
Arduino и его клоны представляют собой наборы, состоящие из готового электронного блока и программного обеспечения. Электронный блок здесь – это печатная плата с установленным микроконтроллером и минимумом элементов, необходимых для его работы. Фактически электронный блок Arduino является аналогом материнской платы современного компьютера. На нем имеются разъемы для подключения внешних устройств, а также разъем для связи с компьютером, по которому и осуществляется программирование микроконтроллера. Особенности используемых микроконтроллеров ATmega фирмы Atmel позволяют производить программирование без применения специальных программаторов. Все, что нужно для создания нового электронного устройства, – это плата Arduino, кабель связи и компьютер. Второй частью проекта Arduino является программное обеспечение для создания управляющих программ. Оно объединило в себе простейшую среду разработки и язык программирования, представляющий собой вариант языка С/С++ для микроконтроллеров. В него добавлены элементы, позволяющие создавать программы без изучения аппаратной части. Так что для работы с Arduino практически достаточно знания только основ программирования на С/С++. Создано для Arduino и множество библиотек, содержащих код, работающий с различными устройствами.
1.2. Преимущество Arduino!
Пользователь современного компьютера не задумывается о функционировании отдельных частей ПК. Он просто запускает нужные программы и работает с ними. Точно так же и Arduino позволяет пользователю сосредоточиться на разработке проектов, а не на изучении устройства и принципов функционирования отдельных элементов. Нет надобности и в создании законченных плат и модулей. Разработчик может использовать готовые платы расширения или просто напрямую подключить к Arduino необходимые элементы. Все остальные усилия будут направлены на разработку и отладку управляющей программы на языке высокого уровня. В итоге доступ к разработке микропроцессорных устройств получили не только профессионалы, но и просто любители что-то сделать своими руками. Наличие готовых модулей и библиотек программ позволяет непрофессионалам в электронике создавать готовые работающие устройства для решения своих задач. А варианты использования Arduino ограничены только возможностями микроконтроллера и имеющегося варианта платы, ну и, конечно, фантазией разработчика.
1.3. История создания Arduino
В 2002 году программист Массимо Банци (Massimo Banzi) был принят на работу в должности доцента в Институт проектирования взаимодействий города Ивреа (Interaction Design Institute Ivrea, IDII) для продвижения новых способов разработки интерактивных проектов. Однако крошечный бюджет и ограниченное время доступа к лабораторной базе сводили его усилия практически нет. В проектах Банци использовал устройство BASIC Stamp, разработанное калифорнийской компанией Parallax. Stamp представлял собой небольшую печатную плату с размещенными на ней источником питания, микроконтроллером, памятью и портами ввода/вывода для соединения с различной аппаратурой. Программирование микроконтроллера осуществлялось на языке BASIC. BASIC Stamp имел две проблемы: недостаток вычислительной мощности и достаточно высокую цену – плата с основными компонентами стоила около 100 долларов. И команда Банци решила самостоятельно создать плату, которая удовлетворяла бы всем их потребностям. Банци и его сотрудники поставили себе целью создать устройство, представляющее собой простую, открытую и легкодоступную платформу для разработки, с ценой – не более 30 долларов – приемлемой для студенческого и молодёжного кармана. Хотели они и выделить чем-то свое устройство на фоне прочих. Поэтому в противовес другим производителям, экономящим на количестве выводов печатной платы, они решили добавить их как можно больше, а также сделали свою плату синей, в отличие от обычных зеленых плат. Продукт, который создала команда, состоял из дешевых и доступных компонентов – например, базировался он на микроконтроллере ATmega328. Но главная задача состояла в том, чтобы гарантировать работу устройства по принципу plug-and- play, – чтобы пользователь, достав плату из коробки и подключив к компьютеру, мог немедленно приступить к работе.
Первый прототип платы был сделан в 2005 году, она имела простейший дизайн и еще не называлась Arduino. Чуть позже Массимо Банци придумал назвать ее так – по имени принадлежащего ему бара, расположенного в городе Ивреа. Бренд «Arduino» без какой – либо рекламы и привлечения средств маркетинга быстро приобрел высокую популярность в Интернете. С начала распространения продано более 250 тыс. комплектов Arduino, и это не учитывая множества клонов. В мире насчитывается более двухсот дистрибьюторов продукции Arduino – от крупных фирм, таких как SparkFun Electronics, до мелких компаний, работающих на местный рынок. На сегодня платформа Arduino представлена не одной платой, а целым их семейством. В дополнение к оригинальному проекту, называемому Arduino Uno, новые модели, имеющие на плате более мощные средства, носят название Arduino Mega, компактные модели – Arduino Nano, платы в водонепроницаемом корпусе – LilyPad Arduino, а новая плата с 32-разрядным процессором Cortex-M3 ARM – Arduino Due.
Своим успехом проект Arduino обязан существовавшим до него языку Processing и платформе Wiring. От этих проектов Arduino унаследовал одну сильную черту – удобную для пользователя среду разработки. До появления Arduino программирование микроконтроллеров требовало сложного и рутинного предварительного обучения. А с Arduino даже те, кто не имеет опыта работы с электронными устройствами, теперь могут приобщиться к миру электроники. Начинающим уже не приходится тратить много времени на изучение сопутствующего материала – они могут быстро разработать прототип, который будет полноценно рабочим.
По словам Массимо Банци, пятьдесят лет назад, чтобы написать программное обеспечение требовалась команда людей в белых халатах, которые знали все об электронных лампах. Теперь же, с появлением Arduino, множество людей получили возможность создавать электронные устройства самостоятельно. Как утверждает один из членов команды Банци, инженер по телекоммуникациям Дэвид Куартилльз, философия Arduino как раз и состоит в том, что желающий разобраться в электронике, может сразу же приступить к ее изучению, вместо того чтобы сначала учиться алгебре.
Глава 2. ОБЗОР КОНТРОЛЛЕРОВ СЕМЕЙСТВА ARDUINO
В главе 2 приведены обзор контроллеров семейства Аrduino, рисунки и технические параметры.
Основные версии плат Arduino представлены следующими моделями:
· Due – плата на базе 32-битного ARM микропроцессора Cortex-M3 ARM SAM3U4E;
· Leonardo – плата на микроконтроллере ATmega32U4;
· Uno – самая популярная версия базовой платформы Arduino;
· Duemilanove – плата на микроконтроллере ATmega168 или ATmega328;
· Diecimila – версия базовой платформы Arduino USB;
· Nano – компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;
· Mega ADK – версия платы Mega 2560 с поддержкой интерфейса USB-host для связи с телефонами на Android и другими устройствами с интерфейсом USB;
· Mega2560 – плата на базе микроконтроллера ATmega2560 с использованием чипа ATMega8U2 для последовательного соединения по USB-порту;
· Mega – версия серии Mega на базе микроконтроллера ATmega1280;
· Arduino BT – платформа с модулем Bluetooth для беспроводной связи и программирования;
· LilyPad – платформа, разработанная для переноски, может зашиваться в ткань;
· Fio – платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;
· Mini0 – самая маленькая платформа Arduino;
· Pro – платформа, разработанная для опытных пользователей, может являться частью большего проекта;
· Pro Mini – как и платформа Pro, разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.
2.1. Arduino Pro Mini
Arduino Pro Mini (рис. 2.1) построена на микроконтроллере ATmega168.
Рис. 2.1. Плата Arduino Pro Mini
Характеристики платы Arduino Pro Mini представлены в табл. 2.1.
Arduino Pro Mini может получать питание: через кабель FTDI, или от платы – конвертера, или от регулируемого источника питания 3,3 В или 5 В (зависит от модели платформы) через вывод VCC, или от нерегулируемого источника через вывод RAW.
Выводы питания:
· RAW – для подключения нерегулируемого напряжения;
· VCC – для подключения регулируемых 3,3 В или 5 В;
· GND – выводы заземления.
2.2. Arduino Nano
Платформа Nano (рис. 2.2), построенная на микроконтроллере ATmega 328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах.
Рис. 2.2. Плата Arduino Nano
Рис. 2.2. Плата Arduino Nano
Arduino Nano может получать питание через подключение USB Mini-B, или от нерегулируемого 6 – 20 В (вывод 30) или регулируемого 5В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.
Характеристики платы Arduino Nano представлены в табл. 2.2.
2.3. Arduino Uno
Контроллер Arduino Uno (рис. 2.3) построен на микроконтроллере ATmega328. В отличие от всех предыдущих плат, использовавших для связи по USB микроконтроллер FTDI USB, новый Arduino Uno использует микроконтроллер ATmega8U2.
Рис. 2.3. Плата Arduino Uno
Характеристики платы Arduino Uno представлены в табл. 2.3.
2.4. Arduino Mega2560
Arduino Mega (рис. 2.4) построена на микроконтроллере ATmega2560.
Рис. 2.4. Плата Arduino Mega2560
Характеристики платы Arduino Mega2560 представлены в табл. 2.4.
Глава 3. ЗАГРУЗКА ПРОГРАММЫ И ДРАЙВЕРА АРДУИНО
3.1. Загрузка программы Arduino IDE
Arduino – это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Платформа стала популярной во всем мире благодаря удобству языка программирования, а также открытой архитектуре и программному коду. Программируется через USB без использования программаторов.
Сине-зеленая плата это и есть Arduino. По своей сути Arduino это маленький персональный компьютер, который позволяет выйти за рамки виртуального мира в физический и взаимодействовать с ним. Устройства на базе Arduino могут получать информацию об окружающей среде посредством различных датчиков, а также могут управлять различными исполнительными устройствами.
Проекты устройств, основанные на Arduino, могут работать самостоятельно, либо взаимодействовать с программным обеспечением компьютера.
Рассмотрим самые популярные версии Arduino (Nano, UNO, Mega,) используемые в работе.
Arduino UNO – плата разработчиков, одна из нескольких (Mega, Nano и пр.), основана на микроконтроллере ATmega328. Он популярен, главным образом, из – за обширной сети поддержки и универсальности.
У Arduino UNO есть 14 цифровых портов ввода – вывода, шесть из которых умеют выдавать ШИМ. Еще есть 6 входящих аналоговых портов. Есть генератор 16 мГц, USB порт, разъем питания, кнопка сброса, и разъем ICSP.
Для того, чтобы начать работу с Arduino вам необходимо зайти на сайт arduino.cc и скачать программу Arduino IDE из раздела Download ver 1.8.19, совершенно бесплатно.
Рис.3.1. Операционной системы компьютеров
Предварительно уточните, тип операционной системы на вашем компьютере. С помощью любого браузера, внести следующее в адресную сроку:
Подсоедините Плату Arduino Uno к компьютеру используйте USB кабель, входящий в комплект набора, соедините плату Arduino с одним из USB 2.0 разъемов вашего компьютера.
3.2. Установка драйверов
В зависимости от того, какая операционная система установлена на вашем компьютере, вам необходимо выбрать способ установки драйвера.
Ниже даны ссылки и методы установки для платы Arduino Uno.
*Вы должны очень внимательно отнестись к выбору и установке драйверов.
Установка для Windows
Пройдите по ссылке ниже для доступа к инструкциям по установке на компьютер с операционной системой Windows.
http://arduino.cc/en/Guide/Windows
Установка для Macintosh OS X
Для Mac OS не требуется устанавливать дополнительные драйвера, но вы можете посетить страничку «быстрый старт».
http://arduino.cc/en/Guide/MacOSX
Пройдите по ссылке ниже для доступа к инструкциям по установке на компьютер с операционной системой Linux.
http://www.arduino.cc/playground/Learning/Linux
Интерфейс программы Arduino IDE:
Так выглядит среда программирования Arduino IDE, запущенная на вашем компьютере. Мы начинаем знакомство с её интерфейсом. Сейчас мы не будем касаться кода, а расскажем лишь о назначении функциональных клавиш в меню программы.
Ниже показана самые важные команды, используемые в новых проектах, таких как проверка, загрузка, новый, открыть, сохранить, сериал монитор порт, имя скетча, опасть кода и область сообщений. Скетчи новых проектов проверяется, если правильно загружается. После этого схема должен заработать. Если скетч и схема неправильно, то неисправность устраняется. После всего схема должен заработать.
Рис.3.2. Среда программирования Arduino IDE
3.3. Графический интерфейс пользователя и самые важные команды
Рис 3.3. Графический интерфейс пользователя
Рис 3.4. Три самые важные команды в меню Arduino IDE