Программируем Ардуино “по воздуху” через ESP-link
У меня дома трудится масса устройств умного дома. Большая часть из них использует недорогие платы Arduino Pro Mini или микроконтроллеры Atmega328 с прошитым ардуиновским бутлоадером. Иногда, с приходом новых идей, требуется перепрограммирования всех этих устройств. Монтаж-демонтаж контроллера, встроенного в какую нибудь люстру то еще удовольствие. Скакать под потолком с ноутбуком тоже удовольствие ниже среднего. В последних сборках я устанавливаю микроконтроллеры на съемных панельках, что позволяет вынуть его, запрограммировать и вставить обратно.
Но как хотелось бы вдумчиво поотлаживать свои устройства прямо на месте. Думал для этих целей применить Serial Bluetooth адаптеры. Но недавно один хороший человек на форуме esp8266.ru с ником dao89 надоумил воспользоваться «народным! WiFi модулем ESP8266 и прошивкой ESP-link.
Возможности проекта ESP-link
- Прозрачный шлюз между Wi-Fi и последовательным портом для отладки и обмена данными
- Программирования микроконтроллеров AVR/Arduino модулей ESP8266, LPC800 и других с последовательным интерфейсом по «воздуху» через WiFi.
- Встроенные протокол STK500V1 для загрузки файла с прошивкой AVR через встроенный WEB-сервер.
- Отправка HTTP REST запросов через интернет
- MQTT клиент для связи микроконтроллера с сервисами
Установка ESP-link
По ссылке качаем последнюю версию ESP-link. Я выбрал стабильную версию 2.1.7. Архив прошивки содержит четыре бинарных файла boot_v1.4(b1).bin, blank.bin. user1.bin и user2.bin и два скрипта на языке Shell для прошивки через порт и через WiFi. Я программирую ESP8266 под Windows с использованием утилиты XTCOM (подробнее описано мной в этой статье).
Для модулей с объемом памяти 512Кбайт
- boot_v1.4\(b1\).bin загружаем по адресу 0x0000
- user1.bin — 0x1000
- blank.bin 0x7E000
Для модулей с объемом памяти 4Мбайт
- boot_v1.4\(b1\).bin загружаем по адресу 0x0000
- user1.bin — 0x1000
- blank.bin 0x3FE000
Файл user2.bin служит для прошивки ESP «по воздуху» и в данный момент не используется
Теперь можно перейти к настройке модуля. Подключение к нему стандартное. Пока модуль «не прописан» в WiFi сети он работает как открытая точка доступа с именем типа ESP_012ABC (на некоторых модулях ai-thinker-012ABC) . После подключения нужно зайти через браузер на http://192.168.4.1 на WEB-страницу модуля.
На этой странице можно настроить GPIO модуля для подключения к RESET микроконтроллера, а также подключения дополнительных светодиодов индикации. Есть выбор «предустановленных» конфигураций портов в зависимости от типа модуля и назначения.
На странице WiFi можно настроить подключение к беспроводной сети, а также настроить статический IP-шник модуля, что я и делаю, так как постоянно подключаться к ESP как к точке доступа мне не удобно.
Следующая в меню страничка — это консоль микроконтроллера, вернее его последовательного порта. Среди настроек, очистка окна и настройка скорости. Подключив RX/TX порта микроконтроллера к TX/RX ESP-шки и установив правильную скорость, сразу видим в реальном времени отладочную информацию, выдаваемую контроллером в этот порт. Настройка скорости — это очень важная функция, о которой расскажу позже.
Настройку MQTT и REST я пока пропускаю, так как моя цель не сбор информации, а удаленная отладка и прошивка микроконтроллера. Возможно об этом будет одна из моих следующих статей
Последняя страничка посвящается любителям копаться в системных журналах. Туда выводится отладочная информация по работе ESP-link
Ну вот, теперь у меня есть настроенный ESP-link. Я к нему подключил Arduino Pro Mini. Ножку DTR посадил на GPIO13 ESP-шки (настраивается на первом экране)
Настройка виртуального COM-порта в Windows
Теперь можно настраивать виртуальные COM-порт на компьютере. Для начала проверяю, что наш порт доступен по сети. Для этого захожу по TELNET-ом на 23-й или 2323 порт нашего ESP-link. (Так как TELNETа в Windows 7 нет, то использую для этого установленную у меня программу PUTTY. Данные, которые я видел в консоли через WEB-интерфейс вижу и в TELNET-клиенте.
Осталось настроить виртуальный COM-порт на моем компьютере и связать его с ESP-link. Для этого устанавливаю Tibbo Device Server Toolkit под Widows. Запускаю VSP-manager и настраиваю виртуальный порт
Все. Виртуальный COM10 связанный с моим ESP-link по 23 порту настроен.
Теперь, открывая его в среде Arduino IDE я могу работать с удаленным микроконтроллером через ESP-link. Контроль состояния виртуального порта можно посмотреть в мониторе, который TIBBO вывешивает в трее
Нюанс по скорости прошивки
Небольшой нюанс по скорости. Для прошивки нужно выставлять скорость в консоли ESP-link, прописанную в c:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt для конкретного типа контроллера. В моем файле Arduino Pro Mini это 115200, для того же контроллера на Atmega168 — 19200. Мой перешитый на OPTIBOOT контроллер — 57600. Для программирования мне потребовалось установить эту скорость в настройках «по умолчанию» виртуального COM-порта
Эту же скорость нужно установить в консоли микроконтроллера ESP-link
После этих манипуляций удаленный AVR контроллер программируется так же как и подключенный к локальному порту USB-TTL конвертера. Разве что немного медленнее и не каждый раз, если связь WiFi неустойчивая.
При переходе в режим отладки требуется переключить скорость консоли в нужную (какая установлена в Serial.begin()
Подводя итоги
Повозившись с настройками я получил метод удаленной отладки и программирования любых Ардуино-контроллеров и AVR-с загрузчиком по последовательному порту (и наверняка многих других МК). Более того, я получил удаленную консоль для любых последовательных интерфейсов, например, от различных GPS и GSM модулей. Теперь осталось собрать ESP-шку в какой нибудь корпус, запитать от аккумулятора (мало ли у меня где-то под потолком будут проблемы с питанием) и наделать разъемов для быстрого подключения к различным контроллерам.
К недостаткам данного метода можно отнести его достаточно сложную настройку, некоторую тормознутость при прошивке и при работе консоли, а так же необходимость установки скорости прошивки/отладки (что не требуется при работе в том же Arduino IDE по локальным портам).
В ближайшее время я планирую освоить прошивку ESP8266 через другую ESP8266 (для модулей с 512Кбайт флэша это вполне актуально) и подключение Ардуино к MQTT
со своего сайта.
Мастер ARDUINO Light. Образовательный конструктор с книгой Программируем Arduino
МАСТЕР ARDUINO Light – это образовательный электронный конструктор серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino UNO R3.
В состав конструктора входят все необходимые для старта элементы. С конструктором МАСТЕР Arduino Вы освоите работу различных датчиков и исполнительных устройств, а также принципы их взаимодействия с микроконтроллером Arduino.
Также с образовательным электронным конструктором МАСТЕР Arduino Light Вы освоите в теории и на практике основы программирования, конструирования электронных устройств и робототехники. После чего станете настоящим Знатоком Ардуино!
Вы погрузитесь в Новый увлекательный Мир планеты Arduino! Вам доступно более 450 интереснейших проектов и видео-уроков на сайте www.
Рекомендуемая книга: Уилли Соммер. «Программирование микроконтроллерных плат Arduino/Freeduino».
В разделе “УРОКИ И ПРОЕКТЫ ARDUINO” представлены эксперименты с использованием модулей, шилдов, RFID, LCD 1602, TFT дисплеев, сервоприводов SG90, GSM модулей SIM800, SIM900, GPS модулей VK-16E и др.
Конструктор предназначен для школьников, студентов и их продвинутых родителей.
Состав набора:
Arduino UNO R3 | 1 |
Кабель USB | 1 |
Гибкие проводники (набор MM и FF) | 1 |
Датчик температуры DS18B20 | 1 |
Диод 1N4148 | 5 |
Кнопка | 5 |
Макетная плата для монтажа без пайки SYB-120 | 1 |
Потенциометр 10 кОм | 2 |
Пьезоизлучатель | 1 |
Разъём-гребёнка 40 выводов | 1 |
Резистор 1,5 кОм | 10 |
Резистор 10 кОм | 10 |
Резистор 220 Ом | 10 |
Резистор 4,7 кОм | 10 |
Резистор 68 кОм | 10 |
Светодиод RGB | 1 |
Светодиод жёлтый | 5 |
Светодиод зелёный | 5 |
Светодиод красный | 5 |
Светодиод синий | 5 |
Сервопривод | 1 |
Транзистор ВС548С | 5 |
Ультразвуковой датчик HC-SR04 | 1 |
Фоторезистор | 2 |
КНИГА
Программируем Arduino.Впервые на русском языке выходит легендарный бестселлер Саймона Монка, который много лет занимает первые строчки в рейтингах Amazon.
Хотите создать умный дом или запрограммировать робота? Нет ничего проще. Саймон Монк не только поможет разобраться с проволочками, контактами и датчиками, но и покажет как заставить все это хитросплетение проводов и плат делать то, что вам нужно.
Arduino — это не так сложно как кажется с первого взгляда. Вы сразу будете покорены открывающимися возможностями.
- Год: 2016
- Страниц: 176
- Обложка: Обл Ц
- Формат: 70х100/16
- Баркод: 9785496019569
- ISBN: 978-5-496-01956-9
Arduino PLC на BDF и LAD — Мир науки,техники,медицины и образования © первая научно-техническая коммерческая социальная сеть
В настоящее время в мире начался бум по использованию микроконтроллеров в различных самоделках и стартапах. Действительно, цены на микроконтроллеры упали, а возможности их постоянно растут. Да и наши друзья, китайцы, научились изготавливать периферию к ним, и продают её, к тому же, по смешным ценам. Но вот с программированием микроконтроллеров всё не так радужно…
С чего всё началось и как развивалось
С самого момента появления микропроцессоров развитие принципов работы с ними идет по пути роста абстракции. Первый этап представлял программирование непосредственно в машинных кодах. Программирование было сложным, долгим и требовало очень специфичного склада ума. Поэтому программистов было очень мало.
Но человек существо ленивое, а лень, как известно, двигатель прогресса. Придумали первый уровень абстракции – ассемблер. Писать программы стало проще и веселее. Количество программистов возросло. Но все равно ассемблер не очень сильно отличался от машинных кодов.
Поэтому появился следующий уровень абстракции. Языки высокого уровня. Основной целью этих языков была возможность объяснить машине, что от нее хотят, на языке максимально приближенном к человеческому. Это позволяло заниматься программированием людям с менее специфичным складом ума. Поэтому с развитием языков высокого уровня количество программистов росло, и соответственно росло количество полезных программ, которые они создавали.
Как дела обстоят сейчас
Конечно, для начала работы непосредственно с контроллером требуется определенная подготовка. То есть, необходимы программатор, настроенная среда для программирования на компьютере, ну и, естественно, знание языка программирования. Кроме того, требуется умение в работе с паяльником, разработке печатных плат, знания в электротехнике и электронике. Так что порог вхождения в область создания собственных устройств на микроконтроллерах остается высоким.
Кроме того, для такой работы требуется сочетание навыков, которые достаточно редко встречаются вместе. Программисты редко дружат с паяльником, а электронщики не часто являются программистами. Для программистов проблему решили созданием платы Arduino, которая позволяет собирать устройства без использования инструментов.
Рис.1 Различные платы Arduino
Для электронщиков и электриков все хуже. До последнего времени, для того, чтобы создать свое устройство с применением микроконтроллера, у них было два пути. Либо самим изучать язык программирования “С”, либо просить помощи у программиста. Оба пути не самые лучшие. Для того что бы стать программистом, необходим определенный склад ума, не всегда совместимый с опытом чтения электрических схем. А знакомого программиста может не оказаться под рукой.
В то же время, давно существуют среды программирования адаптированные под обычного инженера – электронщика, ну или просто электрика. Я имею в виду среды программирования промышленных контроллеров. ПЛК. Они позволяют создавать программное обеспечение для контроллеров на языках FBD и LAD. Собственно говоря, как таковыми языками они не являются. Это, скорее, графические среды для рисования принципиальных или логических схем.
FBD (Function Block Diagram)
– графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков.
Блок (элемент) – это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).
Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов.
К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения.
Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.
Ladder Diagram (LD, LAD, РКС)
– язык релейной (лестничной) логики.
Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании.
Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина – если ток течет; ложь – если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары – со значением переменной.
Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Такой подход оказался очень удобным для легкого вхождения в разработку систем АСУ инженеров-электриков и электронщиков. Разрабатывая проекты установок, они могли легко привязать работу этих установок к алгоритмам работы контроллера. В обслуживании этих установок на объекте также лучше, когда существующий обслуживающий персонал может легко проверить работу системы АСУ, найти проблему. И при этом нет необходимости вызывать по каждому пустяку программиста из «Центра». И это подход себя оправдал. На сегодняшний день почти все системы промышленной автоматики созданы с помощью таких средств разработки.
Такая среда разработки есть у Siemens, ABB, Schneider Electric… да и практически у всех производителей ПЛК. Казалось бы, идеальное решение для любителей самоделок. Но, как всегда есть «но». Все эти среды программирования привязаны к промышленным контроллерам определённого производителя. И цены на эти контроллеры мало вдохновляют. Очень редко какой семейный бюджет позволит приобрести контроллер ценой в несколько сот долларов.
Зато платы Arduino идеально подходят для самодельщиков и кулибиных, на которых держится мир. Но, опять «но». Программируются эти платы на языке C. Для большинства этих умнейших людей, язык С. это непостижимая азбука. Они могут придумать, нарисовать, собрать, отладить и запустить сложнейшие схемы, но If, For, Case, Void и т.п. – это не для них. Конечно, можно почитать инструкции в интернете, поиграться какое-то время, помигать светодиодом с помощью примера. Но для более серьезного применения необходимо детальное изучение языка. А зачем им это?
Они не собираются быть профессиональными программистами. У них другой путь. Они что-то придумали. Да, это проще и красивее собрать с помощью микроконтроллера, но становится для этого программистом, потратив месяцы на изучение языка? Нет, конечно. Собирают по старинке, попроще, конечно, но в своей области.
На основании всех этих выкладок и был создан проект FLProg. Основная идея проекта – совместить принципы промышленного программирования с дешевизной и удобством Arduino. Проект предлагает новый уровень абстракции с довольно смелым заявлением –
В результате получился инструмент, позволяющий создавать свои проекты на Arduino любому человеку, знакомому с электротехникой и электроникой, позволяющий создать свое изделие с использованием данных плат.
Проект состоит из двух частей.
Первая часть – это десктоп-приложение FLProg, представляющее собой графическую среду программирования плат Arduino.
Вторая, это интернет ресурсы по FLProg, с помощью которых члены сообщества пользователей программы могут пообщаться между собой, узнать последние новости проекта, скачать последнюю версию программы и найти необходимую информацию по работе с приложением.
Начнем по порядку
Программа FLProg позволяет создавать прошивки для плат Arduino с помощью графических языков FBD и LAD, которые являются стандартом в области программирования промышленных контроллеров. При создании программы яавтор постарался максимально использовать наработки программистов Siemens, ABB, Schneider Electric в их средах программирования.
Еще автор немного расширил классический функционал этих языков, добавив функциональные блоки, отвечающие за работу с внешними устройствами. Они являются «обертками» над библиотеками, предназначенными для работы с ними. Программа работает на компьютере под управлением OS Windows, Linux-32 и Linux-64
При создании нового проекта вам предложат выбрать язык программирования, на котором вы будете создавать проект, и контроллер, на котором этот проект будет реализован.
Вот список плат Arduino, поддерживаемых программой на сегодняшний день:
Arduino Diecimila
Arduino Duemilanove
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
Со временем, планируется поддержка плат основанных на контроллерах STM.
Проект в FLProg представляет собой набор плат, на каждой из которых собран законченный модуль общей схемы. Для удобства работы каждая плата имеет наименование и комментарии. Так же каждую плату можно свернуть (для экономии места в рабочей зоне, когда работа над ней закончена) и развернуть. Красный индикатор в наименовании платы указывает на то, что в схеме платы есть ошибки.
Вид окна программы в режиме языка FBD. |
Вид окна программы в режиме языка LAD. |
В правой части рабочей зоны расположена библиотека элементов. В схему элементы переносятся простым перетаскиванием. При двойном клике по элементу будет показана информация о нём.
Вот список блоков доступных на сегодняшний день.
FBD:
Базовые элементы [XOR] Специальные блоки [Scale] Триггеры [SR] Таймеры [Generator] Счетчики [Counter] Математика [SUM(+)] Сравнение [Comparator] Com –порт Send Переключатель [SWITCH] | Моторы ServoMotor Часы реального времени [Alarm] Дисплеи Дисплей на чипе НD44780 Строки Сложение строк Датчики [Ultrasonic HC-SR04] SD карта Запись переменной на SD карту Конвертация типов Преобразование строк Микросхемы расширений Расширитель выводов 74HC595 Операции с битами Шифратор Разное Матричная клавиатура EEPROM Запись в EEPROM Коммуникации SendVariableFromCommunication |
LAD:
Базовые блоки Контакт Специальные реле Двустабильное реле Алгебра SIN Аналоговые блоки Масштабирование CommPort Передача в ComPort Моторы Сервомотор Часы реального времени Получить данные | Дисплеи Дисплей на чипе HD44780 Строки Сложение строк Датчики Ультразвуковой дальномер HC-SR04 SD карта Запись переменной на SD карту Конвертирование типов Конвертация строк Микросхемы расширений Расширитель выводов 74HC595 Операции с битами Шифратор Разное Матричная клавиатура EEPROM Запись в EEPROM Коммуникации Блок отправки переменной через коммуникации |
В настоящее время ведется разработка функциональных блоков для работы с трехосевым гироскопом, люксометром, и другими датчиками и сенсорами. Также ведется работа над организацией обмена данными через , радиоканал, и Wifi. В дальнейших планах. разработка SCADA-системы для организации интерфейса систем, разработанных в программе FLProg на персональном компьютере или графических дисплеях.
Список периферийного оборудования, поддерживаемого программой, доступен на здесь
Датчики температуры и влажности DHT11, DHT21, DHT22. |
Для части оборудования в разделе на сайте присутствуют обзорные статьи, облегчающие понимание применения его в программе.
В верхней части рабочей зоны расположен список тэгов (переменных и входов выходов) (FBD) или установленного оборудования (LAD). Тэги или оборудование переносятся на схему простым перетаскиванием.
После завершения работы над проектом производится его компиляция. После компиляции автоматически откроется программа “Arduino 1.5.7” с загруженным скетчем вашего проекта. В программе “Arduino IDE 1.5.7” вам необходимо будет указать номер COM порта, к которому подключен ваш контроллер, выбрать его тип, и произвести заливку скетча в контроллер. Подробнее о программе “Arduino IDE 1.5.7” можно почитать на сайте Arduino.
Программируем м/к Atmega через Arduino
Программируем м/к Atmega через Arduino
Иногда на новый м/к необходимо прошить загрузчик ,или мы хотим использовать нестандартный микроконтроллер в своих поделках,а отдельного программатора у нас нет,то тут приходит на помощь плата arduino со специально загруженным скетчем.
Подключение микроконтроллеров к плате Arduino
Напомним расположение выводов SCK,MISO,MOSI на ардуинке:
У плат серии Mega выводы SCK,MISO,MOSI находятся на других портах: 50 -MISO, 51 -MOSI , 52 -SCK , 53 – reset у программируемого м/к .
Подключаем питание на соотвествующие выводы программируемого микроконтроллера GND и VCC к Arduina , а так же соотвественно выводы SCK,MISO,MOSI.Вывод м/к Reset необходимо подключить к 10 выводу(53 у Mega) По такой схеме подключаются все м/к Atmega для программирования или просто прошивки загрузчика.
Прошивка микроконтроллеров Atmega через плату arduino:
Если Вы уже подключили программируемый микроконтроллер к плате arduino ,то можем уже заняться прошивкой,но для этого необходимо запрограммировать плату arduino в режим программатора. Для этого выбираем скетч из примеров под названием ArduinoISP:
Загружаем данный скетч в плату arduino.
Выбираем программатор arduino as ISP в меню сервис в подменю программатор.Не забываем вернуть программатор на место,когда будем программировать снова платы arduino.
Выбираем в меню свой микроконтроллер:
Если Вы просто хотите загрузить в микроконтроллер загрузчик,то необходимо через меню сервис выбрать записать загрузчик,этим самым вы установите необходимые фьюзы.
Для чего нужен загрузчик ? Установка загрузчика дает возможность напрямую ,через последовательный порт прошивать микроконтроллер (только имеющие аппаратный последовательный порт).Например так прошиваются пустые ATMEGA328P,которые потом можно использовать вместо установленной штатно микросхемы на Arduino UNO и устанавливать далее на самодельные платы.
Далее пример заливки скетча на Attiny85:
Не пугайтесь – при прошивке возможно могут появится некоторые ошибки,но они никак не влияют на сам процесс программирования:
Далее,если мы прошиваем сам скетч (например у нас не стандартный микроконтроллер), то сейчас просто выбираем в меню файл загрузить с помощью программатора:
Обратите внимание,что прошивать необходимо именно через данный пункт меню,а не через стандартную кнопку “загрузить”.
Для проверки работоспособности прошьем скетч Blink из примеров,укажем номер вывода тот,на котором будет подключен светодиод.Если указать порт номер 2 и оставить подключенный проводок SCK,то увидим мигание светодиода на плате arduino на 13 ноге(не актуально для плат arduino Mega -там выводы SCK,MISO,MOSI находятся на других портах )
Прошивка микроконроллеров Atmega возможна и через дешевые программаторы USBasp без использования плат Arduino.Цена такого программатора всего 3 $ .Подробно тут.
Программирование Arduino с помощью VSCode | DMC, Inc.
Одним из основных направлений нашей деятельности в DMC является разработка встраиваемых систем, где мы помогаем клиентам воплотить их идеи в функциональные устройства.
Обычно эти проекты выполняются поэтапно, когда проектируется и строится начальный прототип. Затем этот прототип можно использовать для обеспечения финансирования дополнительных этапов проектирования, а также для обеспечения соответствия продукта всем требованиям.
Для этого типа быстрого проектирования и прототипирования мы часто используем платформу Arduino.
Что случилось с Arduino?
Arduino поставляется в различных конфигурациях, нацеленных на различные требования к связи Performance , IO и , поэтому обычно существует модель, которая уже была опробована и протестирована, которая будет работать для вашего конкретного приложения. Arduino также предоставляет бесплатные IDE и язык программирования в стиле C, который позволяет запускать собственный код в течение нескольких минут.
Однако, как только ваша программа начинает выходить за пределы нескольких сотен строк кода или более чем нескольких файлов, IDE может начать становиться громоздкой и сложной в работе, особенно если вы привыкли к более продвинутым IDE или текстовые редакторы.После того, как я много лет боролся с неприятностями, связанными с IDE Arduino, я, наконец, перешел на более удобный вариант: Visual Studio Code.
Что такое VSCode?
Visual Studio Code или VSCode – это легкий расширяемый текстовый редактор с открытым исходным кодом, который разработан и поддерживается Microsoft и работает на Linux и Mac в дополнение к Windows. Расширяемость позволяет вам писать расширения для настройки VSCode в соответствии с вашими потребностями и языком программирования.
Имея широкую базу пользователей, уже доступно множество бесплатных расширений, в том числе расширение для поддержки программирования Arduino без выхода из редактора VSCode. VSCode предназначен для обработки нескольких папок и файлов в редакторе и использует инструмент автозаполнения Microsoft IntelliSense, чтобы ускорить программирование и уменьшить количество опечаток.
Использование VSCode для проектов Arduino
Чтобы начать использовать VSCode для ваших проектов Arduino, выполните следующие действия.
Шаг 1. Загрузите и установите драйверы
VSCode использует драйверы, которые устанавливаются вместе с Arduino IDE, поэтому нам нужно сначала загрузить и установить их.
- Загрузите IDE для своей ОС со страницы https://www.arduino.cc/en/Main/Software.
- После завершения загрузки запустите программу установки, оставив все настройки и параметры по умолчанию.
- Обязательно установите COM-порт и USB-драйверы , если будет предложено.
Шаг 2 – Загрузите VSCode
- Пока устанавливается Arduino IDE, загрузите VSCode с https://code.visualstudio.com/Download.
- После завершения загрузки запустите установщик.
Следующие шаги
Я рекомендую следующую конфигурацию для дополнительных задач во время установки.
- После установки запустите VSCode.
- Нажмите кнопку Extensions в левой части редактора (или Ctrl + Shift + X), чтобы отобразить рынок расширений.
- Введите Arduino в строке поиска, чтобы отфильтровать расширения только теми, которые связаны с платформой Arduino.
- Для Arduino доступно несколько расширений, но я предпочитаю то, которое поддерживается Microsoft.
- Нажмите кнопку Установить и при появлении запроса разрешите установку зависимостей.
- Нажмите кнопку Reload , чтобы перезапустить VSCode с включенным расширением Arduino.
- В зависимости от настроек вашего брандмауэра вам может быть предложено предоставить доступ к брандмауэру VSCode.
Программирование в VSCode
Еще один Перезагрузите и теперь мы готовы приступить к программированию. Чтобы убедиться, что все установлено правильно, мы начнем с открытия примера Blinky .
Откройте VSCode Command Pallet с помощью Ctrl + Shift + P . Когда палитра команд открыта, вы можете начать вводить текст, чтобы отфильтровать все параметры или найти полезные команды.
Откройте Command Pallet и введите Arduino и выберите Arduino: Примеры в списке результатов.
- На новой панели справа выберите Встроенные примеры >> 01.Основы >> Blink . По умолчанию это откроет новое окно VSCode с эскизом Blink и файлом справки Blink.txt, перечисленными в панели проводника слева.
- Выберите Blink.ino на панели проводника, чтобы открыть эскиз в редакторе.
- Подключите плату Arduino к компьютеру, а затем в нижней панели VSCode вы можете указать COM-порт для вашего Arduino и тип платы.
- При нажатии COM открывается небольшое окно выбора в верхней части VSCode, в котором должен отображаться ваш подключенный Arduino.
- Щелчок открывает новую панель справа, где вы можете выбрать тип платы. Если для вашей платы доступны различные конфигурации, вам также необходимо указать их. Я использую Arduino Mega с ATMega-2560.
- Снова откройте Command Pallete (Ctrl + Shift + P) и введите Arduino: Загрузить (Ctrl + Alt + U), чтобы загрузить эскиз Blink на ваш Arduino.Вы должны увидеть, как LED13 начнет мигать примерно раз в секунду.
Теперь вы готовы начать писать новые скетчи Arduino в VSCode и пользоваться функциями более продвинутого текстового редактора. Узнайте больше о разработке и программировании встраиваемых систем DMC или свяжитесь с нами, чтобы начать работу над проектом сегодня.
16 альтернатив Arduino IDE для начала программирования
В этой статье представлен список из 16 альтернатив Arduino IDE, которые мы можем использовать, если вас не устраивает классическая среда Arduino IDE или нам нужно больше функций, чем редактор Arduino.
Когда мы начинаем разработку проекта Arduino, мы обычно используем Arduino IDE . В любом случае, есть несколько альтернатив Arduino IDE, которые мы должны рассмотреть, если нас не устраивает стандартная IDE. Как мы знаем, Arduino – одна из самых популярных макетных плат (с несколькими альтернативами), когда приходит время разработать проект IoT или когда мы создаем проект DIY. Обычно мы склонны использовать редактор Arduino не только с кабелями Arduino (такими как Uno, семейство MKR и т. Д.), Но добавляя расширения, которые мы используем с альтернативными платами, такими как ESP32, ESP8266, Wemos и т. Д..
Обычно Arduino IDE – это первый выбор, который мы используем, когда впервые приближаемся к Arduino. Это происходит по нескольким причинам:
- легко использовать
- он поддерживает все платы Arduino
- он имеет встроенный менеджер библиотек простой в использовании
Кроме того, Arduino IDE очень удобна для пользователя без лишнего. множество опций, меню и т. д., которые могут напугать неопытного пользователя. Это настолько просто, что нам не нужно беспокоиться о том, как это работает, мы можем сосредоточиться только на процессе разработки.Мы пишем код Arduino, а IDE Arduino компилирует его и загружает скомпилированный код в плату Arduino.
Кроме того, у него открытый исходный код, и он работает на нескольких ОС, таких как Windows, Mac OS X и Linux.
В любом случае, если вы не чувствуете себя комфортно с Arduino IDE, есть несколько альтернатив, которые вы можете использовать при разработке проекта Arduino. В Arduino IDE отсутствуют некоторые функции, которые могут вас беспокоить, особенно если вы привыкли к такой среде IDE, как Eclipse, Visual Studio или IntelliJ, и это лишь некоторые из них.Одна недостающая функция в Arduino IDE, которая меня действительно беспокоит, – это автозаполнение . Это способ предсказать остальные команды, чтобы вам не приходилось писать все это. В среде IDE мне нравятся некоторые другие функции, такие как отображение параметров функций, подсказок, связанных с синтаксической ошибкой и т. Д.
Список альтернатив Arduino IDE
В этой статье содержится список альтернатив Arduino IDE, которые вы можете использовать при создании проекта Arduino, если вам не нравится стандартная IDE Arduino.Порядок случайный.
PlatformIO
PlatformIO – одна из наиболее известных альтернатив Arduino IDE. Это интегрированная среда разработки для Интернета вещей. Он поддерживает не только платы Arduino, но и многие другие платы, такие как Raspberry, ESP32, ESP8266 и многие другие. IDE поддерживает все ожидаемые функции, такие как завершение кода и так далее. Это не только IDE, но и поддержка CLI (интерфейса командной строки). Кроме того, PlatformIO поддерживает управление несколькими проектами, темами и библиотеками.Интерфейс очень привлекательный и простой в использовании, и он сильно отличается от стандартной Arduino IDE. Это открытый исходный код, и вы можете загрузить исходный код с Github. Он требует Python и работает на нескольких ОС. Эта IDE Arduino имеет две разные версии: одна построена на основе Atom, а другая – как плагин кода Visual Studio. Если вы хотите получить больше информации и знать, как использовать PlatfomIO, вы можете обратиться к этой статье.
Веб-сайт: https://platformio.org/
Visual Studio Code
Visual Studio Code – очень интересный инструмент, созданный Microsoft.Это совершенно бесплатно и существует несколько версий для Linux, Windows и OSX. Он предлагает набор функций кода высокого уровня, очень полезных и простых в использовании. Интересно то, что у VSCode есть торговая площадка, где можно загружать новые расширения, которые добавляют новые функции в эту альтернативу IDE. Одно из этих расширений – PlatformIO, которое можно загрузить прямо в VSCode. У вас будут все функции PlatformIO, описанные выше, в совершенно новой среде IDE.
Веб-сайт: https: // code.visualstudio.com/
Eclipse Arduino IDE
Это плагин для Eclipse. Все мы знаем Eclipse и IDE. Если вы наверняка программировали на Java, у вас была возможность протестировать и оценить возможности Eclipse IDE. Это почти стандарт в IDE. Eclipse – очень универсальная среда, которая поддерживает несколько языков программирования, от Jave до C / C ++ и так далее. Эта платформа использует плагины для расширения своих функций и добавления поддержки новой платформы.
Это плагин для Eclipse IDE, который помогает разрабатывать приложения Arduino.Вы можете скачать плагин прямо из Eclipse Marketplace. Конечно, сначала необходимо установить Eclipse C ++ IDE. После установки этого плагина в Eclipse IDE вам необходимо выбрать платформу или, другими словами, SDK, который включает все библиотеки, необходимые для создания приложения. После того, как плагин настроен, вы готовы разработать свой скетч Arduino. IDE – это, по сути, IDE Eclipse, поэтому, если вы знакомы с Eclipse, у вас не возникнет проблем с ее использованием. Эта IDE имеет все функции, которые есть в стандартной IDE Arduino, такие как последовательный монитор для отладки эскиза Arduino.
Веб-сайт: https://marketplace.eclipse.org/content/eclipse-c-ide-arduino
Programino IDE для Arduino
Programino Arduino IDE – это альтернатива Arduino IDE с несколькими функциями. Эта IDE Arduino может использоваться с платами Arduino / Genuino или совместимыми микроконтроллерами. Programino поддерживает язык C / C ++, но в любом случае добавляет поддержку других языков, таких как HTML, Javascript и так далее.
Он полностью совместим с Arduino и имеет следующие основные функции:
- Подсветка синтаксиса
- Обозреватель функций
- Конкурс кода
- Сворачивание кода
- Аппаратный просмотрщик
Эта последняя функция очень полезна, потому что у вас всегда есть представление о оборудование, которое вы используете, чтобы вам не нужно было запоминать, например, пин-код.
Sloeber
Sloeber – это IDE с открытым исходным кодом для программирования Arduino. Он основан на Eclipse. Он имеет несколько интересных функций:
- Контекстно-зависимая окраска
- Поддержка нескольких проектов
- Несколько конфигураций
Кроме того, Sloeber поддерживает несколько макетов плат.
Веб-сайт: http://eclipse.baeyens.it/
embedXcode
Это бесплатная IDE Arduino, разработанная для Mac OS X. Эта среда IDE поддерживает подсветку синтаксиса, нумерацию строк и т. Д.Это шаблон для XCode 5 и XCode 6. Эта IDE упрощает разработку эскиза Arduino с помощью интеллектуальной среды, которая помогает вам во время разработки. Эта IDE может использоваться с несколькими макетными платами, такими как Arduino, ESP32, ESP8266, Adafruit и платой на базе Atmel и Cortex. Вы можете ссылаться на его веб-сайт, чтобы получить дополнительную информацию. embedXcode имеет разные версии и лицензии. Существует бесплатная версия, которая поддерживает основные функции, а если вы хотите разблокировать все ее функции, вам следует рассмотреть возможность использования embedXcode +, для которого требуется лицензия.
Веб-сайт: http://playground.arduino.cc/Main/EmbedXcode
Ktechlab
KTechLab – это IDE для микроконтроллеров. Это больше, чем простая IDE, потому что она поддерживает моделирование схем и может моделировать микроконтроллер и его схему. Он способен моделировать линейные и нелинейные устройства, кроме того, этот IDE может визуализировать напряжение и ток, протекающие в цепи. Эта платформа с открытым исходным кодом, и вы можете загрузить исходный код с Github. Он работает в Linux и Windows.
Веб-сайт: https://sourceforge.net/projects/ktechlab/
Codebender
Codebender – это облачная среда разработки Arduino. Он работает онлайн, и вам не нужно устанавливать приложение локально. Это веб-среда Arduino IDE, которая предоставляет все функции, которые вы ожидаете от IDE. Он использует облачный компилятор для преобразования исходного кода и загрузки его в Arduino. Это платформа с открытым исходным кодом, и ее код доступен на Github. IDE Arduino поддерживает выделение кода и многие другие функции.Более того, ваш код Arduino находится в облаке, поэтому вы можете использовать его и получать к нему доступ везде. Он поддерживает несколько досок, и если вы не можете найти свою доску, вы можете загрузить ее определение. Эта функция делает эту платформу очень универсальной. Более того, у него есть важная особенность: возможность использовать код Arduino, написанный другими на вашей плате. Это поможет вам улучшить свои знания.
Веб-сайт: https://codebender.cc/
Visual studio + Visual micro
Это плагин для Microsoft Visual Studio.Эта IDE Arduino полностью совместима с Arduino. Эта IDE помогает вам легко и быстро писать код Arduino с подсветкой синтаксиса, подсказками об ошибках кода и т. Д. Он поддерживает несколько плат Arduino, поэтому вы можете выбрать свою плату для написания кода. Его очень легко использовать, потому что он использует функции Visual Studio, поэтому у вас есть интегрированная среда, в которой вы можете писать код Arduino. Он поддерживает последовательную отладку и позволяет создавать диаграммы. Еще одна интересная особенность – возможность использовать библиотеки Arduino.Visual Micro IDE полностью поддерживает формат библиотеки Arduino, и вы можете легко добавить его в свой код с помощью диспетчера библиотек.
Веб-сайт: https://www.visualmicro.com/
Zeus IDE
Zeus IDE – редактор, поддерживающий несколько языков программирования: C #, Lua, Go и так далее. Эта IDE поддерживает несколько функций:
- Завершение кода C / C ++
- Подсветка синтаксиса
- Код интеллектуального отступа
и так далее. Даже если он не создан специально для Arduino, вы можете использовать его для разработки приложений Arduino.
Веб-сайт: http://www.zeusedit.com/
Atmel Studio
Это профессиональная платформа. Эта интегрированная платформа поддерживает микроконтроллеры SAM и AVR. Используя Atmel studio, вы можете кодировать, отлаживать и загружать свое приложение. Это законченное решение, которое не ограничивается Arduino и предоставляет все функции, облегчающие разработку вашего приложения.
Веб-сайт: http://www.microchip.com/mplab/avr-support/atmel-studio-7
ArduinoDroid
Это другая среда разработки Arduino.Он работает на устройствах Android, и с его помощью вы можете программировать свой Arduino. Это первая IDE, работающая на ОС Android. Об этом стоит упомянуть, потому что это помогает вам писать код с помощью устройства Android. Используя это приложение, вы можете написать и загрузить свой скетч. Он поддерживает несколько плат Arduino. Вы можете использовать драйвер Google
Это полнофункциональная IDE. Вы можете скачать его в Google Play.
Плагин Netbeans для Arduino
Это еще один интересный плагин. Этот плагин работает с Netbeans, поэтому у вас есть все возможности Netbeans при разработке эскиза Arduino.Он работает с Arduino Uno R3, Arduino Mega 2560 и Arduino Duemilanove. Если хотите попробовать, можете скачать плагин.
Веб-сайт: http://plugins.netbeans.org/plugin/46054/arduino
Kate
Kate – это редактор нескольких документов, который можно использовать для разработки приложения Arduino. Это не компилятор, это просто редактор, который вы можете использовать для написания кода. Следовательно, вам нужно скомпилировать его с помощью других инструментов.
Веб-сайт: https://kate-editor.org/
Плагин CLion +
CLion – это IDE для разработки приложений C / C ++.Это мощный инструмент, который предлагает интересные функции, такие как навигация по коду, поддержка редактирования кода, например создание методов и т. Д. В него встроена отладка, помогающая находить ошибки и анализировать код «на лету». Он поддерживает расширение плагина. Один из этих плагинов помогает нам разработать приложение для Arduino. Это очень интересный инструмент.
Веб-сайт: https://www.jetbrains.com/clion/
Arduino Pro IDE
Arduino Pro IDE – это следующая IDE Arduino. Это расширенная версия стандартной среды IDE, которая предлагает гораздо больше функций, что делает ее намного лучше, чем «стандартная» версия.Он поддерживает механизм расширения плагинов. Это современная среда разработки для Arduino с поддержкой отладки. Более того, эта альтернатива Arduino IDE предназначена для управления крупными проектами. Интересной особенностью является поддержка C, Python и Javascript. Эта IDE все еще находится в стадии бета-версии, и вы можете загрузить и использовать ее, если хотите попробовать.
Веб-сайт: https://www.arduino.cc/pro/arduino-pro-ide
Рекомендуемый :
Arduino-cli: компиляция, загрузка и управление библиотеками, ядрами и платами
Резюме
Эта статья перечислил несколько альтернатив Arduino IDE, которые вы можете использовать, если вас не устраивает стандартная IDE Arduino.Вы должны выбрать тот, который соответствует вашим потребностям и способу программирования. Все эти платформы помогают вам легко и быстро писать приложения Arduino.
Как программировать Arduino
Разработка программного обеспечения для Arduino
Одна из самых сильных сторон среды разработки Arduino – это программирование. IDE Arduino (интегрированная среда разработки) отличный инструмент для написания программного обеспечения для Arduino.IDE также используется для загрузки скомпилированного программного обеспечения на оборудование через порт USB.
Еще одна сильная сторона среды Arduino Environment – это широкий спектр программных библиотек, предоставляемых Arduino IDE, а также сторонним оборудованием. и разработчики программного обеспечения. Конечно, вы также можете написать свои собственные программные библиотеки, но это не рекомендуется для новичков.
Что мне нужно для программирования Arduino
Все, что вам нужно, это ваш любимый компьютер или ноутбук для запуска Arduino IDE, USB-кабель и, конечно же, ваша плата Arduino Uno.Для этого нам не нужны компоненты демо, так как мы собираемся использовать встроенный светодиод в программе ниже. Правильно, Интернету нужен еще один учебник о том, как мигать светодиодом.
Загрузить программное обеспечение IDE
Чтобы написать вашу программу, нам нужно загрузить IDE из Arduino. Он доступен в Windows, Mac и Linux. На сайте IDE вы просто выберите версию программного обеспечения, подходящую для вашей операционной системы.
Установка программного обеспечения IDE
На веб-сайте есть инструкции по установке IDE в зависимости от используемой вами операционной системы. Для пользователей Windows может потребоваться установка дополнительных USB-драйверы для используемой платы Arduino. В новейших аутентичных платах используется USB-чип Atmel. Доска Sparkfun использует микросхему FTDI USB.
Подключение платы Arduino
Просто подключите плату Arduino к порту USB на выбранной платформе ПК.Как показано на картинке вверху страницы.
Запустите Arduino IDE
Создайте свою первую программу
Эта программа настолько проста, что не требует подключения к плате ничего, кроме кабеля USB. Эта функция этого простого бит кода – включение и выключение светодиода, установленного на плате.
Каждая программа Arduino выполняет две функции.Первый называется setup (), в котором мы настраиваем оборудование на плате. В этом В этом случае мы устанавливаем цифровой вывод 13 как выход.
Следующая функция называется loop (), в ней происходит все действие. Конечно, с таким именем, как цикл, он просто запускается и работает вечно.
В функции петли мы устанавливаем на цифровом выводе 13 высокий уровень для включения светодиода. Затем мы используем функцию задержки (500) для задержки на 500 мс или полсекунды.В Затем на цифровом выводе устанавливается низкий уровень, что выключает светодиод. Мы снова используем задержку в полсекунды.
Затем весь процесс повторяется снова: полсекунды включается, а затем полсекунды отключается. Вот и все, не намного проще.
Проверить, скомпилировать и загрузить
После того, как мы ввели код, мы можем нажать на кнопку «Подтвердить», которая проверит наличие ошибок кодирования. Если у вас есть ошибки, они будут отображается в поле под полем редактирования.Если он подтвердит, что все в порядке, он отобразит белый текст с количеством байтов, используемых в коде.
Следующим шагом является компиляция и загрузка кода на плату Arduino. Для этого необходимо, чтобы плата была подключена к компьютеру.
После загрузки кода светодиод на плате Arduino должен начать мигать.
Что дальше
Если вы хотите увлечься возбуждением светодиодов, вы можете изменять значения задержки, чтобы светодиод мигал с разной скоростью.Просто измените значение задержки, скомпилируйте и загрузить.
У нас есть ряд руководств и руководств по подключению, которые включают образцы эскизов и библиотеки для ряда датчиков и устройств.
Начало работы с Visual Studio и Arduino
Шаг 1. Установите Visual Micro
Шаг 2: Откройте существующий скетч Arduino следующим образом:
- Нажмите File-> Open-> Arduino Project
- Выберите существующий эскиз в каталоге проекта Arduino.
- После загрузки и открытия проекта выберите доску на панели инструментов «Доски».
- Выберите программиста из Инструменты-> Arduino-> Программисты.
- Нажмите синюю стрелку на панели инструментов или SHIFT + F5 для компиляции и загрузки (Отладка> Начать без отладки)
- Нажмите зеленую стрелку на панели инструментов или F5 для компиляции, загрузки и отладки
ИЛИ
Шаг 2: Начните новый проект Arduino
- Нажмите File-> New-> Arduino Project
- Введите имя для вашего проекта
Нажмите ОК и наслаждайтесь.
Шаг 3: Скомпилируйте и загрузите в Arduino
- Стандартные параметры Visual Studio «Сборка» будут компилировать / компилировать для Arduino либо один проект Arduino, либо все проекты Arduino в текущем решении.
- Стандартные параметры «Отладка» Visual Studio будут загружены (но не отлажены). Отладка «Начать с или без» будет загружена для выбранного порта и платы.
- В меню инструментов вы также можете отменить последовательную загрузку и использовать вместо этого программатор.
- Напомним, все кнопки панели инструментов Visual Studio «build / debug», пункты меню «build», пункты меню «debug», контекстное меню проекта правой кнопкой мыши и сочетания клавиш обеспечивают компиляцию и загрузку для Arduino.
- Для примера нажмите F5.
- Если у вас есть несколько проектов Arduino в одном решении, вы можете выбрать в меню правой кнопкой мыши название проекта «Установить как запускаемый проект». Это определяет, какой проект загружается при нажатии F5 или любой из стандартных команд «Пуск» в Visual Studio.Текущий запускаемый проект будет выделен жирным шрифтом в обозревателе решений Visual Studio.
Дополнительная информация
Запуск Visual Studio – Совет
При запуске Visual Studio плагин загружает список досок и библиотек, которые затем отображаются в различных меню. Во время загрузки надстройка отображает имена этих элементов arduino в строке состояния Visual Studio.
Этот процесс является фоновым, что означает, что вам не нужно ждать его завершения, прежде чем начинать программировать проект Arduino в Visual Studio.Очевидная медленность добавления элементов пользовательского интерфейса связана с тем, как работает Visual Studio.
Мы изучаем альтернативные места для добавления списков библиотек и плат, которые также позволят включать примеры Arduino.
Несколько проектов Arduino в одном решении
Монитор последовательного порта Arduino
Одновременно можно просматривать более одного последовательного монитора. Просто выберите порт в раскрывающемся меню панели инструментов, щелкните значок Serial Monitor рядом с панелью инструментов.Теперь поместите окно монитора в нужное место. Повторите это действие для других окон Serial Monitor.
Платы Arduino
Каждый проект настраивается с уникальной платой. Выберите нужную доску на панели инструментов и сохраните этот проект.
5. Программирование Arduino | SnappyXO Robotics
3. ДеятельностьЭти действия должны выполняться учащимися с партнером. Кроме того, они должны быть выполнены в течение 2-3 дней. По крайней мере, студенческие пары должны заполнить 3.1 и 3.2 в день 1 и больше попрактикуйтесь в программировании самостоятельно. День 2 следует зарезервировать на 3.3 и 3.4.
3.1 Отправка секретного сообщения (20 минут):
Вы пытаетесь отправить сообщение другу, используя только мигающий свет. Можете ли вы запрограммировать заранее определенное сообщение для отправки?
Студенты должны использовать SW: код Морзе с Arduino (PDF), создать схему и написать программу Arduino для этого.
3.2 Автоматический ночник (30 минут):
Сначала прочтите раздел «Фотоэлемент / термистор» в LM: 5.Датчики и Ардуино. Затем измените эскиз, приведенный в этом разделе, чтобы значение датчика, считываемое с фотоэлемента, использовалось в качестве входа для программирования красного светодиода таким образом, чтобы полное покрытие элемента (таким образом, лишая его любого измеримого света) включало светодиод, в то время как при заливке ярким светом светодиод гаснет. Это была бы идея автоматического светочувствительного ночника, который теперь вы можете создать и хранить в своей комнате.
Подсказка:
- Вы можете подключить фотоэлемент к аналоговому выводу 0 (A0) вашего Arduino с помощью резистора с сопротивлением, близким к сопротивлению фотоэлемента при окружающем освещении.Используйте функцию analogRead (…) для чтения данных датчика. Это должно быть от 0 до 1023.
- Вы можете подключить свой светодиод обычным способом, а затем использовать функцию digitalWrite (…) для записи значения HIGH или LOW.
3.3 Стеклоочистители Arduino (30 минут):
Не работают дворники на машине родителей. Можете ли вы использовать программирование SnappyXO и Arduino для создания новых дворников?
Студенты должны следовать программному обеспечению: дворники с Arduino (PDF) и разработать решение для программируемых дворников, в котором вращением дворников можно управлять с помощью потенциометра.
Просмотрите раздел управления серводвигателем в LM: 4. Управление двигателями с помощью Arduino, раздел потенциометра в LM: 5. Датчики и Arduino.
и секция аналогового ввода и вывода в LM: 3. Цифровой и аналоговый ввод / вывод с Arduino
3.4 Охотник за собаками (45 минут):
Вашей собаке дома скучно, и ей нужна новая игрушка. Сможете ли вы сделать робота, который убегает от него?
Следуйте SW: Dog Chaser с Arduino (PDF) и спроектируйте колесного робота с ультразвуковым датчиком, чтобы он мог уйти, когда объект (собака) находится поблизости.
Чтобы помочь вам с этим заданием, пожалуйста, следуйте инструкциям EB: 2WD Servo Robot with Ultrasonic Sensor (PDF), а также загрузите соответствующий код Arduino. Это решение использует два сервопривода непрерывного вращения для приведения в движение колес вашего робота.
Другое решение – использовать два двигателя постоянного тока вместо сервоприводов. В этом случае следуйте указаниям EB: 2WD DC Motor Robot Car Ultrasonic (PDF).
В любом из решений просмотрите LM: 4. Управление двигателями с помощью Arduino.
10 Arduino IDE Альтернатива для начала программирования – Java Code Geeks
Когда мы начинаем разработку проекта Arduino, обычно мы обычно используем Arduino IDE . В любом случае, есть несколько альтернатив Arduino IDE, которые мы должны рассмотреть, если нас не устраивает стандартная IDE. Как мы знаем, Arduino – одна из самых популярных макетных плат (с несколькими альтернативами), когда приходит время разработать проект IoT или когда мы создаем проект DIY.
Обычно IDE Arduino – это первая IDE, которую мы используем при первом приближении к Arduino. Это происходит по нескольким причинам: он прост в использовании, он поддерживает все платы Arduino, у него есть простой в использовании встроенный менеджер библиотек. Более того, IDE Arduino очень удобна для пользователя, в ней не слишком много опций, меню и т. Д., Которые могут напугать неопытного пользователя. Это настолько просто, что нам не нужно беспокоиться о том, как это работает, мы можем сосредоточиться только на процессе разработки. Мы пишем код Arduino, а IDE Arduino компилирует его и загружает скомпилированный код в плату Arduino.Вот это.
Более того, это открытый исходный код, и он работает на нескольких ОС, таких как Windows, Mac OS X и Linux.
В любом случае, если вы не чувствуете себя комфортно с Arduino IDE, есть несколько альтернатив, которые вы можете использовать при разработке проекта Arduino. В Arduino IDE отсутствуют некоторые функции, которые могут вас беспокоить, особенно если вы привыкли к такой среде IDE, как Eclipse, Visual Studio или IntelliJ, и это лишь некоторые из них. Одна недостающая функция в Arduino IDE, которая меня действительно беспокоит, – это автозаполнение.Это способ предсказать остальные команды, чтобы вам не приходилось писать все это. В среде IDE мне нравятся некоторые другие функции, такие как отображение параметров функций, подсказок, связанных с синтаксической ошибкой и т. Д.
Список альтернатив Arduino IDE
В этой статье содержится список альтернатив Arduino IDE, которые вы можете использовать при создании проекта Arduino, если вам не нравится стандартная IDE Arduino. Порядок случайный.
PlatformIO
PlatformIO – одна из наиболее известных альтернатив Arduino IDE.Это интегрированная среда разработки для Интернета вещей. Он поддерживает не только платы Arduino, но и многие другие платы, такие как Raspberry, ESP32, ESP8266 и многие другие. IDE поддерживает все ожидаемые функции, такие как завершение кода и так далее. Это не только IDE, но и поддержка CLI (интерфейса командной строки). Кроме того, PlatformIO поддерживает управление несколькими проектами, темами и библиотеками. Интерфейс очень привлекательный и простой в использовании, и он сильно отличается от стандартной Arduino IDE.Это открытый исходный код, и вы можете загрузить исходный код с Github. Он требует Python и работает на нескольких ОС. Эта IDE Arduino имеет две разные версии: одна построена на основе Atom, а другая – как плагин кода Visual Studio. Если вы хотите получить больше информации и знать, как использовать PlatfomIO, вы можете обратиться к этой статье.
Веб-сайт: https://platformio.org/
Eclipse Arduino IDE
Источник: https://www.eclipse.org/community/eclipse_newsletter/2017/april/article4.php
Это плагин для Eclipse .Все мы знаем Eclipse и IDE. Если вы наверняка программировали на Java, у вас была возможность протестировать и оценить возможности Eclipse IDE. Это почти стандарт в IDE. Eclipse – очень универсальная среда, которая поддерживает несколько языков программирования, от Jave до C / C ++ и так далее. Эта платформа использует плагины для расширения своих функций и добавления поддержки новой платформы.
Это плагин для Eclipse IDE, который помогает разрабатывать приложения Arduino. Вы можете скачать плагин прямо из Eclipse Marketplace.Конечно, сначала необходимо установить Eclipse C ++ IDE. После установки этого плагина в Eclipse IDE вам необходимо выбрать платформу или, другими словами, SDK, который включает все библиотеки, необходимые для создания приложения. После того, как плагин настроен, вы готовы разработать свой скетч Arduino. IDE – это, по сути, IDE Eclipse, поэтому, если вы знакомы с Eclipse, у вас не возникнет проблем с ее использованием. Эта среда разработки Arduino имеет все функции стандартной среды разработки Arduino, такие как последовательный монитор для отладки эскиза Arduino.
Веб-сайт: https://marketplace.eclipse.org/content/eclipse-c-ide-arduino
Programino IDE для Arduino
Programino Arduino IDE – это альтернатива Arduino IDE с несколькими функциями. Эта IDE Arduino может использоваться с платами Arduino / Genuino или совместимыми микроконтроллерами. Programino поддерживает язык C / C ++, но в любом случае добавляет поддержку других языков, таких как HTML, Javascript и так далее.
Он полностью совместим с Arduino и имеет следующие основные функции:
- Подсветка синтаксиса
- Обозреватель функций
- Конкурс кода
- Сворачивание кода
- Аппаратный просмотрщик
Эта последняя функция очень полезна, потому что у вас всегда есть представление о оборудования, которое вы используете, чтобы вам не нужно было запоминать, например, пин-код.
embedXcode
Это бесплатная IDE Arduino, разработанная для Mac OS X. Эта IDE поддерживает подсветку синтаксиса, нумерацию строк и т. Д. Это шаблон для XCode 5 и XCode 6. Эта IDE упрощает разработку эскиза Arduino с помощью интеллектуальной среды, которая помогает вам во время разработки. Эта IDE может использоваться с несколькими макетными платами, такими как Arduino, ESP32, ESP8266, Adafruit и платой на базе Atmel и Cortex. Вы можете ссылаться на его веб-сайт, чтобы получить дополнительную информацию.embedXcode имеет разные версии и лицензии. Существует бесплатная версия, которая поддерживает основные функции, а если вы хотите разблокировать все ее функции, вам следует рассмотреть возможность использования embedXcode +, для которого требуется лицензия.
Веб-сайт: http://playground.arduino.cc/Main/EmbedXcode
Ktechlab
KTechLab – это IDE для микроконтроллеров. Это больше, чем простая IDE, потому что она поддерживает моделирование схем и может моделировать микроконтроллер и его схему. Он способен моделировать линейные и нелинейные устройства, кроме того, этот IDE может визуализировать напряжение и ток, протекающие в цепи.Эта платформа с открытым исходным кодом, и вы можете загрузить исходный код с Github. Он работает в Linux и Windows.
Веб-сайт: https://sourceforge.net/projects/ktechlab/
Codebender
Codebender – это облачная среда разработки Arduino. Он работает онлайн, и вам не нужно устанавливать приложение локально. Это веб-среда Arduino IDE, которая предоставляет все функции, которые вы ожидаете от IDE. Он использует облачный компилятор для преобразования исходного кода и загрузки его в Arduino. Это платформа с открытым исходным кодом, и ее код доступен на Github.IDE Arduino поддерживает выделение кода и многие другие функции. Более того, ваш код Arduino находится в облаке, поэтому вы можете использовать его и получать к нему доступ везде. Он поддерживает несколько досок, и если вы не можете найти свою доску, вы можете загрузить ее определение. Эта функция делает эту платформу очень универсальной. Более того, у него есть важная особенность: возможность использовать код Arduino, написанный другими на вашей плате. Это поможет вам улучшить свои знания.
Веб-сайт: https://codebender.cc/
Другие полезные ресурсы:
Как использовать интерфейс Rest с Arduino
Как управлять светом светодиодов с помощью Arduino
11 Visual IoT Tools для разработки приложения IoT
Visual studio + Visual micro
Это плагин для Microsoft Visual Studio.Эта IDE Arduino полностью совместима с Arduino. Эта IDE помогает вам легко и быстро писать код Arduino с подсветкой синтаксиса, подсказками об ошибках кода и т. Д. Он поддерживает несколько плат Arduino, поэтому вы можете выбрать свою плату для написания кода. Его очень легко использовать, потому что он использует функции Visual Studio, поэтому у вас есть интегрированная среда, в которой вы можете писать код Arduino. Он поддерживает последовательную отладку и позволяет создавать диаграммы. Еще одна интересная особенность – возможность использовать библиотеки Arduino.Visual Micro Arduino IDE полностью поддерживает формат библиотеки Arduino, и вы можете легко добавить его в свой код Arduino с помощью диспетчера библиотек.
Веб-сайт: https://www.visualmicro.com/
Zeus IDE
Zeus IDE – это редактор, поддерживающий несколько языков программирования: C #, Lua, Go и так далее. Эта IDE поддерживает несколько функций:
- Завершение кода C / C ++
- Подсветка синтаксиса
- Код интеллектуального отступа
и так далее. Даже если он не создан специально для Arduino, вы можете использовать его для разработки приложений Arduino.
Веб-сайт: http://www.zeusedit.com/
Atmel Studio
Это профессиональная платформа. Эта интегрированная платформа поддерживает микроконтроллеры SAM и AVR. Используя Atmel studio, вы можете кодировать, отлаживать и загружать свое приложение. Это законченное решение, которое не ограничивается Arduino и предоставляет все функции, облегчающие разработку вашего приложения.
Веб-сайт: http://www.microchip.com/mplab/avr-support/atmel-studio-7
ArduinoDroid
Это другая среда разработки Arduino.Он работает на устройствах Android, и с его помощью вы можете программировать свой Arduino. Это первая IDE, работающая на ОС Android. Об этом стоит упомянуть, потому что это помогает вам писать код с помощью устройства Android. Используя это приложение, вы можете написать и загрузить свой скетч. Он поддерживает несколько плат Arduino. Вы можете использовать драйвер Google
Это полнофункциональная IDE. Вы можете скачать его в Google Play.
Резюме
В этой статье перечислены несколько альтернатив Arduino IDE, которые вы можете использовать, если вас не устраивает стандартная IDE Arduino.Вы должны выбрать тот, который соответствует вашим потребностям и способу программирования. Все эти платформы помогают вам легко и быстро писать приложения Arduino.
Как прошить или запрограммировать Arduino из Atmel Studio?
Примечание
Эта статья является частью Руководства по программированию встроенного микропрограммного обеспечения C Arduino / ATmega328p . Попробуйте изучить домашнюю страницу курса, чтобы найти статьи на похожие темы.
Учебное пособие по Arduino Встроенный уровень регистра C Мастер-класс Arduino
Также посетите страницу выпуска для встроенной библиотеки аппаратных абстракций C на уровне регистров и код для AVR .
Введение
Это руководство проведет вас через процесс настройки Atmel Studio, чтобы вы могли напрямую программировать Arduino из Atmel Studio. Это позволит вам выбрать IDE профессионального уровня, т.е. Atmel Studio для ваших программ и по-прежнему использовать оборудование Maker / Prototyping, т.е. Arduino для тестирования или развертывания.
Чтобы прошить Arduino из Atmel Studio, вам необходимо предварительно установить Arduino IDE и драйверы. Если у вас еще нет, выполните следующие действия для установки.
https://www.arnabkumardas.com/platforms/atmel/how-to-install-arduino-ide-and-drivers/
Что вы узнаете
- Как прошить Arduino из Atmel Studio с помощью загрузчика?
- Как запрограммировать Arduino UNO с помощью COM-порта от Atmel Studio?
- Как запрограммировать Arduino NANO с помощью COM-порта от Atmel Studio?
- Как прошить платы Arduino из Atmel Studio?
Шаги настройки
Необходимое время: 5 минут.
Этапы настройки Atmel Studio для прошивки или программирования платы Arduino
- Откройте Atmel Studio
Откройте установленную вами среду разработки Atmel Studio.
- Перейдите в меню внешних инструментов
В строке меню перейдите в Инструменты -> Внешние инструменты
- Окно внешних инструментов
Вы должны увидеть такое окно, но оно будет для вас пустым . Я уже добавил две команды для Arduino UNO и Arduino NANO.
- Добавить новый инструмент для Arduino UNO
Нажмите «Добавить», чтобы добавить новый инструмент. И заполните текстовые поля, как показано ниже.
Название:
Arduino UNO
Команда:
C: \ Program Files (x86) \ Arduino \ hardware \ tools \ avr \ bin \ avrdude.exe
Аргументы:
-C " C: \ Program Files (x86) \ arduino \ hardware \ tools \ avr \ etc \ avrdude.conf "-v -patmega328p -carduino -PCOM10 -b115200 -D -Uflash: w:" $ (ProjectDir) Debug \ $ (TargetName ).hex ": i
Выберите
'Use Output Window'
Вы можете указать любой заголовок, который хотите. Команда должна иметь путь к avrdude.exe, который будет находиться в том месте, где вы установили IDE Arduino . Аргументы должны содержать 3 наиболее важных параметра: микроконтроллер, который зависит от используемой платы Arduino, COM-порт и скорость передачи данных. COM-порт зависит от системы и может быть определен из диспетчера устройств. Скорость передачи должна быть 115200 бод. .
Микроконтроллер Arduino UNO / NANO>
-patmega328p
Микроконтроллер Arduino MEGA>
-patmega2560
- Добавить новый инструмент для Arduino Nano «Добавить
» Добавить новый инструмент для Arduino Nano «Добавить
». И заполните текстовые поля, как показано ниже.
Название:
Arduino NANO
Команда:C: \ Program Files (x86) \ Arduino \ hardware \ tools \ avr \ bin \ avrdude.exe
Аргументы:-C " C: \ Program Files (x86) \ arduino \ hardware \ tools \ avr \ etc \ avrdude.conf "-v -patmega328p -carduino -PCOM5 -b57600 -D -Uflash: w:" $ (ProjectDir) Debug \ $ (TargetName) .hex ": i
Выберите'Использовать окно вывода'
Вы должны заметить, что микроконтроллер такой же, как в Arduino UNO, поскольку обе платы используют один и тот же MCU. COM-порт изменяется, поскольку каждая новая плата будет получать новый COM-порт, назначенный вашим ПК. Вы должны проверить в диспетчере устройств, чтобы какой COM-порт назначен для вашей платы.Скорость передачи для Arduino NANO составляет 57600.
- Постройте свою программу
Обычно сборка выполняется за несколько секунд.