Как начать работу с Arduino Uno: полное руководство для начинающих
Название Arduino является в настоящее время этаким «модным» словом для большинства радиолюбителей и всех, кто мало-мальски знаком с электроникой, поскольку данная платформа позволяет создавать электронные устройства быстро и дешево. Наличие обширного онлайн сообщества данной платформы делает ее идеальным выбором для тех, кто только начал свое знакомство с электроникой и программированием. Даже людям, не имеющим технического образования (а именно для таких она и была первоначально создана), освоить Arduino будет достаточно просто.
Почему так актуальна эта платформа? Как начать работу с ней? Как она может улучшить ваш стиль жизни? Все эти вопросы будут рассмотрены в данной статье. Для этого мы познакомимся с установкой среды Arduino IDE на ваш компьютер и загрузим в нее небольшую программу, реализующую мигание светодиода, который мы подключим к Arduino с использованием макетной платы.
Что такое Arduino IDE?
Arduino IDE — это приложение, которое позволяет составлять программы в удобном текстовом редакторе, компилировать их в машинный код, и загружать на все версии Arduino. Приложение является полностью бесплатным, а скачать его можно на официальном сайте сообщества Arduino:
Arduino IDE можно установить на любую операционную систему: Windows, Linux, Mac OS X. Для скачивания нужной версии необходимо выбрать её в правой колонке, и на следующей форме нажать кнопку «JUST DOWNLOAD».
Новые возможности редактора кода
Отличный поиск по странице вместе с выделением одинаковых фрагментов текста:
Достаточно навести указатель мыши на что-нибудь и быстренько высветится искомое значение:
Также хорошо работает нахождение первичного определения ( Ctrl + ЛКМ), что невероятно важно для понимания происходящего ( чтобы работало нужно выбрать плату! ):
Подсказки при наборе также очень важны и нужны (если не высвечивает нажать Ctrl + Пробел, а для ввода найденного нажать Enter):
Как установить Arduino IDE на Windows?
Программное обеспечение Arduino IDE доступно для всех операционных систем, таких как MAC OS, Windows, Linux. Кроме того, он также может работать на платформе Java. Ниже рассмотрим последовательные действия для загрузки и установки Arduino IDE на компьютер под управлением Windows.
Загрузка Arduino IDE.
Arduino IDE можно скачать с официально сайта Arduino. Загружаем правильную и последнюю версию программного обеспечения Ардуино IDE в соответствии с ОС вашего ПК. В нашем случае мы скачиваем Arduino IDE для Windows. К сожалению, сайт не русифицирован, и надписи «Скачать ардуино ide» вы не увидите, поэтому для незнающих английского языка, ниже привожу скриншоты страниц сайта с описанием необходимых действий.
При переходе по ссылке выше открывается сайт как на скриншоте ниже.
Страница оф. сайта Ардуино
Спускаемся ниже и находим раздел «Download the Arduino IDE». В этом же разделе видим последнюю версию, на момент написания статьи это версия Arduino IDE 1.8.12. Кликаем по надписи «Windows Installer, for Windows XP and up».
Страница оф. сайта Ардуино
Дальше попадаем на страничку как в скриншоте ниже, и жмем кнопку «JUST DOWNLOAD».
Страница ссылки для скачивания IDE
Дожидаемся окончания скачивания и приступаем к установке программного обеспечения.
Установка Arduino IDE.
После загрузки программного обеспечения IDE, запустите скаченный файл. Далее жмем кнопку «I Agree».
Первое окно установки Ардуино IDE
Затем в следующем окне убеждаемся, что все галочки установлены. Галочки должны стоять по умолчанию, если их нет, установите и жмите кнопку «Next».
Второе окно установки Ардуино IDE
В следующем окошке видим адрес установки программы. Оставляем как есть и кликаем на «Instal».
Третье окно установки Ардуино IDE
В процессе установки, возможно будут запросы от Windows такие как на скриншотах ниже. Необходимо поставить галочку «Всегда доверять программному обеспечению «Adafruit Industries»» и нажать «Установить».
Окно запроса Окно запроса
Дожидаемся окончания установки, жмем «Close».
Окно окончания установки Ардуино IDE
Русификация Ардуино IDE.
Если все сделали правильно, на рабочем столе вашего ПК должен появиться ярлык . Кликаем по этому ярлыку и запускаем программу. По умолчанию программа должна запуститься на языке, который по умолчанию установлен на вашем компьютере. В нашем случае на русском. Но если этого не произошло, переходим во вкладку «File», во всплывающем меню находим «Preferences» и кликаем.
Окно русификации Arduino IDE
Далее находим раздел «Editor Language», жмем рядом в окошко, выбираем русский язык, кликаем «OK».
Окно русификации Arduino IDE
Закрываем Ардуино IDE и запускаем снова.
Что такое симулятор Arduino и для чего он нужен?
Симулятор Arduino-это программное обеспечение, которое позволит вам разрабатывать электронные схемы на цифровых платформах, где у вас будет возможность изучить все основные принципы и проектирование этих цепей без воздействия реального оборудования.
Платформа, которая научит новичков в мире электроники начать ремонт устройства, не затрагивая его в реальной жизни.
Это очень полное программное обеспечение, которое в настоящее время имеет большое количество инструментов, доступных для его пользователей, таких как компоненты, соединительные платы, дисплеи, двигатели, и многие другие.
Среди других возможностей, предлагаемых этой программой,-реализация электрических схем , а также возможность изменять цвета кабелей или окончательный дизайн PBC . Таким образом, являясь одним из наиболее полных инструментов сегодняшнего дня и идеальным для тех людей, которые начинают в этой области и еще не готовы выйти в физический мир.
Особенности программирования на платформе Arduino
Программный код для Arduino принято называть скетчами (англ. sketches). У скетчей есть два основных метода: setup() и loop() . Первый метод автоматически вызывается после включения/сброса микроконтроллера. В нём происходит инициализация портов и различных модулей, систем. Метод loop() вызывается в бесконечном цикле на протяжении всей работы микроконтроллера.
Порты — неотъемлемая часть любого микроконтроллера. Через них происходит взаимодействие микроконтроллера с внешними устройствами. С программной стороны порты называются пинами. Любой пин может работать в режиме входа (для дальнейшего считывания напряжения с него) или в режиме выхода (для дальнейшей установки напряжения на нём).
Любой пин работает с двумя логическими состояниями: LOW и HIGH , что эквивалентно логическому нулю и единице соответственно. У некоторых портов есть встроенный АЦП, что позволяет считывать аналоговый сигнал со входа (например, значение переменного резистора). Также некоторые пины могут работать в режиме ШИМ (англ. PWM), что позволяет устанавливать аналоговое напряжение на выходе. Обычно функциональные возможности пина указываются на маркировке самой платы.
FLProg — система визуального программирования для Arduino
Начав статью с обзора существующих средств разработки программ для нашедших широкое применение в профессиональных и любительских разработках микроконтроллерных модулей Arduino, автор подробно рассказывает об одной из них — FLProg, предназначенной для пользователей, специализирующихся в электротехнике и электронике, но не владеющих языками программирования. Все предписанные программе действия изображают в этой системе наглядными и привычными для таких специалистов условными графическими обозначениями.
Официальную среду разработки программ для модулей Arduino предлагают пользователям под названием Arduino IDE (рис. 1).
Программирование в ней происходит на языке ProcesSing/Wiring — диалекте языка С (скорее, C++). Среда представляет собой, по сути, обычный текстовый редактор с возможностью трансляции текста программы в машинные коды и их загрузки в микроконтроллер модуля. Альтернатива Arduino IDE — предназначенная для микроконтроллеров семейства AVR интегрированная среда AVR Studio (рис. 2). Она служит для разработки и отладки программ на языке ассемблера, но к ней можно подключить и компилятор языка С. В 2006 г. она сменила название на Atmel Studio.
С появлением визуальных языков программирования на них охотно переключились не только радиолюбители, но и многие профессионалы. Существующие средства разработки этого типа условно можно разделить на три вида:
- Средства расширенного Форматирования обычного исходного текста разрабатываемой программы. Её по-прежнему пишут на языке С, но в более наглядном формате. Сейчас таких средств очень много. Самые яркие примеры: Scratch, S4A, Ardublock. Они хороши для начального обучения программированию на языке С, поскольку отлично показывают структуру и синтаксис этого языка. Но большие серьезные программы получаются громоздкими. На рис. 3. показан пример программы на языке Scratch.
Рассматриваемая далее программа FLProg основана на языках программирования FBD и LAD.
FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Программа представляет собой список цепей, заполняемый последовательно сверху вниз. Цепи образуют из библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггер, таймер, счётчик, блок обработки аналогового сигнала, математическая операция и т. д).
Каждую цепь составляют из отдельных блоков, подключая на экране компьютера к выходу каждого блока вход следующего. Внутри цепи программа выполняет блоки строго в порядке их соединения. Результат, полученный на выходе последнего блока цепи, программа записывает во внутреннюю переменную или подаёт на выход контроллера. Пример визуального представления программы на языке FBD показан на рис. 7.
LAD (Ladder Diagram) — язык релейной (лестничной) логики, известный также под названиями LD и РКС.
Синтаксис этого языка удобен для описания логических узлов, выполненных на релейной технике. Язык ориентирован на специалистов по автоматике, работающих на промышленных предприятиях. Он обеспечивает наглядное отображение логики работы контроллера, облегчающее не только собственно программирование и ввод системы в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженеру-электрику вид, представляя логические операции в виде электрических цепей с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в такой цепи соответствует результату логической операции (ток течёт — истина, ток не течёт — ложь). Пример схемы на языке LAD представлен на рис. 8.
Основные элементы языка LAD — контакты, которые можно уподобить контактным парам реле или кнопок. Контактная пара отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различают нормально замкнутые и нормально разомкнутые контактные элементы. Их можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Такой подход оказался очень удобным для лёгкого вхождения инженеров-электриков в разработку систем автоматики. Разрабатывая проекты установок, они могут легко привязать их функционирование к алгоритмам работы контроллера. При обслуживании установок на объекте очень важно, чтобы обслуживающий персонал мог легко проверить работу системы, найти и устранить проблему, не вызывая при этом по каждому пустяку программиста из «центра». Сегодня с помощью подобных средств разработки создают почти все системы промышленной автоматики.
Построенная на этих представлениях система разработки программ FLProg работает с микроконтроллерными модулями Arduino. Эти модули очень удобны для быстрой разработки и отладки устройств, что важно не только радиолюбителям, но и весьма полезно, например, в школьных кружках и в учебных лабораториях. Одно из преимуществ — не требуется программатор. Достаточно подключить модуль Arduino к компьютеру и загрузить подготовленную программу непосредственно из среды разработки.
В настоящее время существует богатый выбор как различных вариантов микроконтроллерных модулей Arduino (рис. 9), так и дополняющих их модулей, например, датчиков и исполнительных устройств. Кроме того, в Интернете (например, на сайте https://robocraft.ru/) можно найти огромное число готовых проектов на основе этих модулей и адаптировать их под свои нужды.
В настоящее время система FLProg работает со следующими версиями модулей: Arduino Diecimila, Arduino Duemila-nove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Micro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro (ATmega168), Arduino Pro (ATmega328), Arduino UNO. Недавно в списке появилась и плата Intel Galileo gen2. В дальнейшем предполагается пополнение и этого списка, возможно, и добавление модулей, основанных на микроконтроллерах STM.
Для создания FLProg был использован опыт программистов фирм Siemens, ABB, Schneider Electric и наработки в их средах программирования. При этом был несколько расширен классический функционал языков для работы с промышленными контроллерами путём добавления функциональных блоков, отвечающих за работу с внешними устройствами. Программа работает на компьютерах под управлением ОС Windows и Linux.
Пользовательский интерфейс FLProg устроен так, что проект представляет собой набор виртуальных плат, на каждой из которых собран законченный модуль разрабатываемой системы. Каждая плата имеет наименование и снабжена комментариями. Для экономии места в рабочей зоне её можно свернуть, если работа над ней закончена, а при необходимости вновь развернуть и внести коррективы.
Красный индикатор у наименования платы на рис. 10 указывает на то, что в её схеме обнаружены ошибки. После исправления ошибок индикатор станет зелёным. Стрелка рядом с комментарием предназначена для свёртки изображения.
Правое окно рабочей области (рис. 11) отведено для библиотеки элементов. Добавить компонент в проект можно простым перетаскиванием, а двойной щелчок покажет информацию об элементе программы. Перечень блоков, предусмотренных в программе, их описание и помощь по работе с программой можно найти на интернет-странице [1]. На интернет-странице [2] имеется перечень периферийного оборудования, поддерживаемого программой. Эти списки постоянно пополняются.
По мере развития программы планируется организация обмена информацией по Bluetooth, радиоканалу и интерфейсу RS-485, работа с трехосевым гироскопом, люксметром и другими датчиками. В дальнейших планах есть разработка SCADA-системы для доступа к системам, разработанным с помощью среды FLProg, с персонального компьютера или мобильного устройства.
Разработанную «принципиальную схему» FLProg переводит на язык Processing/Wiring. По завершении компиляции автоматически открывается программа Arduino IDE с загруженным скетчем проекта. В Arduino IDE необходимо указать COM-порт компьютера, к которому подключён микроконтроллерный модуль, выбрать тип модуля и загрузить программу в его микроконтроллер.
Среду программирования FLProg можно адаптировать к программируемым логическим контроллерам, отличающимся от модулей Arduino, что позволит применять для работы с ними российское программное обеспечение.
ЛИТЕРАТУРА
- Создание Help-а для программы FLProg. — URL https://flprogwiki.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5Help-%DO%BO%D0%B4%D0%BB%D1%8F_%D0%8F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8BFLProg (23.06 15).
- Применяемое в проекте оборудование. — URL https://flprog.ru/FLProg/pid218088913/vdi194000369 (23.06 15).
Автор: С. ГЛУШЕНКО, г. Москва
Что такое Arduino IDE?
Arduino IDE — программный продукт компании Arduino, занимающейся разработкой и производством одноименных плат разнообразных моделей. Все выпускающиеся компанией платы в основном служат для обучения программированию микроконтроллеров, но могут использоваться и для создания всевозможных электронных приборов. Чтобы плата могла выполнять те или иные функции, она должна быть сначала запрограммирована. Именно для этого и предназначена программа Arduino IDE.
Работа с Arduino IDE практически ничем не отличается от работы в любой другой среде разработки программного обеспечения за исключением того, что создаваемые программы выполняются не на компьютере, а на специальной плате:
- Создаваемый пользователем код программы компилируется в двоичный файл-прошивку (скетч).
- Путем вызова соответствующей функции компилятора прошивка переносится (записывается) на плату, подключенную к компьютеру через USB-интерфейс (или другой — зависит от платы).
- Загруженная на плату микропрограмма сразу же начинает работать — процесс программирования на этом заканчивается.
Программа Arduino IDE самостоятельно инсталлирует на компьютер все необходимые драйверы, определяет модель подключенной к компьютеру платы, устанавливает с ней соединение для передачи/чтения информации, т.е. пользователю ничего не нужно настраивать для начала программирования и последующего переноса микропрограммы.
Основные проблемы в Windows 10
- Arduino IDE (Windows 10) вылетает или перестает работать при запуске программы
Бывает ситуация, когда Arduino IDE (версия 1.8.12) вылетает при запуске. При запуске arduino_debug.exe получаем это сообщение об ошибке.
C:Program Files (x86)Arduino>arduino_debug.exe Set log4j store directory C:UsersvolkeAppDataLocalArduino15 Loading configuration… Initializing packages… java.lang.NullPointerException at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:134) at processing.app.BaseNoGui.initPackages(BaseNoGui.java:483) at processing.app.Base.(Base.java:273) at processing.app.Base.main(Base.java:150) C:Program Files (x86)Arduino>
Удаление файлов конфигурации package_index.json и package_esp32_index.json ничего не дает.
Из вариантов решения можно попробовать следующее.
После установки бета-версии (arduino beta1.9-BUILD-119) у многих не возникает никаких проблем.
Также многим помогает Сборка Nightly (ссылка).
Таким образом мы приходим к выводу, что в случае вылета программы в Windows 10 помогает использование последней бета-версии Arduino IDE. Даже для плат ESP8266 она работает нормально.
Еще одной причиной проблемы может быть блокировка со стороны антивируса. Это тоже хорошо бы проверить.