Установка/настройка программной оболочки Arduino IDE для Windows
Для написания (редактирования) и загрузки (прошивки) программ (скетчей) в Arduino необходимо установить программу для программирования, как Arduino IDE, или воспользоваться on-line Web-редактором. Скачать (загрузить) программу Arduino IDE последней версии, или воспользоваться web-редактором можно из раздела Software сайта arduino.cc.
Скачивание (загрузка) Arduino IDE с официального сайта:
Зайдите на официальный сайт Arduino и выберите, из предложенного списка, операционную систему на которой работает Ваш компьютер. В данной статье мы рассмотрим установку Arduino IDE на операционную систему Windows. Выбрав первую строку «Windows Installer» Вы установите Arduino IDE (как устанавливаете любые другие программы), а выбрав вторую строку «Windows ZIP file for non admin install» Вы скачаете ZIP-архив с папкой программы, которую сможете запускать без установки (даже если у Вас нет прав администратора Вашего компьютера).
Вне зависимости от того, какую операционную систему Вы выберите, Вам будет предложено поблагодарить разработчиков, именно предложено, тут дело Ваше.
Если Вы просто хотите скачать программу, то нажмите на кнопку «JUST DOWNLOAD», если хотите скачать программу и поблагодарить разработчиков, способствуя дальнейшему развитию ПО, то нажмите на кнопку «CONTRIBUTE & DOWNLOAD».
Дождитесь завершения загрузки файла
.
После завершения загрузки, файл должен находиться в папке: « Этот компьютер > Загрузки » (если Вы не указали иное место для сохранения файла).
- Если Вы скачивали (загружали) ZIP-архив (выбрав на первом этапе пункт «Windows ZIP file for non admin install»), то распакуйте папку из архива в любое место на Вашем компьютере.
Следующий раздел «Установка Arduino IDE» не для Вас, так как устанавливать программу Вам не нужно, перейдите к разделу «Запуск Arduino IDE». Для начала работы в Arduino IDE нужно запустить файл «arduino.exe» , из того места, куда Вы распаковали архив. - Если Вы скачивали (загружали) установочный файл (выбрав на первом этапе пункт «Windows Installer»), то следуйте инструкциям в следующем разделе «Установка Arduino IDE».
Установка Arduino IDE:
Запустите установочный файл
из папки: « Этот компьютер > Загрузки » (у Вас вместо символов X.X.X в названии файла будут цифры версии Arduino IDE).
Далее подряд будут появляться следующие сообщения:
- 1 сообщение: ознакомляет Вас с лицензионным соглашением, нажмите на кнопку «I Agree», появится 2 сообщение.
- 2 сообщение: предлагает Вам выбрать компоненты инсталляции, нажмите на кнопку «Next», появится 3 сообщение.
- 3 сообщение: предлагает Вам выбрать путь для установки Arduino IDE, нажмите на кнопку «Install», появится 4 сообщение.
- 4 сообщение: информирует Вас о ходе выполнения установки Arduino IDE, по окончании которой появится 5 сообщение.
- 5 сообщение: информирует Вас об окончании установки Arduino IDE, нажмите на кнопку «Close».
В процессе установки, над окном 4 сообщения, могут появляться окна Windows запрашивающие у Вас разрешение на установку драйверов:
Разрешайте установку драйверов нажимая на кнопку «Установить», эти драйверы позволят определять и работать с платами Arduino подключёнными по шине USB.
На этом установка Arduino IDE завершена.
На Вашем рабочем столе должна появиться иконка программы:
Запуск Arduino IDE:
При первом запуске программы может появиться сообщение Брандмауэра Windows о блокировке доступа для некоторых сетевых функций Java Arduino IDE:
Разрешите доступ нажав на кнопку «Разрешить доступ». После чего, данное окно появляться не будет.
Откроется окно программы Arduino IDE:
На следующем рисунке указано назначение областей и функциональных кнопок программы:
Теперь можно написать скетч (код) и загрузить (залить/прошить) его в Arduino. Но перед этим, надо подключить плату Arduino к компьютеру и указать программе Arduino IDE, какую именно плату Arduino Вы подключили, и к какому порту…
Подключение платы Arduino:
После того как Вы подключите плату Arduino через USB порт к компьютеру, программе Arduino IDE нужно указать, какую именно плату Arduino Вы подключили. Для этого выберите нужную плату из списка в разделе меню « Инструменты > Плата > Название Вашей платы », как это показано на следующем рисунке:
Теперь нужно выбрать Com-порт к которому подключена Ваша плата Arduino. Для этого выберите нужный Com-порт из списка доступных Com-портов в разделе меню « Инструменты > Порт > Номер доступного порта », как это показано на следующем рисунке:
Если USB контроллер Вашей платы Arduino реализован на чипе FTDI или ему аналогичных, то в списке доступных Com-портов Вы не увидите название платы Arduino в скобках напротив Com-порта. В нашем случае Вы бы увидели просто «COM1» и «COM7», тогда возникает вопрос, а к какому из этих портов подключена плата Arduino?
Решается данный вопрос очень просто. Отключите плату Arduino от компьютера и откройте меню « Инструменты > Порт ». В списке Com-портов Вы увидите только доступные Com-порты, то есть в нашем случае только «COM1». Теперь подключите плату Arduino к компьютеру и опять откройте меню « Инструменты > Порт ». Теперь Вы увидите что список Com-портов увеличился на один (в нашем случае к «COM1» добавился «COM7»), именно к появившемуся Com-порту и подключена Ваша плата Arduino.
Если при подключении платы Arduino Вы не увидели появление нового Com-порта, значит USB контроллер Вашей платы Arduino реализован на чипах сторонних производителей и для него требуется установить дополнительный драйвер. Как, например, драйвер для чипа Ch440G.
Загрузка скетча из программы Arduino IDE в плату Arduino:
После того, как Вы указали тип платы Arduino, выбрали Com-порт и написали свой скетч (код программы), скетч можно загрузить (залить/прошить) в контроллер платы Arduino. Для этого выберите пункт меню « Скетч > Загрузка » или нажмите на кнопку в виде круга со стрелкой:
Если Вы написали скетч в новом окне и не сохраняли его в файл, то перед его загрузкой в плату Arduino, программ Arduino IDE предложит Вам его сохранить. Введите название, под которым Вы желаете сохранить скетч в файл и нажмите на кнопку «Сохранить».
Во время загрузки Вы увидите строку состояния которая будет отображать ход выполнения компиляции и загрузки скетча. Если в скетче нет ошибок и он успешно загружен, то в области уведомлений появится информация о количестве использованной и доступной памяти Arduino, а над областью уведомлений появится надпись «Загрузка завершена.».
Небольшой скетч приведённый выше (на картинке) заставит мигать светодиод на плате Arduino. Многие скетчи упрощаются и сокращаются при использовании библиотек. О том что такое библиотеки и как их устанавливать, Вы можете узнать в разделе Wiki – Установка библиотек в Arduino IDE.
Приложения для удаленного управления Arduino
В данном обзоре указаны 10 распространенных приложений в управлении Ардуино с компьютера или телефона, которые легки в изучении и использовании. Arduino – это платформа, разработанная ввиду технологий современного программирования. Плата с USB разъемами для блока питания. При подключении к ПК, заряжается. Во внутренней системе есть кнопка для форматирования данных.
Главные составляющие:
- Бредбоард – соединяет платформу с устройством.
- Светодиод – индикатор, сигнализирует об управлении.
- Резистор — контролирует подачу электрического тока внутри платформы.
- Фоторезистор – реагирует на тип освещения.
- Транзистор – усиливает электрические сигналы и используется в сложных цепях.
Это было внутреннее описание. Далее переходим к обзору самого приложения. Компанией Google был создан новый интерфейс прикладного программирования под названием Arduino. Предназначается для связи Android устройства с USB. Открывает большие возможности в создании проектов и упрощает программирование и управление с экрана мобильного телефона. Помогает управлять синхронизацией данных.
Обзор возможностей Arduino:
- создание скетчей;
- их редактирование, компилирование и загрузка в плате;
- программирование и разработка кодов.
Работа производится со смартфона из любой части земного шара. В данном обзоре будут описаны программы, разработанные для удаленного пользования Ардуино, а именно Bluetooth и Wi-fi — контроллерами. Они просты в использовании и позволяют работать с любого гаджета. Проект Ардуино состоит из 3 этапов:
- написание кода;
- макетирование;
- прошивка.
Для программирования этих функций, требуется написать код, который можно удалять по необходимости, и прошить среду разработки. Это многоступенчатый процесс. В нем участвует несколько программ.
Arduino Bluetooth Controller
Эта программа работает в 3 основных положениях:
Контроллер. Приложение демонстрируется в облике play идентификатора и управляется кнопками переключения. Работает одной клавишей, основная функция которой – дистанционное управление.
Диммер. На расстоянии регулирует настройки яркости и скорости.
Терминал. Осуществление отправления директива для дешифрирования.
Установка приложения Arduino Bluetooth Controller сводит несколько устройств по воздушному каналу. Сообщения передаются по датчикам, контроллерам и обратно. Управляя смартфоном при помощи блютуз модулей, также возможно организовать беспроводное соединение целого проекта. Программирование такого типа доступно всем желающим и не требует особых усилий.
ArduinoDroid — Arduino IDE
Используется программистами как средство редактирования кодов и создания программ. Особенность – написанный скетч превращается в СС+, компилируется и грузится в Arduino. Отлично подходит для работы новичков в этой области. Приложением можно пользоваться бесплатно и в открытом доступе.
Первым шагом в использовании будет заливка скетча на микроконтроллер. Далее нажав кнопку «Загрузить» необходимо дождаться окончания загрузки. Мигающий светодиод означает, что все было сделано правильно. Все готово к написанию и использованию прошивок.
ArduinoDroid – легкий в использовании софт. Проводит редактирование, компилирование и загрузку кодов в плату с мобильного устройства или планшета. Так же рекомендуется проводить редактирование шифра или заливать готовый, если программа забанена..
RemoteXY: Arduino Control
Данная программа управления Ардуино, позволяет создать персональную панель. Дистанционное управление происходит через:
- Инет;
- Вай-Фай;
- Ик-порт;
- Блютуз.
На странице http://remotexy.com можно найти и скачать много интересных инструкций. К примеру, как создавать оригинальные клавиши и переключатели. Функционал адаптирован под новичка и не создаст проблем в использовании.
Управление ардуино с компьютера, а именно RemoteXY, возможно через облако. Это превозносит его перед аналогичными русскими софтами Arduino.
Приложение Blynk
Этакий разработчик идей, имеющий открытый вход к запуску на платформе Ардуино. Главное требование в использовании – наличие интернета: Wi-Fi или мобильный трафик. Только в этом случае Blynk будет готов к выполнению. Начать использование можно спустя несколько минут, после окончания настроек. Программой поддерживается АО по выбору пользователя.
Основные функции приложения Blynk заключаются в управлении устройствами при помощи удаления и добавления протоколов HTTP, а также запросов GET и POST. Значения параметров можно обновлять и получать. Запросы обновляются в самом приложении.
Вариативность – важная точка программы. Имея связь с работающими платформами, можно соединиться с сервером любым удобным способом. Данный инстинктивный портал обладает простотой в использовании над проектом. Библиотека постоянно обновляется для всех приложений Arduino Blynk.
Клиентов, желающих включать кофе машинку со своего смартфона, заинтересует это приложение. Это, пожалуй, единственный сервис с подобными возможностями. И не смотря на, то, что он практически безлимитный, является трудным Openhab. В сравнении с другими сервисами обладает быстрой скоростью при запуске.
Bluino Loader – Arduino IDE
ПО для компиляции кода в файл и загрузки его на платформу Ардуино через смартфон и USB OTG. Громоздкие кнопки и запутанные провода значительно усложняют работу над проектами. Для упрощенного контроля удаленным администрированием предоставляется графический идентификатор Bluino Loader IDE. Разрабатывает проекты, доступные триггеру. Подключается к всемирной паутине с помощью: Wi-Fi, Ethernet или через накопитель ESP8266. Когда необходимые процедуры будут выполнены и произойдет начало работы, приложение даст сигнал.
Настройка софта для создания проектов займет не более 5 минут. Матобеспечение настраивается по выбору пользователя. Простой и удобной софт. Для проверки заливают скетч в микроконтроллер и убеждаются в том, что все работает как надо. Мигающий диод подаст сигнал о правильности выполняемых действий. Далее приступают к прошивкам.
Arduino Bluetooth Control
Сокращенное название — ABC. Управляет и контролирует основные возможности API. Используется в мониторинге контактов через Bluetooth. Работает в автономном режиме. Приобщение к работе производит строго из Ардуино.
Инструменты, используемые в процессе:
- Metrics – передает показатели о сбоях и изменениях. Те, свою очередь, приходят на телефон в виде сообщения об остановке работы. Это подобие функции, где встряхнув гаджет можно отправить данные.
- Клавиши с указателями – служат для отправки информации.
- Терминал – варьирует информацией с временными показателями по назначению.
- Accelerometer – управление жестами. Смартфон превращается в механизм для регулирования машины.
- Голос – создает речевые команды. Доступно голосовое общение с роботом.
- Кнопки – функционируют 6 штук в горизонтальном положении. Используются для доставки информации на Arduino.
Управление проектами в дистанционном и удаленном виде стало частой необходимостью. ABC подходит для этих целей на 100%. UART (Serial) предназначается для беспроводного соединения Ардуино и PC. Данное подключение не нуждается в библиотеках и схемах.
BT Voice Control for Arduino
Главное предназначение данного софта – передача ультразвуковых сигналов сквозь преобразователи. Они соединены с платформой Arduino андроид благодаря Bluetooth порту. Главный модуль в работе — HC-05. Он передает интервал между объектами. Данные отображаются в смартфоне и на Hub диске портала, через это приложение.
BT Voice Control – это голосовое управление Ардуино. Владеет функцией распознавания команд: forward, back, left, right. Чувствительные датчики переадресовывают расстояние в объект Arduino. Далее при помощи модуля Bluetooth HC-05 направляет его в приложение. Программа сэкономит время, тратящееся на набор команд вручную.
Virtuino
Программа для Андроид, предназначенная для мониторинга сенсора. Управляет электро устройствами через Bluetooth, Wi-Fi или Интернет.
При помощи Виртуино создаются:
светодиоды;
кнопки;
переключатели;
дисплеи задач;
инструменты;
регуляторы.
Приложение способно совмещать несколько проектов в один. Управляет отличными платформами единовременно через Bluetooth и Wi-fi. Бесплатно в использовании. Относится к подкатегории System Maintenance. Есть возможность проектировать внутреннее оформление с разной визуализацией.
К ним относятся:
- светодиоды;
- переключатели;
- диаграммы;
- счетчики;
- аналоговые приборы.
Обучаться Virtuino можно по учебным пособиям и видео урокам с библиотечной поддержкой. Пока приложение работает в режиме английского языка.
Bluetooth Controller 8 Lamp
Платформа Arduino была создана в 2003 году. Всеобщего внимания она достигла, благодаря низкой цене, а также многомилионному сообществу, направленного на углубленное изучение программирования. Микропроцессоры и микроконтроллеры поставляются с платами. Самыми популярными считаются Arduino. Итальянские модели имеет много функций по расширению и исследованию встроенных Pro систем.
Bluetooth Controller 8 Lamp создан для регулировки функций Ардуино 8 канальным контроллером. Работает при помощи модулей Bluetooth HC-05, HC-06 и HC-07. 8 кнопочный интерфейс соответствует каждой лампочке.
Метод активен только в пределах видимости. В сравнении с другими беспроводными способами — этот самый дешевый. Комплектующие платы стоят менее 1 доллара. Для работы подходят даже подержанные варианты. Статичные девайсы, используя инфракрасный контроллер в потолочных светодиодных лентах, решают легко проблемы, возникшие в процессе.
IoT Wi-Fi контроллер
Интерфейс этого приложения показывает все операции ввода и вывода на Ардуино. Переключение GPIO и показания АЦП управляют гаджетом в реальном времени.
Добавить WI-Fi к устройствам возможно с помощью IoT контроллера. Он имеет 8-битный микроконтроллер и IMU (Inertial Measurement Unit). Соединение защищено однокристальным крипто-ускорителем ECC 608.
Уникальный интерфейс IoT Wifi Controller отображает контакты в реальном времени с подробной информацией, благодаря уровню GPIO. Показатели ADC также можно подключать к плате с помощью телефона (Айфона) или маршрутизатора.
Не реализованные функции:
- расширенная подсветка анаграмм;
- автозаполнение;
- руководства для объединения других приложений.
Базы Uno R3 и FTDI в данное время поддерживают рабочее состояние платы Arduino. В процессе находится разработка Mega, Due и Nano. Используемые в обучении платы Arduino — USB кабель OTG не влетит в копеечку. Стоимость до 2 долларов.
Программа «умный дом» работает при помощи платформы Arduino. В данном случае используется данный андроид и сама платформа. Для работы совместили домашние и веб серверы. Результат превзошел ожидания. Теперь при помощи мобильного устройства можно управлять системой целого дома: включать и выключать свет, электрические приборы, закрывать двери, окна и другое.
В статье рассмотрены 10 обзорных приложений — для платы «Ардуино». В процессе работы и изучения не возникнет проблем с программированием Windows и в других. Затруднения решаются подключением к пинам. Те в свою очередь аппаратно запрограммированы UART. Далее используются традиционные библиотеки.
Регулирование платформы Ардуино и ее «помощников», увеличивают программирование и соприкосновение с другими устройствами. Регулировка показателей, изменение настроек, создание роботов и машин – это теперь делается, при помощи удаленного контроля и управлению. Эта самая популярная плата, используемая в программировании. Необходимые запчасти и аксессуары для работы и учебы, продаются по доступной цене в соответствующем магазине компьютерной техники.
Arduino cкачать на Windows бесплатно
Для создания проектов, написания прошивки и загрузки в микроконтроллер следует скачать Arduino. Программа предусматривает установку на компьютеры с ОС Windows, Mac OS, Linux.
После скачивания и установки появляется возможность создавать и редактировать алгоритмы для управления элементами Arduino-контроллера. Разработчики написали среду на языке Java. Установочный файл включает редактор кода, процедуру обновления, обработчик компилятора.
Главные преимущества Arduino для Windows:
- приложение доступно в русскоязычной вариации;
- среда разработки кроссплатформенна;
- панель инструментов оснащена необходимым набором функций для написания алгоритмов;
- пользователь вправе скачать и установить понравившийся текстовый редактор, связать с Arduino, создавать и редактировать документы с программным кодом;
- после запуска написанный скетч проверяется на наличие ошибок, переводится в С++, проходит компиляцию и загружается в среду разработки;
- каждая плата утилиты совместима с одноименной средой;
- приложение использует открытый исходный код.
Загрузить Arduino на ПК – значит, выбрать портативную или инсталляционную вариацию, установить бесплатно дополнительные драйвера, настроить программное средство. Кроссплатформенная среда позволяет подгружать библиотеки. Если плагины устарели, то нужно скачать подходящую вариацию или самостоятельно внести коррективы в незаменимые блоки.
Наш сайт предлагает скачать бесплатно ардуино для компьютера и установить файл.
Скриншоты
● Установка Arduino IDE
Разработка собственных приложений на базе плат, совместимых с архитектурой Arduino, осуществляется в официальной бесплатной среде программирования Arduino IDE. Среда предназначена для написания, компиляции и загрузки собственных программ в память микроконтроллера, установленного на плате Arduino-совместимого устройства. Основой среды разработки является язык Processing/ Wiring – это фактически обычный C++, дополненный простыми и понятными функциями для управления вводом/выводом на контактах. Существуют версии среды для операционных систем Windows, Mac OS и Linux.Последнюю версию среды Arduino можно скачать со страницы загрузки официального сайта www.arduino.cc.
Рассмотрим установку Arduino IDE на компьютере с операционной системой Windows. Отправляемся на страницу www.arduino.cc, выбираем версию для операционной системы Windows и скачиваем архивный файл. Он содержит все необходимое, в том числе и драйверы. По окончании загрузки распаковываем скачанный файл в удобное для себя место.
Теперь необходимо установить драйверы. Подключаем Arduino к компьютеру. На контроллере должен загореться индикатор питания – зеленый светодиод. Windows начинает попытку установки драйвера, которая заканчивается сообщением «Программное обеспечение драйвера не было установлено». Открываем Диспетчер устройств. В составе устройств находим значок Arduino Uno – устройство отмечено восклицательным знаком. Щелкаем правой кнопкой мыши на значке Arduino Uno и в открывшемся окне выбираем пункт Обновить драйверы и далее пункт Выполнить поиск драйверов на этом компьютере. Указываем путь к драйверу – ту папку на компьютере, куда распаковывали скачанный архив. Пусть это будет папка drivers каталога установки Arduino – например, C:\arduino-1.0\drivers. Игнорируем все предупреждения Windows и получаем в результате сообщение Обновление программного обеспечения для данного устройства завершено успешно. В заголовке окна будет указан и COM-порт, на который установлено устройство.
Теперь можно запускать Arduino IDE.
Среда разработки Arduino (см. рис. 2) состоит из:
• редактора программного кода;
• области сообщений;
• окна вывода текста;
• панели инструментов с кнопками часто используемых команд;
• нескольких меню.
Рис. 2. Среда Arduino IDE
Программа, написанная в среде Arduino, носит название скетч.
Скетч пишется в текстовом редакторе, который имеет цветовую подсветку создаваемого программного кода. Во время сохранения и экспорта проекта в области сообщений появляются пояснения и информация об ошибках. Окно вывода текста показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины.
Разрабатываемым скетчам дополнительная функциональность может быть добавлена с помощью библиотек, представляющих собой специальным образом оформленный программный код, реализующий некоторый функционал, который можно подключить к создаваемому проекту. Специализированных библиотек существует множество. Обычно библиотеки пишутся так, чтобы упростить решение той или иной задачи и скрыть от разработчика детали программно-аппаратной реализации. Среда Arduino IDE поставляется с набором стандартных библиотек. Они находятся в подкаталоге libraries каталога установки Arduino. Необходимые библиотеки могут быть также загружены с различных ресурсов. Если библиотека установлена правильно, то она появляется в меню Эскиз | Импорт библиотек. Выбор библиотеки в меню приведет к добавлению в исходный код строчки #include <имя библиотеки.h> Эта директива подключает заголовочный файл с описанием объектов, функций и констант библиотеки, которые теперь могут быть использованы в проекте. Среда Arduino будет компилировать создаваемый проект вместе с указанной библиотекой.
Перед загрузкой скетча требуется задать необходимые параметры в меню Инструменты | Плата (Tools | Board) (рис. 3) и Инструменты | Последовательный порт (рис. 4).
Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса загрузки будут мигать светодиоды RX и TX. При загрузке скетча используется загрузчик (bootloader) Arduino – небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Работа загрузчика распознается по миганию светодиода на цифровом выводе D13.
Монитор последовательного порта (Serial Monitor) отображает данные, посылаемые в платформу Arduino (плату USB или плату последовательной шины). Теперь, когда мы немного узнали об Arduino и среде программирования Arduino IDE, перейдем к практическим занятиям – экспериментам.
Рис. 3. Выбор Arduino платы
Рис. 4. Выбор порта подключения платы Arduino
Не волнуйтесь, если при первом подключении Arduino, компьютер не смог определить новое устройство.
Вам будет достаточно загрузить и установить последнюю версию драйвера USB-SERIAL Ch440.
У вас должно всё получиться. Теперь переходим к УРОКАМ И ПРОЕКТАМ ARDUINO.
Немного о скорости выполнения программ на Arduino-совместимых платах. Часть 2: Пишем программу оптимально: пора сниматься с ручника
В прошлой части было рассказано об основных факторах, влияющих на скорость выполнения программ, а также были описаны методы её повышения повышением вычислительной мощности платы.
Скорость выполнения программы сильно зависит от вычислительной мощности процессора. Но больше всего на скорость выполнения программы влияет её структура. И для ускорения работы программы её нужно оптимизировать, сокращая число операций, выполняемых в критичных к скорости местах программы.
Рассмотрим это на примере одних из самых часто выполняемых операций – на примере цифрового вывода в линию порта функцией digitalWrite. Вы когда-либо задавали себе вопрос «Сколько времени занимает запись единицы или нуля в линию порта?». Вряд ли. На это редко обращают внимание. А зря…
Давайте измерим время выполнения функции digitalWrite. Для этого возьмём стандартный скетч «Blink» и просто уберём из него задержки (рис. 1) – будем как можно быстрее записывать в линию порта ноль и единицу. Загрузим получившийся скетч в плату и логическим анализатором измерим продолжительность единицы и нуля на линии порта (рис. 2).
Результаты удивляют — примерно по 7.5 мкс (микросекунд) на запись единицы и нуля. Удивляют тем, что такая простая функция может съедать так много времени.
Одна операция выполняется микроконтроллером семейства AVR за один такт. При стандартной тактовой частоте 16 МГц на выполнение одной элементарной операции уходит 0,0625 мкс. Следовательно, функция digitalWrite состоит из примерно 120 элементарных операций. Много это или мало? Это ужасно много. Забегая наперёд, скажем, что для этого достаточно всего двух элементарных операций. Так почему же функция digitalWrite содержит аж 120?
Всё кроется в самой концепции Arduino. Платформа Arduino предназначена для новичков, поэтому в ней реализовано максимальное удобство для пользователя, местами в ущерб другим характеристикам. Например, пользователь при использовании функции digitalWrite оперирует лишь условным номером линии порта (№15 в нашем примере). Ему, в частности, не нужно знать внутреннюю структуру аппаратных портов микроконтроллера, допустимые режимы работы каждой линии порта, их привязку к выводам самого микроконтроллера. Этим всем, как раз, и занимается функция digitalWrite. Она ищет соответствующие условному номеру регистры аппаратного порта, проверяет, в каком состоянии нужная линия порта, в каком режиме она работает (не используется ли эта линия порта при работе цифровых интерфейсов, ШИМ и т. д.). К тому же, эта функция написана не оптимально.
Забота о пользователях – это, несомненно, хорошо. Но что, если вы уже стали опытным ардуинщиком и в вашем новом устройстве важна скорость работы программы? Решение есть. Реализуем цифровой вывод в линию порта стандартным способом языка С – просто запишем значение «1» и «0» в нужный разряд нужного регистра микроконтроллера по схеме платы. Для этого найдём соответствующие наименование регистра и номер разряда. В нашей плате условной линии №15 соответствует линия PB7 — разряд 7 порта В, значит нам нужны регистр PORTB, 7-й разряд. Исправляем скетч, как показано на рис. 3, загружаем скетч в плату и повторяем измерения.
Смотрим на результаты (рис. 4). Ну это же совсем другое дело! Всё, как мы говорили (ну почти): 0,125 мкс (2 операции) на запись нуля и 1 мкс (16 операций) на запись единицы (из них 2 – собственно запись и ещё 14 безжалостно съедаются функцией loop, которая тоже не оптимизирована). То есть, на один цикл работы у нас теперь уходит 1.125 мкс (18 тактов) вместо 15 мкс (240 тактов) – мы ускорили работу программы более чем в 13 раз. Но это – не предел оптимизации. Продолжение — в следующей части.
Выводы:
- Структура программы сильно влияет на скорость её выполнения, поэтому критичные к скорости участки программы обязательно нужно оптимизировать.
- Стандартные функции Arduino написаны неоптимально, но зато имеют защиту от неопытности пользователей.
Эмулятор ардуино – Что делать, если под рукой нет платы?
Что делать, если у вас под рукой нету платы Arduino UNO, или любой другой Arduino. А у вас есть свежая идея или написанный алгоритм. Не беда, эмулятор ардуино поможет вам решить данную проблему. Достаточно будет сымитировать работу той или иной платы. Есть только большое НО. Виртуальная программа никогда не заменит реальную плату. Так что рекомендую эмулировать с пониманием, что не все процессы могут пойти гладко.
Из этой статьи вы узнаете:
Virtual BreadBoard
Autodesk Circuits
Здравствуйте, друзья! Я очень рад приветствовать вас на страницах блога. Если вы наткнулись на эту статью, вероятно у вас под рукой нет устройства, и вы хотите попробовать отладить свой скетч.
Я понимаю, что сейчас куча магазинов, можно купить всё что угодно. Но к сожалению не все имеют возможность сразу приобрести электронную плату. Я не исключение, так как живу в Краснодарском крае, в городе Армавире. И купить плату я могу только через интернет-магазин.
Совершенно недавно я случайно наткнулся на новую разработку — микроконтроллер под управлением Python. Самый сок заключается в том, что достаточно просто написать в текстовом файлике небольшой скрипт с нужными библиотеками, закидываете в мозг процессора и вуаля!
Имя этому проекту MicroPython. В России он не популярен. К сожалению невозможно купить. Можно заказать только в буржуйских магазинах. Но это достаточно дорого. Жалко, но что поделать.
Вот такая миниатюрка:
Американцы идут далеко вперёд. Может есть нечто подобное в России? Я чего-то не знаю? Напишите в комментариях…
Из эмуляторов я нашёл в интернете две программы — Virtual BreadBoard и AutoDesk Circuit.
Virtual BreadBoard
Данная программа выпущена самой компанией Arduino в 2015 году. В ней вы можете смоделировать схему совместимую с основной платой и шильдами. Написать код и опробовать на модели.
Теперь, я взял в руки мышку, скачал программу VBB версии 5.57.
Вот такое у нас получается окошечко:
Что вы можете сделать в этом эмуляторе?
- С её помощью можно написать код для отладки программы;
- Можно собрать схему для испытаний и наладки;
- Virtual BreadBoard может эмулировать несколько компонентов и контроллеров Arduino.
Все созданные проекты могут работать автономно в этом конструкторе. Можете применять кучу элементов для построения своих электрических схем.
Все программы проходят обработку предпроцессором, потом компилируются в код.
Программа на борту у себя имеет:
- Компилятор;
- Редактор кода;
- Плату для ввода\вывода;
- Программный клиент;
- Модуль передачи прошивки на Arduino;
Autodesk Circuits
Есть ещё один не менее интересный онлайн эмулятор для Arduino. Маленькая деталь заключается в том, что всё на английском языке. Но когда это останавливало хорошего программиста. Ловите официальный сайт.
В веб-браузере без паяльника проводов и плат можете спокойно собирать схемы и обкатывать ваш код.
Можно накидывать различные компоненты из элементной базы к виртуальной Arduino.
В бесплатной версии все ваши платы будут находиться в открытом доступе, то есть ваши проекты будут светиться у всех.
Есть другой вариант, платный — 25 $ в месяц, вам выделяют сервер для творчества. Я так думаю, в большей степени сервис нужен для проектировщиков.
Я лично предпочитаю всё делать на реальной плате, с реальным отладчиком, с реальными железками.
На эмуляторе никогда не будет идеальной модели. Как она будет работать на самом деле?
Но, моя задача выполнена, я нашёл возможные эмуляторы и рассказал об этом вам. Если я что-то не обозначил, пишите в комментариях, я исправлю.
До встречи в следующих статьях.
С уважением, Гридин Семён
Arduino IDE: разбираемся с меню Tools и некоторыми другими функциями.
Итальянцы молодцы. Запустили в мир DIY настоящего монстра. С появлением экосистемы Arduino весь рынок цифрового DIY получил мощнейший толчок. Тысячи, сотни тысяч, миллионы пользователей принялись покупать оригинальные и совместимые платы для их последующего программирования и использования в своих поделках. Причина такой популярности в первую очередь связывают с низким порогом для входа в эту среду. Вам не нужно тратить много денег на приобретение плат: открытый стандарт дал дорогу на рынок множеству последователей и копировщиков. Вам так же не стоит сильно заморачиваться над программированием: поставляемая «в комплекте» Arduino IDE упрощена настолько, насколько это возможно. Пользователь просто пишет код и не задумывается о настройках компилятора, о том, что программировать при помощи Arduino IDE можно разными программаторами, а иногда и вообще голые микросхемы.
И вот, наступает момент, когда стандартная Arduino IDE становится тесновата, а ее неудобство начинает просто выбешивать, особенно, если пользователь знаком с более продвинутыми средами разработки по другим платформам и языкам программирования. Кто-то начинает мигрировать на что-то более интересное, например, на Atom или VS.Code в смеси с PlatformIO, а кто-то старается выжать из Arduino IDE все, что только можно.
Сегодня я выступлю как раз в роли подобного «особо интересующегося персонажа» и попробую вместе с читателем разобраться чуть-чуть побольше в тонкостях Arduino IDE. Все ниженаписанное более-менее соответствует версии 1.8.9 Arduino IDE.
Темная тема для Arduino IDE
Очень многих раздражает простенькое оформление Arduino IDE в корпоративных цветах Arduino. Все такое белое и «слепое». Долго работать в таком цветовом решении не всегда комфортно, особенно если это ночь, вокруг темно и все спят.
Вариант темной темы под Mac. Скриншот с GitHub.
Для такого случая сторонний разработчик разработал так называемую темную тему, тему которая позволяет вернуть знакомый с детства вариант черного фона и светлого текста на нем. Тема не идеальна, так как не позволяет полностью настроить все нюансы, но ограничение это связано не с самой темой, а с ограничениями Arduino IDE. Тему, при желании, можно подредактировать самостоятельно.
Меню Sketch
Я, как и большинство других пользователей Arduino IDE, загружаю свои скетчи в платы при помощи панели инструментов. Щелкнул на кнопку загрузки и скетч начал заливать в плату. Удобно. Но, как оказывается, меню Sketch (здесь и далее я буду использовать английский вариант интерфейса Arduino) содержит не мало интересных и полезных новшеств. Итак, кратенько пробежимся по ним.
Меню Sketch Arduino IDE
Пункты меню Very/Compile и Upload стандартны и знакомы всем. Именно они используются для проверки правильности кода и последующей нормальной загрузки. А вот пункт Upload using programmer для меня до недавнего времени оставался Terra incognita. Как оказалась, данный пункт необходимо применять при загрузки скетча без использования загрузчика (bootloader), но с использованием полноценного программатора. О загрузчиках и программаторах поговорим немного позже, пока же просто запомним этот пункт.
В этом же меню присутствует весьма полезный пункт Export compiled Binary. Применяется он в том же направлении, что и Upload using programmer. По умолчанию Arduino IDE компилирует исходный код в файл, который сохраняется во временную директорию и после завершения загрузки она должна очищаться. Временная директория находится в каких-то дебрях файловой системы, а искать там скомпилированный файл с непонятным наименованием — то еще удовольствие. Так вот функция Export compiled Binary как раз и применяется для того, чтобы сохранить уже откомпилированный скетч в виде бинарных-файлов в папке самого скетча. В дальнейшем скомпилированные скетчи могут быть прошиты при помощи внешнего программатора или же USB-TTL преобразователя.
Кстати, просмотреть папку скетча можно все через тоже самое меню Sketch при помощи пункта Show Sketch Folder. Кстати, при вызове Export compiled Binary компилируется сразу два файла: с и без загрузчика. Для чего это нужно, опять же немного ниже. При компилировании при помощи Export compiled Binary следует учитывать, что примеры из поставки Arduino так откомпилировать не выйдет. Папки, в которых хранятся эти скетчи имеют режим только для чтения, а IDE необходимо куда-то записать скомпилированные файлы (обычно в таком случае возникает ошибка «Export canceled, changes must first be saved.»). Поэтому тренируемся на своих собственных скетчах или же пересохраняем скетч в новую папку.
Меню Tools
Меню Tools в Arduino IDE дает куда больше интересного и полезного, нежели Sketch. Более того, сам вид меню зависит от того, какую платформу вы выбрали в качестве целевой.
Меню Tools Arduino IDE с выбранным микроконтроллером семейства AVR.
Начнем с общего и тех пунктов, которые есть в оригинальных платах, построенных на микроконтроллерах Atmel (ее все же купила Microchip).
Пункт Auto Format позволяет отформатировать ваш исходный текст по общепринятому в Arduino IDE стандарту. Отформатированный текст позволяет легче находить ошибки, да и сама программа выглядит опрятно. Так же, зачастую, при форматировании при помощи автоформата получается найти такие ошибки, как отсутствующие скобки, что при большом количестве вложений несколько затруднительно. Оная же функция вызывается и в самом редакторе в контекстном меню доступном по правой кнопке мышки.
Archive Sketch позволяет упростить навигацию по папке в которой хранятся все ваши скетчи. Напомню, что каждый скетч хранится в отдельной папке, куда складывается все, что к нему относится. Если скетчей у вас много, особенно если плодить версии в новых папках, то разобраться во всем этом нагромождении становится очень сложно. Для этого и можно применить функцию архивирования. Папка со скетчем будет сжата в архив ZIP, а затем стерта из каталога. Останется только архив.
Serial Plotter противовес Serial Monitor предназначен для вывода графика из данных выдаваемых в последовательный порт. Все, что от вас требуется для построения графика — выплевывать в порт цифры при помощи Serial.println(). Неплохой пример использования плоттера приведен на страницах проекта wikihandbk.
Приведенные выше пункты стандартны. Их использование, вкупе с Library Manager должны быть известны даже неопытным пользователям. А дальше попробуем погрузиться в чащобы Arduino IDE и мир программирования микроконтроллеров.
WiFi101 / WiFiNINA Firmware Updater
Сетевое взаимодействие для оригинальных плат Arduino всегда было ахиллесовой пятой. Их просто нет в стандартной поставке, а все решения в виде внешних плат настолько ди́ки, что просто пропадает всякое желание их использовать. По этой причине многие используют платы на основе ESP8266, которые дешевле, мощнее и сразу с WiFi на борту. Но итальянцы, да и ардуинщики вообще, ребята упорные, поэтому вместо того, чтобы переходить на нормальные платы, продолжают изобретать очередные ужасы, к которым и относятся WiFi101 и WiFiNINA.
WiFi 101 Shield. Взято откуда-то с просторов сети.
Собственно этот пункт меню предназначен для обновления прошивки и сертификатов соответствующих плат.
Arduino Uno с платой WiFi под библиотеку WiFiNINO
Дичь полнейшая и подобные платы лучше не использовать, так как они до жути непопулярны, стоят дорого, потребляют уйму энергии. В общем, гораздо проще и элегантнее все решается на базе плат семейства ESP. В целом на Arduino присутствует подробный туториал, где разжевано как и что обновляется при помощи данной функции.
ESP Exception Decoder
Плагин для Arduino IDE под непонятным названием ESP Exception Decoder предназначен для более легкой отладки программ под платформу ESP8266. Exception или «исключение» обозначает возникновение ошибочной ситуации которая не была корректно обработана кодом. Например, деление на 0 однозначно вызовет исключение, и работа программы будет прервана. В языке, на котором программируют в Arduino IDE нет возможности использовать блоки try {} catch {}, соответственно работа с исключениями невозможна (точнее по синтаксису он есть, но компилятор его отвергнет, по крайней мере для плат на основе AVR). Программист обязан предусматривать и проверять данные и предупреждать возникновение подобных ситуаций. Иначе результат может быть непредсказуемым.
На первоначальной экосистеме Arduino, построенной на Atmel AVR (об этом опять же дальше) нет места исключениям. И даже несмотря на то, что язык, применяемый для программирования в Arduino IDE есть ни что иное как диалект C++, в нем так же нет исключений и они не поддерживаются компилятором, ибо в AVR нет исключений, слишком там мало места для еще и исключений. Сильно жизнь это не осложняет, просто программы пишутся куда более аккуратно. А вот в экосистеме ESP, в том числе и под Arduino, исключения присутствуют.
И в этом возникает проблема. При возникновении исключительной ситуации, того же деления на 0, микроконтроллер, например, esp8266 выдаст в последовательный порт информацию о возникновении исключения, стек вызовов функций, где оно возникло, сохранит некоторые сведения во внутренней памяти (к ним можно будет обратиться после перезагрузки).
Вот такую вот информацию сохраняет esp8266 после перезагрузки. В этом случае произошла перезагрузка по питанию.
Система в чипах ESP более замороченная, чем в AVR и при возникновении нештатной ситуации выплевывает в последовательный порт некий стек адресов, по которым можно добраться до истинной причины возникновения ошибки. Но выдаются адреса в совсем нечитаемом человеком виде. Чтобы сопоставить строчку в исходном коде с конкретным адресом, выданным в стеке, и был придумал ESP Exception Decoder.
Намеренный вызов исключения на WeMos Mini
После возникновения ошибки необходимо перенести стек в декодировщик и он выдаст «путь» по которому можно дойти до строки в годе где и возникла исключительная ситуация. В некоторых случаях функция исключительно удобная. Ознакомиться с подробной инструкцией по применению декодировщика можно на страничке проекта ESP Arduino Core.
Get Board Info
Пожалуй, самая бесполезная функция, которое позволяет, в некоторых случаях, понять, какая плата подключена к компьютеру для прошивки. В большинстве случаев вы это и так знаете. А если не знаете, то функция отобразит, опять же, в большинстве случаев информацию только об оригинальных платах.
Burn Bootloader
Наконец-то мы начинаем подбираться к действительно интересным пунктам меню. Начнем с пункта загрузки загрузчика (Burn Bootloader). Но для начала попытаемся понять, что такое bootloader и для чего он нужен. В старые далекие ламповые времена тоже существовали программируемые микросхемы. Но программировались они весьма жестким способом. Использовался специальный программатор, в который вставлялась микросхема, происходило таинство, и микросхему можно было использовать в оборудовании.
Сей способ с одной стороны достаточно прост, но с другой он очень неудобен. Ведь чтобы сменить прошивку на уже прошитой микросхеме, если это вообще возможно, ее необходимо вытащить из устройства, установить в программатор и повторить процедуру. Что далеко не всегда возможно, так как микросхема может быть впаянной в плату и без специализированного оборудования достать ее оттуда нельзя или же само устройство летает на спутнике. Именно для этих целей была придумана методика ISP (In-System Programming), что в переводе означает ни что иное как «внутрисхемное программирование». ISP не стоит путать с SPI (Serial Peripheral Interface). ISP это именно внутрисхемная прошивка, а SPI это стандарт взаимодействия между устройствами. И пусть даже вас не вводят в заблуждения сильно похожие разъемы и наименования контактов. ISP и SPI это разные вещи.
В общем случае ISP позволяет программировать микроконтроллер через любой его интерфейс и даже программироваться самостоятельно с изменением своего кода посредством своего собственного же кода. Но для осуществления подобных фокусов требуется некая программа, которая будет сидеть в микроконтроллере и управлять этим программированием. Именно она и называется загрузчиком (bootloader). И именно благодаря ей есть возможность прошивать микроконтроллеры просто подключив их к USB-порту, или же применив простейший программатор на параллельном порту компьютера (у кого они еще остались), а в некоторых случаях обновление прошивки можно загружать вообще по воздуху применяя прием OTA (Over The Air).
Вообще микроконтроллер можно прошить и без загрузчика. Именно для этих целей и предназначен соответствующий пункт в меню Sketch. В этом случае места под ваш скетч в памяти микроконтроллера будет больше. Однако, в последствии уже нельзя будет загрузить обновление прошивки обыкновенным путем. Придется при помощи программатора либо прошить загрузчик, либо далее прошивать прошивку без загрузчиков.
Для Arduino существует несколько вариантов загрузчиков. Стандартный, который прошивается еще при изготовлении платы Arduino, многие не любят. Дескать он притормаживает при загрузке устройства в ожидании передачи данных для прошивки и только спустя десять секунд запускает ваш прошитый скетч. Дело в том, что некоторые платы Arduino, в которых не реализован механизм DTR (Data Terminal Ready) / RTS (Ready To Send) действительно нужно прошивать очень быстро иначе bootloader просто передаст управление той микропрограмме, что уже находится в микропроцессоре. Вот и начали все, кому не лень, модифицировать штатный загрузчик или же писать свой собственный.
Стандартные загрузчики для плат Arduino
Где брать загрузчики? Вообще стандартный загрузчик можно загрузить прямо из Arduino. Для этих целей и предназначен пункт меню Burn Bootloader. А сами загрузчики из стандартной поставки можно найти в папке с установленным Arduino в поддиректории hardware. Если же вы используете платы отличные от Arduino AVR, например, ESP3288, то все дополнительные загрузчики и прочие инструменты можно найти в личном профиле пользователя (AppData\Local).
Загрузчик для плат семейства ESP
Но если вы скачиваете дополнительные загрузчики и хотите установить их в Arduino IDE, то можно использовать папку hardware в вашем каталоге для скетчей. После перезагрузки IDE загрузчики из этой папки так же будут доступны, однако не следует забывать про файл boards.txt который должен присутствовать в подпапках папки hardware. Если у вас вдруг нет текстового редактора или же вы испытываете трудности с редактированием boards.txt то есть решение. Один энтузиаст создал специальную программу Arduino BOARDS.TXT Editor, которая позволяет с легкостью вносить изменения в указанный файл.
Так, где же брать эти самые альтернативные загрузчики? Искать в сети. Поисковики выдают просто немыслимое количество разнообразных вариантов. Для начала можно остановиться на OptiBoot, попробовать калькулятор «формирующий» загрузчик под конкретную плату или начать просматривать ссылки с официальной страницы загрузчиков Arduino.
И подводя промежуточный итог, если нам нужно загрузить прошивку без загрузчика (так для нее останется больше места) в микроконтроллер, то подключаем его к программатору и загружаем прошивку через Sketch – Upload Using Programmer. Если же хотим вернуться к обычной и удобной загрузке скетчей через среду Arduino по USB и без прочих танцев африканских народов, то прошиваем загрузчик обратно (или же мы купили микроконтроллер без загрузчика) уже посредством Tools – Burn Bootloader. В обоих случаях незабываем про корректный выбор платы, программатора и прочих настроек.
И еще раз, если в плате установлен загрузчик, то после перезагрузки платы он первым получит управление, послушает немного выделенные порты в надежде если вдруг там кто-то хочет залить прошивку. Если признаков заливания прошивки нет, то он со спокойной душой передает управление основной программе. А если в плате нет загрузчика, то тогда управление после перезагрузки сразу передается основной программе. Все просто, по крайней мере на пальцах.
AVR и прочие
Для лучшего понимания дальнейшей информации я хочу привести некоторые сведения о самих микроконтроллерах с которых пошло-поехало Arduino. Мы уже знаем, что оригинальные Arduino построены на микроконтроллерах (больших интегральных схемах, которые можно программировать и которые могут работать и сами по себе без внешней обвязки, подавай только напряжение) от компании Atmel (нынче Microchip).
У компании Atmel наработано несколько линеек микроконтроллеров, но нас в первую очередь интересует линейка AVR (кстати, аббревиатура AVR официально никак не расшифровывается), так как именно на ней и построены оригинальные Arduino. Линейка появилась аж в 1996 году и, пожалуй, была одна из первых на рынке предложившей решение, где микроконтроллер и память (ОЗУ и ПЗУ) расположены в рамках одного единственного кристалла. Повторюсь, чтобы система работала достаточно только одной микросхемы AVR на которую подается питание. Все остальное у нее уже есть внутри.
AVR линейка делится на несколько основных групп:
- tinyAVR – с уменьшенным количеством линий ввода-вывода, уменьшенным количеством памяти всех типов, обозначается как ATtinyxxx.
- megaAVR – увеличенное количество памяти всех типов, увеличенное количество линий ввода-вывода, расширенный набор для периферии и тому подобное. Обозначается как ATmegaxxx.
- XMEGA – ко всему увеличенному у megaAVR тут еще увеличили памяти и добавили встроенный контроллер для быстрой работы с памятью. Обозначается как ATxmegaxxx.
Именно микросхемы AVR обеспечивают поддержку таких функций как АЦП, ШИМ, SPI, I2C и прочих. Arduino же просто их использует (хотя с появлением более мощных микроконтроллеров, тех же esp8266, появилась возможность эмуляции вышеназванных функций программным способом).
И вопреки возможности прошивки AVR методом ISP посредством стандарта SPI через установленный загрузчик, для программирования микроконтроллеров применяется великое множество программаторов. Как простых и собираемых на коленке, так и сложных с внешним питанием и обилием всевозможных функций. Но прежде, чем мы перейдем к рассмотрению программаторов следует пояснить еще один момент. При программировании микроконтроллера с использованием внешнего программатора (без использования загрузчика) необходимо четко понимать, что такое fuses или не трогать настройки, связанные с ними, если такого понимания нет. Fuse/фьюзы/предохранительные биты — это настройки внутри микроконтроллера, в частности AVR. Они прошиваются точно так же, при помощи внешнего программатора (без применения ISP). И обычно применяются для настройки самого микроконтроллера, например, можно включить или отключить возможность самопрошивки контроллера, включение или отключение внешнего сброса устройства (и соответственно возможности его прошивки через bootloader), включение и отключение очистки памяти при перепрограммировании чипа и тому подобное. Подробнее ознакомиться с фьюзами можно (и нужно) в документации к конкретному контроллеру. К чипу ATmega328, одному из самых популярных чипов на Arduino, документация доступна на официальном сайте производителя.
Programmer:
Пожалуй, что пункт меню Tools под кодовым названием Programmer является самым таинственным местом всего Arduino IDE. Информации по данному пункту очень мало, и она настолько скудна что может привести к разочарованию даже самого стойкого прагматика. Очевидно, что данный пункт содержит выбор программаторов для программирования плат. И кажется, что одну и ту же плату можно запрограммировать кучей разных способов и программаторов. Но, а что же нам на этот счет говорит документация к Arduino IDE? А она нам вещает о том, что данный пункт меню Tools имеет смысл только при прошивке загрузчика. Во всех остальных случаях используемый «прошивальщик» зашит в тот самый boards.txt, что обсуждался немного ранее. Причем для микроконтроллеров AVR это всегда avrdude, а для ESP это всегда esptool. Кроме того, для плат AVR может применяться, в штатной поставке, целых два различных протокола «закачки» прошивки в микроконтроллер: avr109 и arduino. Разные протоколы, как не сложно догадаться, применяются для разных загрузчиков, установленных в конкретные микроконтроллеры.
В штатной поставке Arduino IDE с подключенной инфраструктурой ESP для прошивки загрузчика можно применить несколько типов программаторов. Кратко пройдемся по ним всем. По факту все AVR в Arduino IDE прошиваются посредством приблуды AVRDUDE (бывший AVRProg) и различия между «программаторами» только в используемом протоколе и настройках AVRDUDE. На текущий момент AVRDUDE поддерживает 39 программаторов, но в Arduino IDE используется только 14. Ознакомиться с настройками каждого из них можно в файле programmers.txt в той самой директории hardware, где складируется файлик boards.txt. Информация по настройкам для каждого из программатора доступна в файле avrdude.conf (располагается обычно в Arduino\hardware\tools\avr\etc) и в куцей документации к самому AVRDUDE.
AVR ISP
AVRISP есть ни что иное как фирменный программатор от Atmel. Он позволят программировать AVR. И похоже, что на этом все. Мне ну далось найти хоть сколько-нибудь достоверной информации про данный программатор, кажется, что он сошел со сцены и осел где-то в дебрях плат у аксакалов еще до появления Интернет.
Отладочная плата Atmel STK500. Фото производителя.
Единственное, что хоть как-то проливает свет на данный программатор, так это то, что он по факту является частью STK500 (такая отладочная плата для AVR от Atmel) версии 1, которая подкачается к компьютеру посредством последовательно порта.
AVRISP mkII
А вот AVRISP mkii является актуальным программатором, подключаемым к USB. По крайней мере о нем есть информация на сайте производителя и большинство безродных программаторов, которые продаются бесчисленными компаниями как раз и являются клонами именно этого программатора.
Фирменный программатор AVRISP mkII. Фото производителя.
Тем не менее, он так же является частью отладочной платы STK500, но уже версии 2, которая подключается к компьютеру уже по интерфейсу USB. Хотя, по отзывам очевидцев и версия 1 может использовать с USB посредством конвертера COM-USB.
USBtinyISP
Это один из программаторов, который можно собрать своими руками, он прост и дешев, а в качестве «сердца» у него используется чип tinyAVR. Вот только возникает вопрос – как же его прошивать, если он сам и предназначен для прошивки AVR?
Тем не менее, программатор поддерживается Arduino IDE и весьма популярен. Программатор был разработан в Нидерландах, но в настоящее время поддерживается AdaFruit.
ArduinoISP и ArduinoISP.org
Что подразумевали под этими двумя программаторами разработчики Arduino IDE остается только гадать, да угадывать. Сайт ArudinoISP.org дает перенаправление на туториал на сайте Arduino.cc по использованию Arduino as ISP. Единственное отличие этих двух от Arduino as ISP только лишь используемый протокол. Вероятно, что они были когда-то собраны в качестве поддержки особого загрузчика, а с течением времени исчезли с лица истории. По крайней мере в документации AVRDUDE никакого упоминания ни про arduinoisp ни про arduinoisporg просто нет.
USBasp
Еще один простой программатор, который можно собрать дома на коленке. И он тоже построен на чипе от Atmel. Проект был развернут немецкий программистом, а затем подхвачен всем миром. Как и с USBtinyISP чип от Atmel для программатора необходимо запрограммировать.
Parallel Programmer
Данный тип программатора считается одним из самый простых, если не самым простым. По сути «параллельный программатор» — распиновка параллельного порта компьютера и соответствующее программное обеспечение.
Для сборки данного программатора требуется компьютер с параллельным интерфейсом (раньше по нему было модно подключать принтеры) и всего три резистора двух номиналов. Подробная схема (от руки) и описание по сборке (с фотографиями) доступна на официальном сайте Arduino.
Arduino as ISP
Поскольку платы Arduino сами по себе являются микроконтроллерами, да еще и с навороченными входами/выходами, то их вполне можно использовать в качестве программаторов.
Для этого в плату Arduino закачивается скетч из примеров под именем ArduinoISP, соединяются проводки (между платой, в которую залит скетч и платой, которую нужно прошить), и прошивается загрузчик (не забываем выбрать программатор Arduino as ISP). Подробная инструкция доступна опять же на странице официального сайта Arduino.
Arduino Gemma
Если подходить формально, то Gemma это не программатор. Это микроскопическая плата от AdaFruit предназначенная для вшивания/встраивания в одежду/обувь. Она лишь частично совместима с Arduino, так как содержит очень мало вводов/выводов. Чтобы подключить ее к USB разработчику пришлось выдумать отдельный загрузчик, и отдельный PID для USB устройства. По этой причине прошивается Gemma как отдельный программатор (в реальности там встроенный USBtiny), имеет отдельный конфиг для AVRDUDE с жестко прописанным bootloader. Другими словами, прошить этой платой ничего нельзя, но зато ее можно прошить саму загрузчиком.
BusPirate as ISP
BusPirate это не только программатор, скорее это не совсем и вовсе не программатор, а одноплатный компьютер специализированный для изучения и программирования новых и неизвестных микропроцессоров. Его конструкция такова, что на одной плате собраны все мыслимые и не очень интерфейсы для исследования того, что же попало к вам в руки. Штука интересная и если вы уж работаете с таким, то должны знать, что с AVRDUDE у компьютера могут быть определенные проблемы, связанные с прошивкой самого BusPirate. Обходятся они, естественно, настройками AVRDUDE и некоторым шаманством с железом.
Atmel STK500 development board
Та самая отладочная плата, что упоминается в AVR ISP и AVR ISP mkII. В Arduino IDE не делается различия между версиями и предполагается, что AVRDUDE самостоятельно определит версию протокола обмена и осуществит самонастройку. Если же этого не происходит, то в programmers.txt нужно четко прописать stk500v1 или stk500v2 в качестве применяемого протокола.
Atmel JTAGICE3 (ISP mode) и Atmel JTAGICE3 (JTAG mode)
JTAGICE3 — современное решение для отладки чипов семейств AVR, SAM и Cortex. Разумеется, только тех чипов, что поддерживают внутричиповую отладку. Попутно эта коробочка еще и программирует их всех.
Atmel JTAGICE3 отладчик/программатор.
Продукт актуальный, у производителя имеется документация. Разница между программаторами только в применяемых протоколах. В ISP режиме применяется протокол JTAG3ISP, а в JTAG просто JTAG3.
Atmel-ICE (AVR)
Так же активный продукт Atmel и его можно купить. Как и JTAGICE3 он позволяет не только производить отладку у чипов, поддерживающих такую функцию, так и программировать их. Для прошивки используется протокол atmelice_isp. В общем использовать программаторы на подобие JTAGICE3 или Atmel-ICE только для прошивки 8-битных микроконтроллеров это как стрелять из пушки по клопам. Слишком уж мощные и дорогие решения для задачи, которая решается куда проще.
Обширное семейство ESP
Выше мы рассмотрели специфику прошивки контроллеров семейства AVR. Но при этом обойти не менее многочисленное и популярное семейство контроллеров ESP было бы просто некрасиво. Тем более, что при выборе одного из семейства, меню Tools значительно увеличивается в объеме. Пройдемся по меню и попробуем понять, что каждый из пунктов увеличенного меню означает. Здесь и далее я рассматриваю SDK ESP версии 2.5.0.
Меню Tools в Arduino IDE при выборе одной из плат семейства ESP.
Часть меню все же остается тем же самым, что и прежде, поэтому излишне повторяться не будем.
Upload speed
Позволяет выбрать скорость, с которой будет происходить загрузка прошивки и других частей в микроконтроллер. Платы семейства ESP могут комплектоваться мегабайтами памяти (в то время как AVR речь идет в лучшем случае о сотнях килобайт) и загрузка на скорости 9600 может занять непростительно долгий отрезок времени.
Поддерживаемые скорости прописываются для каждой из плат индивидуально.
CPU Frequency
Многие платы семейства ESP могут из коробки работать сразу на нескольких частотах. В Arduino регулировать частоту процессора можно при прошивке микроконтроллера. Опять же, доступные варианты указываются для каждой из плат отдельно.
Flash Size
Здесь указывается каким образом разделять всю доступную ПЗУ для хранения кода программы и для файлов. Микроконтроллеры ESP поддерживают память SPIFFS (Serial Peripheral Interface Flash File System). По сути, SPIFFS это файловая система для последовательного доступа. И у программиста есть возможность определить, сколько памяти отводить для файловой системы (туда можно записать, например, HTML-файлы или картинки) и сколько для своего скетча. Но тут есть некоторая тонкость. На текущий момент, насколько мне известно, как минимум платы EPS8266 не могут закачать скетч размерностью более 1 мегабайта. Есть обходные пути, но ведь еще нужно умудриться написать скетч, который в компилированном виде будет занимать более 1 мегабайта. Поэтому рекомендуется использовать как можно больший SPIFF, дабы уменьшить время загрузки скетча.
В тоже самое время есть сведения от потерпевших, что платы ESP32 могут испытывать проблемы связанные с «не хватает места для скетча». Но проблемы эти всего лишь из-за еще сырой поддержки плат EPS32 в инфраструктуре ESP для Arduino.
Debug port
Пункт может принимать значения Disabled, Serial и Serial1. Данная настройка предназначена для вывода отладочной информации в последовательный порт (хотя включить ее можно и программно, например, через Serial.setDebugOutput(true)). Если в скетче инициализируется соответствующий порт (Serial или Serial1), то в него могут выводиться отладочные сообщения, которые не мешают выводу в этот же порт другой информации.
При инициализации и включении вывода отладочной информации рекомендуется устанавливать максимальную скорость работы порта. В противном случае, при большом объеме вывода могут наблюдаться фризы исполнения программы или же сброс буфера вывода. Подробнее о выдаче отладочных сообщений можно прочитать в статье на сайте проекта ESP8266 Core.
У ESP обычно присутствует два последовательных порта. Первый, Serial использует UART0 и GPIO1 (TX) с GPIO3(RX). Второй, Serial1 использует UART1 и только GPIO2 (TX). Соответственно Serial1 не может быть использован на прием. Тем не менее, в обоих случаях есть возможность программного переназначения пинов, как и скорости, четности и прочих характеристик.
Debug Level
Настройка позволяет выделить те отладочные сообщения, которые важны пользователю. Выбор комбинаций оставляют огромное пространство для маневра, но при этом обязательно должна быть включена предыдущая функция.
lwIP Variant
Настройка предназначена для выбора варианта реализации сетевого стека IP. Прошу обратить внимание, тут именно lwIP (lightweight IP), первая буква L, а не i.
Вариант выбора IwIP
По умолчанию используется самый верхний вариант, уменьшающий использование памяти. Но если ваш микроконтроллер активно работает с сетью, то можно пожертвовать памятью и получить наивысшую скорость. Аналогично можно включить поддержку IPv6 или вернуться на стек версии 1.4, где такой поддержки не было вообще. Под features тут понимается всякого рода ICMP, IGMP и прочие навороты, без которых можно обойтись. Основная документация по версии ветки 2.х доступна на сайте разработчика. Постоянно растущий Wiki по теме lwIP доступен на страницах проекта FanDom.
VTables
Под VTables в IDE подразумевается механизм виртуальной таблицы для позднего связывания объектов. Не буду вдаваться в подробности, о них можно задумчиво почитать в Википедии. Остановлюсь лишь на самих доступных опциях, а их всего три:
- Flash – постоянное запоминающее устройство, таблицы хранятся в файловой системе. Метод по умолчанию в репозитарии GitHub.
- Heap – куча, оперативная память предназначенная для динамического выделения памяти.
- IRAM – внутренняя память микроконтроллера.
Понятно, что самый быстрый способ хранения и обработки виртуальных таблиц это IRAM, а самый медленный Flash. Но тут следует так же смотреть на то, как активно работает программа с объектами, есть ли множественное наследование и как часто объекты создаются и уничтожаются. В обычных применениях такая таблица и вовсе может быть статической и отлично проживать на Flash, с другой стороны, она может быть весьма крупной и просто не влезать в IRAM (область ОЗУ для хранения кода программы).
Exceptions
Пункт меню позволяет включить или отключить использование исключительных ситуаций. О них мы уже рассуждали выше, в том числе и в разделе об ESP Exception Decoder. При включении исключений программист в коде уже может использовать структуры try {} catch {}, что увеличивает потребление памяти, но позволяет легче программировать сложные алгоритмы. Напомню, что try-catch будет работать только для плат семейства ESP. Отрадно замечать, что программисты работающие над библиотеками для семейства ESP для Arduino уже начали использовать механизм try {} catch {} в своем коде на GitHub.
Erase Flash
Пункт предлагает стирать внутреннюю память микроконтроллера в следующих пропорциях:
- Only Sketch – стирает только пространство отведенное под скетч. Остальное остается нетронутым.
- Sketch + WiFi Settings – пространство для скетча и настройки WiFi. Дело в том, что при подключении к точке доступа микроконтроллер запоминает параметры подключения и в следующий раз подключается к той же точке быстрее.
- All Flash Contents – стирается все, включая файловую систему.
Прочее по ESP
В заключение статьи хотелось бы добавить, что при прошивке загрузчика в ESP всегда используется прошивальщик esptool. И всегда применяется один и тот же загрузчик eboot. Чтобы пользователь там не выставил в Programmer.
Итог
Статья получилась весьма увесистая, но я полагаю, что она даст ответы на некоторые животрепещущие вопросы. Подавляющее большинство информации приходилось искать по крупицам в Сети. Похоже, что с течением времени возрастает сложность даже такого простого инструмента как Arduino IDE и в скором времени может случиться так, что начинающий быстрее плюнет, чем начнет разбираться с мегатоннами документации, техник, приемов и способов, тем более что большинство из них поддерживается энтузиастами, что ведет к повышенному почкованию указанных техник, методик, документаций.
Однако, хочу надеться, что авторы Arduino IDE все же смогут удержать свое творение в приличных рамках и оставить его все таким же легким в освоении инструментом. Заодно хочу им напомнить, что документировать свое творение стоит постоянно иначе получается «не только лишь все, сегодня могут в завтра».
Update: разбираясь глубже с тем как настраивать свои собственные платы или же добавлять новые платы к Arduino IDE, наткнулся на исчерпывающую документацию по этому поводу.
Опубликовано автором kvv в следующих категориях:
DIY Soft не только лишь все статья
Поделиться ссылкой:
альтернативных интерфейсов Arduino – learn.sparkfun.com
Обзор опций
Arduino – это круто! Это наша популярная образовательная платформа в области электроники и лучший выбор для быстрого прототипирования, но она не для всех. Может быть, это загадочный язык, или IDE на основе Java, или, может быть, это просто бирюзовая граница окна – независимо от ваших рассуждений, если вы пытаетесь избежать IDE Arduino, вот несколько альтернатив, которыми мы хотели бы поделиться .
Альтернативы Arduino, рассматриваемые в этом руководстве, варьируются от простого вводного графического программирования до веб-интерфейсов Arduino для вашего веб-браузера.Вот краткий обзор каждого охваченного интерфейса, мы более подробно рассмотрим его позже:
ArduBlock – расширение Arduino для визуального программирования
ArduBlock – это надстройка для графического программирования к IDE Arduino по умолчанию. Вместо запоминания загадочных функций, забвения точек с запятой и отладки кода ArduBlock позволяет вам создавать свою программу Arduino, перетаскивая блокирующие блоки.
ArduBlock – идеальный интерфейс, если вы только начинаете заниматься программированием, электроникой или Arduino.Ознакомьтесь с разделом ArduBlock этого руководства для ознакомления и краткого руководства по началу работы.
Minibloq – автономное программное обеспечение для визуального программирования
В том же духе, что и ArduBlock, Minibloq – это среда графического программирования , в которой группы блоков накладываются друг на друга для создания вашей программы. Однако, в отличие от ArduBlock, Minibloq – это отдельная программа, установка Arduino не требуется.
Одной из самых мощных функций Minibloq является генерация кода в реальном времени – когда вы перетаскиваете блоки в свою программу, одновременно генерируется эквивалентный код.Это делает Minibloq отличным инструментом для начинающих и программистов среднего уровня.
Ознакомьтесь с разделом Minibloq этого руководства для ознакомления с интерфейсом.
… и выше
Это альтернативы, которые мы обсудим в этом руководстве, но есть много других, которые стоит проверить, в том числе:
- Scratch for Arduino – Еще визуальное программирование ! Scratch for Arduino (S4A) – это рифф популярной среды программирования Scratch.Если вы опытный пользователь Scratch, это определенно стоит проверить!
- Modkit – После успешной кампании на Kickstarter Modkit уверенно движется к созданию еще одной отличной визуальной альтернативы Arduino . Посетите их веб-сайт и прочувствуйте их визуальную среду на базе браузера .
- Arduino IDE для Atmel Studio – Atmel Studio – невероятно мощный инструмент для программирования и отладки микросхем AVR, подобных тем, что есть на Arduino.Если вы ищете более продвинутый подход для Arduino или чипов Atmel в целом, ознакомьтесь с этим расширением для Atmel Studio.
Это расширение может быть чрезвычайно мощным инструментом – в комплекте с реализацией точки останова и множеством функций, к которым вы можете привыкнуть из более продвинутых IDE.
ArduBlock
ArduBlock – это среда программирования, призванная сделать «физические вычисления с Arduino такими же простыми, как перетаскивание».«Вместо того, чтобы писать код, беспокоиться о синтаксисе и (неправильно) расставлять точки с запятой, ArduBlock позволяет визуально программировать с помощью скомпонованного списка блоков кода.
ArduBlock основан на простоте Arduino и представляет собой идеальный шлюз для начинающих к физическим вычислениям. Вместо того, чтобы рвать волосы на отладку, вы можете тратить свое время на создание!
Установка ArduBlock
ArduBlock является чем-то вроде «надстройки» к Arduino, поэтому для него требуется, чтобы у вас была установлена IDE Arduino.Однако преимущество этого заключается в том, что Arduino многоплатформенный – ArduBlock работает на Windows, Mac или Linux . Кроме того, наличие уже существующей Arduino упрощает переход от визуального программирования к текстовому программированию, когда неизбежность приближается.
Установка ArduBlock может быть немного сложной – нет установщика, только файл Java, который нужно сохранить в очень определенном месте. Чтобы установить его, выполните следующие действия:
- Загрузите и установите Arduino (если вы еще этого не сделали) – Ardublock является расширением IDE Arduino по умолчанию, поэтому для его запуска вам потребуется установить Arduino на свой компьютер.Ознакомьтесь с нашим руководством по установке Arduino IDE, чтобы узнать, как это сделать.
- Загрузите ArduBlock – щелкните ссылку слева или перейдите на страницу ArduBlock Sourceforge, чтобы найти самую последнюю и лучшую версию.
- Определите местоположение вашей книги Arduino Sketchbook – это папка на вашем компьютере, в которой по умолчанию сохраняются ваши эскизы и библиотеки. Чтобы найти местоположение вашего блокнота, запустите Arduino, и откройте «Настройки» , перейдя в «Файл»> «Настройки».Содержимое верхнего текстового поля определяет местоположение вашего альбома для рисования. Запомните это место и закройте Arduino.
- Создайте [альбом для рисования] / tools / ArduBlockTool / tool / – файл Ardublock, который вы скачали ранее, должен находиться в очень определенном месте в вашем альбоме для рисования Arduino. Перейдите в свой альбом для рисования, затем создайте группу из трех каталогов: tools > ArduBlockTool > tool (будьте осторожны, каждая папка чувствительна к регистру ).
- Вставьте «ardublock-xxxxxxxx.jar» в / tool / – Вставьте загруженный файл Ardublock – файл JAR (Java ARchive) – в последнюю папку в созданном вами гнезде.
- Запустите Arduino – или перезапустите его, если он был открыт.
- Выберите плату и последовательный порт. – Как и при использовании Arduino, выберите плату и последовательный порт в меню «Инструменты».
- Откройте ArduBlock – запустите ArduBlock, щелкнув Tools > ArduBlock .Если вы не видите здесь записи для ArduBlock, дважды проверьте, чтобы все ваши каталоги были правильно набраны и заключены в регистр.
ArduBlock работает рука об руку с Arduino IDE – он полагается на то, что IDE открыта в фоновом режиме, поэтому не закрывает окно Arduino !
Использование ArduBlock
Окно ArduBlock разделено на две половины. Слева есть «ящики», в которых хранятся все возможные блоки, которые вы можете добавить в свой скетч. На пустой серой доске справа от нее вы «рисуете» свой набросок.Чтобы добавить блок к вашему эскизу, просто перетащите его из корзины в пустую серую область.
Для начала, для каждого скетча ArduBlock требуется программный блок , который вы можете найти в разделе «Управление». Блок Program определяет функции setup
и loop
, которые требуются каждой программе Arduino.
Оттуда вы можете перетащить больше блоков, привязав их к секциям loop
или setup
. Вот попробуйте сделать программу мигания .Блоки набора цифровых выводов , которые производят цифровой вывод (аналог функции Arduino digitalWrite
), находятся в разделе «Выводы». Блок delay миллисекунд , находящийся в разделе «Control», аналогичен функции delay
Arduino.
Затем нажмите Загрузить в Arduino , чтобы отправить рисунок на плату Arduino. Вы можете ALT + TAB вернуться в окно Arduino, чтобы проверить статус загрузки кода.
После того, как вы успешно загрузили свой первый скетч, продолжайте экспериментировать и изучать содержимое других ящиков!
Советы и хитрости ArduBlock
Вы можете клонировать блоки или группы блоков, щелкнув правой кнопкой мыши и выбрав «Клонировать».Все, от блока, который вы щелкнули правой кнопкой мыши, до нижней части этой «группы» будет скопировано и вставлено в верхний левый угол окна. Это на огромных раз экономит время для больших рисунков.
Вы можете временно удалить код из вашего скетча, перетащив его из всего блока «Программа». Все, что не связано с основным программным блоком, будет проигнорировано при компиляции вашего кода. Это отличный инструмент для отладки – вы можете удалить блок кода из выполнения программы, не удаляя его на самом деле, что очень похоже на комментирование кода.
Наконец, если вы снова взглянете на окно Arduino после загрузки чертежа ArduBlock, вы можете заметить кое-что другое. Чтобы создать ваш код, программа ArduBlock просто анализирует ваши блоки и выводит эквивалентный код Arduino в окно Arduino.
Это отличный инструмент обучения, если вы хотите перейти от графического программирования к текстовому.
Ресурсы ArduBlock
Цифровая песочница SparkFun
В наличии DEV-12651Цифровая песочница (DS) – это обучающая платформа, охватывающая как программный, так и аппаратный мир.Он оснащен микро…
12Миниблок
Minibloq – это среда программирования с визуальным управлением для Arduino и других физических вычислительных устройств. Вместо того, чтобы ломать голову над синтаксисом, типами переменных, ошибками компиляции и другими неприятностями кода, Minibloq позволяет создавать вашу программу, используя серию графических блоков.
Помимо нежного визуального введения в программирование, одной из самых крутых функций Minibloq является его генератор кода в реальном времени . Когда вы добавляете блоки в чертеж Minibloq, в следующем окне будет сгенерирована эквивалентная строка кода. Это отличный инструмент, если вы хотите перейти от языков графического программирования к тексту.
Minibloq специализируется на робототехнике . Он включает поддержку популярных платформ робототехники, таких как Multiplo и наш RedBot Kit.
Начало работы с Minibloq
Перейдите на страницу загрузки Minibloq, чтобы получить последнюю версию. Имейте в виду, что, по крайней мере, на данный момент Minibloq (в основном) совместим только с Windows .
По умолчанию интерфейс разделен на три столбца – представление оборудования, редактор Minibloq и редактор кода. На главной панели инструментов вверху вы можете выбрать, какие столбцы вы хотите отобразить или скрыть.
Раздел оборудования позволяет вам выбрать вашу Arduino-совместимую плату среди опций, включая RedBoard, Arduino Uno, Arduino Leonardo, RedBot Kit и другие.
Среднее окно редактора Minibloq – это то место, где вы будете проводить большую часть своего времени при создании программы. Это представление работает рука об руку с отдельным окном «Действия», в котором вы нажимаете кнопки, чтобы добавлять блоки в свою программу.
Наконец, справа есть вид «Сгенерированный код», который является самой мощной обучающей функцией Minibloq. Это огромный помощник в облегчении перехода от визуального программирования к программированию «кодирование».
Чтобы привыкнуть к созданию чертежа Minibloq, нужно время.Попробуйте создать программу мигания , чтобы почувствовать это:
Затем ознакомьтесь с некоторыми из включенных примеров, перейдя в Файл > Примеры . Среди множества примеров эскизов – коллекция специальных программ SparkFun Inventor’s Kit и RedBot Kit. Проверьте их!
Ресурсы Minibloq
Ищете подходящую Arduino?
Ознакомьтесь с нашим руководством по сравнению с Arduino ! Мы собрали все имеющиеся у нас платы для разработки Arduino, чтобы вы могли быстро сравнить их и найти идеальную для своих нужд.
Отведи меня туда!
Программирование Arduinoдля начинающих | Udemy
Вы хотите изучить программирование Arduino с самого начала?
Вы хотите написать код Arduino, который работает и который вы можете понять?
Вы действительно хотите делать что-то самостоятельно, вместо того, чтобы читать теорию и копировать / вставлять какой-то код?
Тогда вы в нужном месте!
Цель этого курса – дать вам, шаг за шагом, основы программирования Arduino, которые вам нужны, а также массу практики, чтобы вы были более уверены в создании гораздо более сложных и хороших программ Arduino в будущем. .
Вам не нужны специальные знания или опыт программирования, чтобы начать этот курс, Я объясню все подробно .
Каждая строка кода, которую вы видите в этом курсе, будет написана перед вами. Я напишу код, и вы тоже напишете код. Без копирования и вставки.
На каждом важном этапе этого курса вы будете выполнять задание по программированию , чтобы попрактиковаться в и лучше понять.
Наряду с различными упражнениями, я также дам вам несколько лучших практик программирования , которые я изучил сам, так что вы будете совершенствоваться намного быстрее, чем если бы вы были в одиночестве.
Почему этот курс?
Потому что я обнаружил, что трудно найти в Интернете учебное пособие или курс, в основном ориентированный на программирование Arduino.
Я понимаю, что подключение готовых компонентов может быть крутым, потому что вы чувствуете, что делаете сложные вещи, но на самом деле вы просто используете простые в подключении блоки, которые работают сами по себе. И теперь, когда вам нужно сделать что-то более сложное самостоятельно или даже простую вещь, в которой нет «причудливого» компонента, делающего это за вас, тогда в этот момент вы чувствуете себя потерянным, и вам нужно вернуться к основам.Или вы найдете случайный код в Интернете, который можно скопировать и вставить, и надеетесь, что этот код будет работать сразу после установки.
Лично я имею образование в области программирования. Итак, когда я впервые начал программировать на Arduino, я быстро заметил, насколько ограничены большинство людей только потому, что у них нет необходимых основ программирования.
Я обнаружил, что большинство людей ограничены в программировании. Когда вы используете Arduino, хорошо, это аппаратная плата, но истинная ценность, которую вы добавляете в свою схему, робота или что-либо еще, исходит от стороны программирования .Вы не можете пропустить это, если хотите стать продвинутым создателем Arduino.
Итак … Начните обучение сегодня и дайте волю своему творческому потенциалу!
Вот обзор того, что вы узнаете в ходе курса:
Установите Arduino IDE и загрузите программу на свою плату Arduino
Программирование на C в среде Arduino
Настройка базовой Arduino схема
Использование цифровых и аналоговых контактов для управления внешними аппаратными компонентами
Связь с внешним миром
Сохранение значений на вашей плате Arduino
Создание многозадачной программы
Разделите вашу программу на многоразовые блоки кода
… и многое другое!
Обязательно прочтите следующее.Этот курс НЕ для вас, если:
Вам нужен курс Arduino, специализирующийся на аппаратном обеспечении
Вы просто хотите быстро подключить компоненты, скопировать и вставить код
Вы не заинтересованы в разработке программного обеспечения
У вас уже есть сильные основы программирования на Arduino
Изучение программирования на Arduino – платформа для сборки роботов Arduino с открытым исходным кодом | Ресурсы для обучения Makeblock
Arduino – это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении.Он предназначен для всех, кто создает интерактивные проекты. Среда разработки Arduino позволяет легко писать код и загружать его на плату ввода-вывода. Вы можете использовать язык Arduino (C \ C ++) для взаимодействия с оборудованием Arduino.
Мы предоставляем полную версию Arduino, использующую среду.
Step2 Установите библиотеку Makeblock для Arduino
- Загрузите zip-пакет библиотеки: https://github.com/Makeblock-official/Makeblock-Libraries/archive/master.zip
- Распакуйте папку makeblock в zip-архиве в библиотеку Arduino по умолчанию:
- Windows 7: «[каталог установки arduino] \ библиотеки» Ваша папка библиотеки Arduino теперь должна выглядеть следующим образом (в Windows):
[каталог установки arduino] \ библиотеки \ makeblock \ src
[каталог установки arduino] \ библиотеки \ makeblock \ пример
.... - или подобное (на Mac):
[каталог arduino] \ Contents \ Java \ libraries \ makeblock \ src
[каталог arduino] \ Contents \ Java \ libraries \ makeblock \ example
... - или аналогично для Linux.
- Windows 7: «[каталог установки arduino] \ библиотеки» Ваша папка библиотеки Arduino теперь должна выглядеть следующим образом (в Windows):
- Откройте приложение Arduino. Если он уже открыт, вам нужно перезагрузить, чтобы увидеть изменения.
- Щелкните «Файл-> Примеры». Вот тестовая программа
Step3 Базовый пример
Что вам понадобится:
Стартовый робот-комплект или Ultimate Robot Kit для создания ультразвуковой машины.
- Подключите Arduino к ПК с помощью кабеля USB. В Arduino IDE нажмите «Файл-> Примеры» и выберите пример.
- Выберите тип платы и номер COM.
- Orion / mCore – выберите Arduino Uno
- Auriga / MegaPi – выберите Arduino Mega 2560 Плинтус
- Me – выберите Arduino Leonardo
- Нажмите кнопку «Загрузить», чтобы скомпилировать и загрузить код. Примерно через 1 минуту он покажет «Готово».
Как программировать Arduino?
В предыдущем руководстве мы увидели, как установить IDE Arduino, настроить или установить необходимые драйверы USB, а также базовую настройку IDE для платы Arduino, которая будет распознана IDE. В этом руководстве мы продолжим работу с Arduino IDE, исследуя ее функции, понимая основные операции и загружая нашу первую программу на плату Arduino UNO.
Прежде чем продолжить обучение, подключите плату Arduino UNO к компьютеру с помощью кабеля USB, как показано на изображении ниже, и выберите соответствующую плату и COM-порт, если это еще не сделано.Нет необходимости во внешнем источнике питания для платы Arduino, поскольку она потребляет необходимую мощность от USB-соединения.
Программы в среде Arduino называются эскизами. В среде Arduino IDE белое пространство, выделенное на изображении ниже, называется текстовым редактором. Это пространство можно использовать для написания всего кода для наших плат Arduino.
Выберите следующий набор проектов Arduino, которые вы хотите изучить в Electronicshub : Проекты Arduino »Прежде чем с энтузиазмом приступить к написанию собственной программы, мы сначала рассмотрим пример скетча, представленный в среде Arduino IDE.Для этого нам нужно перейти в меню «Файл» и перейти на вкладку «Примеры». В раскрывающемся меню вкладки «Примеры» мы можем увидеть список примеров с правильной категорией, таких как базовый, аналоговый, цифровой, коммуникационный и т. Д.
Как новичок или первый пользователь, используйте базовые примеры и выберите в них эскиз «Blink». Откроется новое окно с эскизом Blink. Используя эскиз Blink, мы собираемся включить светодиод, подключенный к выводу 13 -й Arduino, на одну секунду и выключить его на одну секунду повторяющимся образом i.е. мы будем постоянно мигать светодиодом.
Всякий раз, когда мы начинаем с электроники и, в частности, микроконтроллеров, первый реализуемый нами проект или программа – это мигание светодиода, так как мигание светодиода в электронике считается эквивалентом Hello World в C.
На данный момент мы напрямую загрузим скетч, не углубляясь в программную часть проекта. Чтобы загрузить эскиз на плату Arduino, нам нужно использовать два значка в Arduino IDE: сначала «Проверить или скомпилировать», а затем «Загрузить».Эти значки выделены на изображении ниже.
Первый значок с галочкой – это значок «Проверить» или «Скомпилировать». Используя этот значок, мы можем проверить правильность написанного скетча с точки зрения синтаксиса и показать ошибки компиляции, если таковые имеются. Мы загружаем скетч только в том случае, если компиляция прошла успешно, без ошибок. В качестве альтернативы мы можем использовать сочетание клавиш Ctrl + R для проверки или компиляции эскиза.
Часть в нижней части IDE называется окном сообщений.Он отображает статус компиляции, сообщения об ошибках и подробную информацию об ошибках. Если мы скомпилируем скетч с помощью первого значка, мы сможем увидеть статус компиляции и сообщение Done Compilation в окне сообщений.
Если в скетче есть ошибка, такая как пропущенная точка с запятой или незакрытая скобка, компиляция останавливается на этом месте, и в окне сообщения указывается ошибка вместе с ее типом и местоположением. Используя это, мы можем исправить ошибку.
Второй значок рядом со значком «Подтвердить» – это значок «Загрузить».Как только компиляция скетча будет успешной, мы сможем загрузить скетч, используя этот значок. Существует сочетание клавиш Ctrl + U для загрузки скомпилированного скетча. Каждый раз, когда мы нажимаем на значок «Загрузить», эскиз компилируется перед загрузкой.
Поскольку наш скетч был успешно скомпилирован без ошибок, мы можем продолжить загрузку скетча. Когда мы щелкаем значок загрузки, начнется загрузка скетча, и микроконтроллер на плате Arduino будет запрограммирован.
В это время светодиоды TX и RX на плате Arduino UNO мигают, указывая на то, что данные передаются через последовательный порт.После успешной загрузки скетча в окне сообщений появится сообщение Done Uploading.
В окне сообщения также отображаются некоторые другие детали, такие как объем флэш-памяти, используемый кодом, время, затраченное на загрузку и т. Д.
После успешной загрузки скетча светодиод на плате Arduino, которая подключена к ее 13 -му штырю , начнет мигать с интервалом в одну секунду (или согласно написанному скетчу).
В этом руководстве мы увидели, как загрузить наш первый скетч на плату Arduino UNO, а также поняли некоторые основные функции Arduino IDE.В следующем уроке мы проанализируем тот же эскиз и разберемся с эскизом, его компонентами и изменим некоторые параметры, чтобы лучше понять их.
Руководство для начинающих по Arduino
Этот проект поможет вам начать работу с Arduino, включая описание различных типов Arduino, как загрузить среду разработки программного обеспечения Arduino, а также описание различных экранов, доступных для Arduino вместе с аксессуарами, которые вам понадобятся. разрабатывать проекты Arduino.
Arduino – это одноплатный микроконтроллер с открытым исходным кодом, который можно использовать для множества различных приложений. Возможно, это самый простой и наименее дорогой вариант микроконтроллера для любителей, студентов и профессионалов при разработке проектов на основе микроконтроллеров. Arduinos использует микросхему микроконтроллера Atmel AVR или Atmel ARM, а некоторые версии имеют интерфейс USB. Они также имеют шесть или более контактов аналогового ввода и четырнадцать или более контактов цифрового ввода / вывода (I / O), которые используются для подключения датчиков, исполнительных механизмов и других периферийных схем к микроконтроллеру.Arduinos стоит от пяти-шести до 40 долларов, в зависимости от набора функций платы.
Типы плат Arduino
Доступно много различных типов Arduinos, как показано в таблице ниже, каждый со своим собственным набором функций. Они различаются по скорости обработки, памяти, портам ввода-вывода и возможности подключения, но их базовая функциональность одинакова.
- Ардуино Uno
- Ардуино Леонардо
- Arduino из-за
- Ардуино Юн
- Ардуино Tre
- Ардуино Микро
- Робот Arduino
- Ардуино Эсплора
- Ардуино Мега
- Ардуино Мини
- LilyPad Arduino
- Ардуино Нано
- Ардуино Фио
- Ардуино Про
- Ардуино Ethernet
Программное обеспечение (IDE)
Программное обеспечение, используемое для программирования Arduino, называется интегрированной средой разработки (IDE).IDE – это приложение Java, которое работает на многих различных платформах, включая ПК, Mac и системы Linux. Он разработан для новичков, не знакомых с программированием. Он включает в себя редактор кода, компилятор и загрузчик. Также включены библиотеки кода для использования периферийных устройств, таких как последовательные порты и различные типы дисплеев. Программы Arduino называются «эскизами», и они написаны на языке, очень похожем на C или C ++.
Кабель USB
Большинство Arduinos подключаются к главному компьютеру через USB-кабель.Это соединение позволяет загружать эскизы в Arduino, а также обеспечивать питание платы.
USB-кабель Arduino
Программирование
Программирование Arduino очень просто: вы используете редактор кода IDE для написания программы, а затем компилируете и загружаете ее одним щелчком мыши.
Программа Arduino включает в себя две основные функции:
- настройка ()
- петля ()
Вы используете функцию setup () для инициализации настроек платы.Эта функция запускается только один раз при включении платы.
Функция loop () выполняется после завершения setup () и, в отличие от функции setup (), выполняется постоянно.
Функции программирования
Вот некоторые из наиболее часто используемых функций в программировании Arduino:
- pinMode – устанавливает режим вывода на ВХОД или ВЫХОД.
- analogRead – считывает аналоговое напряжение с вывода аналогового входа.
- analogWrite – записывает аналоговое напряжение на аналоговый выходной контакт.
- digitalRead – считывает значение вывода цифрового входа.
- digitalWrite – устанавливает значение вывода цифрового выхода на HIGH или LOW.
- Serial.print – выводит данные на последовательный порт в виде удобочитаемого текста ASCII.
Библиотеки Arduino
БиблиотекиArduino – это наборы функций, которые позволяют управлять устройствами.Вот некоторые из наиболее широко используемых библиотек:
- Библиотека GPS
- ЖК-библиотека
- Сервобиблиотека
- SD-библиотека
- Библиотека Robot_control
- Библиотека Robot_motor
- Библиотека Ethernet
- Библиотека Wi-Fi
- Библиотека шагового двигателя
- Библиотека SPI
- Библиотека EEPROM
- Программное обеспечение Последовательная библиотека
- Библиотека GSM
Шаги по настройке Arduino
1.Сначала установите программное обеспечение IDE. Вы можете загрузить IDE с веб-сайта Arduino.
2. Установите программное обеспечение на свой компьютер.
3. Теперь запустите файл .exe IDE arduino. Имеет следующую планировку:
4. Напишите свою программу с помощью редактора кода и загрузите ее в Arduino. Для этого вам необходимо подключить Arduino к компьютеру с помощью USB-кабеля.
5.В среде IDE выберите тип используемой Arduino в меню «Инструменты» -> «Платы».
6. Теперь проверьте свой код, щелкнув значок «галочки» в верхней части окна IDE, затем щелкните рядом расположенную стрелку «вправо», чтобы скомпилировать и загрузить код в Arduino.
Примечание. Возможно, вам придется установить драйверы, если ваша система не обнаруживает Arduino.
Шилды для Arduino
ЩитыArduino – это плата, которая подключается к Arduino и позволяет подключать периферийные устройства, датчики и исполнительные механизмы к Arduino.Ниже приведены некоторые популярные щиты:
- GSM экран
- Ethernet-экран
- WiFi щит
- Моторный щит
- Протощит
- Щиток джойстика
- Щит Bluetooth
- Щит Xbee
Компоненты и аксессуары
Ниже приведен список всех компонентов и аксессуаров, обычно используемых с Arduino для разработки проектов:
- Макет
- USB-кабель
- Батарея 9 В
- светодиоды
- Кнопки
- Конденсаторы
- Регуляторы напряжения
- Датчики (ИК, температуры и т. Д.)
- Перемычки
- Резисторы
- Потенциометр
- Двигатели (постоянного тока, сервопривода, BLDC)
- ЖК-дисплей
- Шестигранная клавиатура
- Щиты Arduino
Попробуйте сами! Получите спецификацию.
Визуальный инструмент разработки в реальном времени для Arduino
Визуальный агент для программирования в реальном времени для Arduino. Теперь доступно для Windows, Mac и Linux.
Embrio – это среда визуального программирования другого типа, которая не пытается имитировать традиционное программирование. Вместо этого вы создаете свою программу из нескольких «агентов», каждый из которых выполняет одно задание и все они выполняются одновременно и параллельно. Агенты прикрепляются друг к другу, активируя и подавляя другие агенты, подобные нейронам в головном мозге.Агенты реализуются путем добавления и подключения визуальных узлов, и вы можете писать свои собственные настраиваемые узлы, предоставляя вам всю мощь традиционного кодирования, заключенного в простой в использовании графический интерфейс. Работайте с живым подключением к Arduino, чтобы получать обратную связь и взаимодействие в реальном времени, избегая громоздких циклов компиляции, загрузки и тестирования традиционного программирования.
Загрузите Embrio для Windows, Mac или Linux, чтобы попробовать.
Без лицензии вы можете работать в подключенном режиме столько, сколько захотите, вам нужно только скомпилировать программу, когда ваш проект будет завершен, и вы хотите запустить Arduino без подключения к компьютеру.
Если вы найдете Embrio полезным, поддержите его разработку, получив лицензию, которая позволяет вам загружать свои программы в Arduino для работы отдельно от вашего компьютера.
Хобби Сервопривод – В этом руководстве показано, как использовать настраиваемый узел Arduino для управления сервоприводом с помощью библиотеки сервоприводов Arduino. Тот же метод можно использовать для использования практически любого кода библиотеки Arduino в проекте Embrio.
Цветные светодиоды RGB с выцветанием – В этом проекте показано, как случайным образом исчезать цвета светодиодов RGB, а также управлять их скоростью и яркостью с помощью потенциометров.Проект также демонстрирует, как инкапсулировать группы узлов как функции, которые можно использовать многократно.
Автономный автомобиль – В этом проекте из трех частей мы увидим, как запрограммировать автономный роботизированный автомобиль с помощью Embrio. Автомобиль имеет 3 поведения. Он блуждает, избегая препятствий, отворачиваясь от ближайших стен и останавливаясь перед тем, как удариться о стену. Время от времени он останавливается и …
11.04.2020 – Новое сообщение на форуме
это будет поддержка Arduino Nano Every ??
EmbrioAdmin: По какой-то причине форум не отправляет мне оповещения в этой теме.Некоторое время назад я пытался отправить вам электронное письмо, но не уверен, что вы его получили. Я не совсем понимаю, в чем ваша проблема. Большинство моих
25.03.2020 – Новое сообщение на форуме
DHT11
юкка: должен [смеется]
24.03.2020 – Обновление программного обеспечения Embrio
Версия 2.3.2.0
Новые возможности
!!!!! ВАЖНЫЙ !!!!! Загрузите новый установщик с www.embrio.io. В этом обновлении много глубоких изменений.
Визуализатор соединений агента – нажмите пробел на агенте или вводе / выводе, чтобы увидеть соединения с другими агентами.
Панель контактов – Нажмите P для переключения отображения панели контактов. Щелкните правой кнопкой мыши любой вход узла и выберите «Pin Input», чтобы закрепить этот вход на панели контактов для облегчения доступа.
Поиск в дереве проекта.
Узлы дерева проектов поддерживают алфавитный порядок сортировки.
Добавлена страница настроек дерева проекта.
Может дублировать элементы проекта и определения узлов.
Backspace переходит в последний использованный редактор.
Щелкните правой кнопкой мыши открытый вход или выход и выберите «Заменить открытый вход (или выход)», затем щелкните другой вход или выход, чтобы открыть и переместить все внешние соединения.
Удалена кроссплатформенная библиотека ETO, теперь вся программа работает в одном элементе управления веб-браузера.
Множество оптимизаций и мелких исправлений ошибок и улучшений.
Исправленные ошибки
Иногда при открытии проекта старые документы проектов оставались открытыми.
Чтобы сделать дерево проекта активным, придется дважды щелкнуть, прежде чем можно будет перетаскивать полосу прокрутки. Теперь вы можете просто щелкнуть и перетащить полосу прокрутки.
Исправлена ошибка, из-за которой иногда не удавалось удалить узел после удаления соединения, потому что удаленное соединение оставалось «выбранным» внутри.
Команда редактора Fixed Fit Nodes To Screen размещала узлы за пределами экрана.
18.03.2020 – Новое сообщение на форуме
Ардуино Леонардо / Micro. Была ли решена проблема с подключением.
Каброн: Ниже представлен вывод журнала.Использование настроек Arduino IDE не помогает. [quote] 15: 25: 52.089: Доступные порты изменены 15: 25: 51.885: Доступные порты изменены 15: 25: 44.055: Доступные порты изменены 15: 25: 43,6
27.12.2019 – Обновление программного обеспечения Embrio
Версия 2.3.1.0
Исправлены ошибки
Исправлена ошибка компиляции, которая могла возникнуть на Mac
Исправлены некоторые проблемы с отображением
23.09.2019 – Обновление программного обеспечения Embrio
Версия 2.3.0.0
Новые возможности
!!! Удалите текущую версию и скачайте новый установщик с сайта, программа обновления не может обновить некоторые файлы !!!
Теперь можно перетаскивать окна для настройки макета. Может показывать сразу несколько редакторов экрана узлов!
Лучшая производительность в Windows.
18.10.2018 – Новый учебник
Игра на память в стиле Саймона
Этот проект показывает весь процесс программирования игры памяти в стиле Саймона с использованием агентов.Видео довольно длинное, но в нем подробно рассказывается, как создать подобную программу, используя программирование на основе агентов. Видео начинается с краткого объяснения того, как была изготовлена физическая коробка, но в основном речь идет о создании всего проекта от начала до конца.
16.03.2018 – Новое руководство
Узел кривой Безье
Узел кривой Безье позволяет преобразовать линейный вход в изогнутый выход.Это особенно полезно для работы с физическими устройствами, которые имеют нелинейный отклик, или для облегчения входа и выхода на протяжении всего проекта для более естественного вида.
05.03.2018 – Новый элемент библиотеки
ЖК-дисплей I2C 20×4
Этот узел работает с любым стандартным ЖК-модулем I2C 20×4.
24.02.2018 – Новый элемент библиотеки
Сервоконтроллеры Pololu Maestro
Этот узел позволяет вам управлять несколькими сервоприводами с помощью семейства плат сервоуправления Pololu Maestro с использованием библиотеки maestro-arduino. Плата сервоуправления хороша тем, что она перемещает все аппаратные и программные ресурсы, необходимые для управления серводвигателями, с Arduino и занимает всего 2 контакта для управления большим количеством сервоприводов.Плата выдает плавные ШИМ-сигналы, необходимые для работы сервоприводов. Вы также можете использовать эти платы для управления всем, что управляется сигналом PWM, например светодиодами.
1/2/2018 – Новое руководство
Сервоуправление с пользовательским интерфейсом
В этом руководстве показано, как управлять сервоприводом с помощью Arduino через пользовательский интерфейс, работающий на ПК, подключенный последовательным кабелем.Проект содержит два контроллера, один для запуска на Arduino, а другой для запуска на ПК с пользовательским интерфейсом, созданным с помощью HTML, CSS и jQuery. Два контроллера обмениваются данными со встроенными узлами последовательной связи.
эскизов / кодов Arduino, бесплатные загрузки
Вот ссылки на весь код нашего проекта Arduino, называемые эскизами, для бесплатной загрузки вместе со ссылками на проекты, в которых они используются. Для получения дополнительной информации о каждом проекте, а также ссылок для покупки элементов, используемых в каждом проекте, посетите страницу проекта, указанную в ссылке после ссылки для загрузки кода.
Наше программное обеспечение Arduino было написано в среде Arduino IDE, доступной на странице загрузки Arduino.
Учебные пособия
Мигающий светодиод – используется для начала работы с Arduino
Grove Beginner Example – используется в обзоре Grove Beginner Kit
ИК-пульт дистанционного управления – управление Arduino с помощью инфракрасного пульта дистанционного управления
Драйвер двигателя постоянного тока L293D – используется при вождении Двигатель постоянного тока с Arduino с использованием драйвера двигателя L293D
Счетчик печати ЖК-дисплея – используется при подключении ЖК-экрана к Arduino
ЖК-печать Hello World – используется при подключении ЖК-экрана к Arduino
Сервопривод PCA9685 – используется в Connect До 992 сервоприводов на шаговый двигатель Arduino
– используется в управлении шаговым двигателем Arduino
Ультразвуковой последовательный монитор– используется для подключения ультразвукового датчика к Arduino
Ультразвуковой ЖК-дисплей– используется для подключения ультразвукового датчика к Arduino
Web Сервер – используется для доступа к Arduino через Интернет
Projects
3-фазный домашний счетчик энергии – используется в Simple 3 P hase Arduino Energy Meter
Искусственная нейронная сеть – Запуск искусственной нейронной сети на Arduino
Автоматический слепой открыватель– Используется в автоматическом слепом открывателе – Работает с пультом дистанционного управления и Alexa
Chrome Dino Game – Используется в игре Chrome Dino Game на Arduino
Crack The Code Safe Box – Используется в Crack The Code Игра на основе Arduino
DinoGamePlayer – Используется в Arduino, играющем в игру Chrome Dino на другом
Color Picker – Используется в реальной жизни RGB Color Picker на основе TCS34725
Домашний измеритель энергии – используется в простом домашнем измерителе энергии Arduino
Последовательный порт домашнего измерителя энергии – используется в простом домашнем измерителе энергии Arduino
Триггер молнии – используется в Arduino Lightning Camera Trigger
Механические 7-сегментные часы – используются в механических 7-сегментных часах дисплея
Таймер реакции – используется в таймере реакции на основе Arduino
Автомобиль-робот – используется в автомобиле-роботе для избегания препятствий
Сортировщик цветов Skittles – используется в автоматическом сортировщике цветов Skittles на базе Arduino
База для умных растений в помещении – Используется в базе для домашних растений DIY
Монитор влажности почвы– Используется в контроллере влажности почвы
Solar Tracker – используется в Arduino Solar Tracker
Линейный приводSolar Tracker – используется в Arduino Solar Tracker – линейный привод
Метеостанция– используется в метеостанции Hanging Gear
Если у вас есть предложения по проектам или проекты, которые вы пробовали, и вам нужна помощь, отправьте нам электронное письмо или оставьте комментарий на странице проекта и мы вам ответим.