Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Программируем Ардуино “по воздуху” через ESP-link

У меня дома трудится масса устройств умного дома. Большая часть из них использует недорогие платы Arduino Pro Mini или микроконтроллеры Atmega328 с прошитым ардуиновским бутлоадером. Иногда, с приходом новых идей, требуется перепрограммирования всех этих устройств. Монтаж-демонтаж контроллера, встроенного в какую нибудь люстру то еще удовольствие. Скакать под потолком с ноутбуком тоже удовольствие ниже среднего. В последних сборках я устанавливаю микроконтроллеры на съемных панельках, что позволяет вынуть его, запрограммировать и вставить обратно.

Но как хотелось бы вдумчиво поотлаживать свои устройства прямо на месте. Думал для этих целей применить Serial Bluetooth адаптеры. Но недавно один хороший человек на форуме esp8266.ru с ником dao89 надоумил воспользоваться «народным! WiFi модулем ESP8266 и прошивкой ESP-link.

Возможности проекта ESP-link

  • Прозрачный шлюз между Wi-Fi и последовательным портом для отладки и обмена данными
  • Программирования микроконтроллеров AVR/Arduino модулей ESP8266,  LPC800 и других с последовательным интерфейсом по «воздуху» через WiFi.
  • Встроенные протокол STK500V1 для загрузки файла с прошивкой AVR через встроенный WEB-сервер.
  • Отправка HTTP REST запросов через интернет
  • MQTT клиент для связи микроконтроллера с сервисами

Установка ESP-link

По ссылке качаем последнюю версию ESP-link. Я выбрал стабильную версию 2.1.7. Архив прошивки содержит четыре бинарных файла boot_v1.4(b1).bin, blank.bin. user1.bin и user2.bin и два скрипта на языке Shell для прошивки через порт и через WiFi. Я программирую ESP8266 под Windows с использованием утилиты XTCOM (подробнее описано мной в этой статье).

Для модулей с объемом памяти 512Кбайт

  • boot_v1.4\(b1\).bin загружаем по адресу 0x0000
  • user1.bin — 0x1000
  • blank.bin 0x7E000

Для модулей с объемом памяти 4Мбайт

  • boot_v1.4\(b1\).bin загружаем по адресу 0x0000
  • user1.bin — 0x1000
  • blank.bin 0x3FE000

Файл user2.bin служит для прошивки ESP «по воздуху» и в данный момент не используется

Теперь можно перейти к настройке модуля. Подключение к нему стандартное. Пока модуль «не прописан» в WiFi сети он работает как открытая точка доступа с именем типа ESP_012ABC (на некоторых модулях ai-thinker-012ABC) . После подключения нужно зайти через браузер на http://192.168.4.1 на WEB-страницу модуля.

На этой странице можно настроить GPIO модуля для подключения к RESET микроконтроллера, а также подключения дополнительных светодиодов индикации. Есть выбор «предустановленных» конфигураций портов в зависимости от типа модуля и назначения.

На странице WiFi можно настроить подключение к беспроводной сети, а также настроить статический IP-шник модуля, что я и делаю, так как постоянно подключаться к ESP как к точке доступа мне не удобно.

 

Следующая в меню страничка — это консоль микроконтроллера, вернее его последовательного порта. Среди настроек, очистка окна и настройка скорости.  Подключив RX/TX порта микроконтроллера к TX/RX ESP-шки и установив правильную скорость, сразу видим в реальном времени отладочную информацию, выдаваемую контроллером в этот порт.  Настройка скорости — это очень важная функция, о которой расскажу позже.

 

Настройку MQTT и REST я пока пропускаю, так как моя цель не сбор информации, а удаленная отладка и прошивка микроконтроллера. Возможно об этом будет одна из моих следующих статей

Последняя страничка посвящается любителям копаться в системных журналах. Туда выводится отладочная информация по работе ESP-link

Ну вот, теперь у меня есть настроенный ESP-link. Я к нему подключил Arduino Pro Mini. Ножку DTR посадил на GPIO13 ESP-шки (настраивается на первом экране)

Настройка виртуального COM-порта в Windows

Теперь можно настраивать виртуальные COM-порт на компьютере. Для начала проверяю, что наш порт доступен по сети. Для этого захожу по TELNET-ом на 23-й или 2323 порт нашего ESP-link. (Так как TELNETа в Windows 7 нет, то использую для этого установленную у меня программу PUTTY. Данные, которые я видел в консоли через WEB-интерфейс вижу и в TELNET-клиенте.

 

Осталось настроить виртуальный COM-порт на моем компьютере и связать его с ESP-link. Для этого устанавливаю Tibbo Device Server Toolkit под Widows. Запускаю VSP-manager и настраиваю виртуальный порт

Все. Виртуальный COM10 связанный с моим ESP-link по 23 порту настроен.

Теперь, открывая его в среде Arduino IDE я могу работать с удаленным микроконтроллером через ESP-link. Контроль состояния виртуального порта можно посмотреть в мониторе, который TIBBO вывешивает в трее

 

Нюанс по скорости прошивки

Небольшой нюанс по скорости. Для прошивки нужно выставлять скорость в консоли ESP-link, прописанную в c:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt для конкретного типа контроллера. В моем файле Arduino Pro Mini это 115200, для того же контроллера на Atmega168 — 19200. Мой перешитый на OPTIBOOT контроллер  — 57600. Для программирования мне потребовалось установить эту скорость в настройках «по умолчанию» виртуального COM-порта

Эту же скорость нужно установить в консоли микроконтроллера ESP-link

После этих манипуляций удаленный AVR контроллер программируется так же как и подключенный к локальному порту USB-TTL конвертера. Разве что немного медленнее и не каждый раз, если связь WiFi неустойчивая.

При переходе в режим отладки требуется переключить скорость консоли в нужную (какая установлена в Serial.begin()

Подводя итоги

Повозившись с настройками я получил метод удаленной отладки и программирования любых Ардуино-контроллеров и AVR-с загрузчиком по последовательному порту (и наверняка многих других МК). Более того, я получил удаленную консоль для любых последовательных интерфейсов, например, от различных GPS и GSM модулей. Теперь осталось собрать ESP-шку в какой нибудь корпус, запитать от аккумулятора (мало ли у меня где-то под потолком будут проблемы с питанием) и наделать разъемов для быстрого подключения к различным контроллерам.

К недостаткам данного метода можно отнести его достаточно сложную настройку, некоторую тормознутость при прошивке и при работе консоли, а так же необходимость установки скорости прошивки/отладки (что не требуется при работе в том же Arduino IDE по локальным портам).

В ближайшее время я планирую освоить прошивку ESP8266 через другую ESP8266 (для модулей с 512Кбайт флэша это вполне актуально) и подключение Ардуино к MQTT

 

 

 

со своего сайта.

Мастер ARDUINO Light. Образовательный конструктор с книгой Программируем Arduino

МАСТЕР ARDUINO Light – это образовательный электронный конструктор серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino UNO R3.
 
В состав конструктора входят все необходимые для старта элементы. С конструктором МАСТЕР Arduino Вы освоите работу различных датчиков и исполнительных устройств, а также принципы их взаимодействия с микроконтроллером Arduino.
 
Также с образовательным электронным конструктором МАСТЕР Arduino Light Вы освоите в теории и на практике основы программирования, конструирования электронных устройств и робототехники. После чего станете настоящим Знатоком Ардуино!
 
Вы погрузитесь в Новый увлекательный Мир планеты Arduino! Вам доступно более 450 интереснейших проектов и видео-уроков на сайте www.

arduino-tv.ru . Вдохновляйтесь и творите!
Рекомендуемая книга: Уилли Соммер. «Программирование микроконтроллерных плат Arduino/Freeduino».

В разделе “УРОКИ И ПРОЕКТЫ ARDUINO” представлены эксперименты с использованием модулей, шилдов, RFID, LCD 1602, TFT дисплеев, сервоприводов SG90, GSM модулей SIM800, SIM900, GPS модулей VK-16E и др.
 
Конструктор предназначен для школьников, студентов и их продвинутых родителей.

Состав набора:

Arduino UNO R3 1
Кабель USB 1
Гибкие проводники (набор MM и FF) 1
Датчик температуры DS18B20 1
Диод 1N4148 5
Кнопка 5
Макетная плата для монтажа без пайки SYB-120 1
Потенциометр 10 кОм 2
Пьезоизлучатель 1
Разъём-гребёнка 40 выводов 1
Резистор 1,5 кОм 10
Резистор 10 кОм 10
Резистор 220 Ом 10
Резистор 4,7 кОм 10
Резистор 68 кОм 10
Светодиод RGB 1
Светодиод жёлтый 5
Светодиод зелёный 5
Светодиод красный 5
Светодиод синий 5
Сервопривод 1
Транзистор ВС548С 5
Ультразвуковой датчик HC-SR04 1
Фоторезистор 2

 

 

КНИГА

Программируем Arduino.
Основы работы со скетчами.

Впервые на русском языке выходит легендарный бестселлер Саймона Монка, который много лет занимает первые строчки в рейтингах Amazon.
Хотите создать умный дом или запрограммировать робота? Нет ничего проще. Саймон Монк не только поможет разобраться с проволочками, контактами и датчиками, но и покажет как заставить все это хитросплетение проводов и плат делать то, что вам нужно.
Arduino — это не так сложно как кажется с первого взгляда. Вы сразу будете покорены открывающимися возможностями.

  • Год: 2016
  • Страниц: 176
  • Обложка: Обл Ц
  • Формат: 70х100/16
  • Баркод: 9785496019569
  • ISBN: 978-5-496-01956-9

Arduino PLC на BDF и LAD — Мир науки,техники,медицины и образования © первая научно-техническая коммерческая социальная сеть

В настоящее время в мире начался бум по использованию микроконтроллеров в различных самоделках и стартапах. Действительно, цены на микроконтроллеры упали, а возможности их постоянно растут. Да и наши друзья, китайцы, научились изготавливать периферию к ним, и продают её, к тому же, по смешным ценам. Но вот с программированием микроконтроллеров всё не так радужно…

С чего всё началось и как развивалось

С самого момента появления микропроцессоров развитие принципов работы с ними идет по пути роста абстракции. Первый этап представлял программирование непосредственно в машинных кодах. Программирование было сложным, долгим и требовало очень специфичного склада ума. Поэтому программистов было очень мало.

Но человек существо ленивое, а лень, как известно, двигатель прогресса. Придумали первый уровень абстракции – ассемблер. Писать программы стало проще и веселее. Количество программистов возросло. Но все равно ассемблер не очень сильно отличался от машинных кодов.

Поэтому появился следующий уровень абстракции. Языки высокого уровня. Основной целью этих языков была возможность объяснить машине, что от нее хотят, на языке максимально приближенном к человеческому. Это позволяло заниматься программированием людям с менее специфичным складом ума. Поэтому с развитием языков высокого уровня количество программистов росло, и соответственно росло количество полезных программ, которые они создавали.

Как дела обстоят сейчас

Конечно, для начала работы непосредственно с контроллером требуется определенная подготовка. То есть, необходимы программатор, настроенная среда для программирования на компьютере, ну и, естественно, знание языка программирования. Кроме того, требуется умение в работе с паяльником, разработке печатных плат, знания в электротехнике и электронике. Так что порог вхождения в область создания собственных устройств на микроконтроллерах остается высоким.

Кроме того, для такой работы требуется сочетание навыков, которые достаточно редко встречаются вместе. Программисты редко дружат с паяльником, а электронщики не часто являются программистами. Для программистов проблему решили созданием платы Arduino, которая позволяет собирать устройства без использования инструментов.

Рис.1 Различные платы Arduino

Для электронщиков и электриков все хуже. До последнего времени, для того, чтобы создать свое устройство с применением микроконтроллера, у них было два пути. Либо самим изучать язык программирования “С”, либо просить помощи у программиста. Оба пути не самые лучшие. Для того что бы стать программистом, необходим определенный склад ума, не всегда совместимый с опытом чтения электрических схем. А знакомого программиста может не оказаться под рукой.

В то же время, давно существуют среды программирования адаптированные под обычного инженера – электронщика, ну или просто электрика. Я имею в виду среды программирования промышленных контроллеров. ПЛК. Они позволяют создавать программное обеспечение для контроллеров на языках FBD и LAD. Собственно говоря, как таковыми языками они не являются. Это, скорее, графические среды для рисования принципиальных или логических схем.

FBD (Function Block Diagram)

– графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков.

Блок (элемент) – это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).

Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов.

К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения.

Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.

Ladder Diagram (LD, LAD, РКС)


– язык релейной (лестничной) логики.

Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании.

Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина – если ток течет; ложь – если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары – со значением переменной.

Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.

Такой подход оказался очень удобным для легкого вхождения в разработку систем АСУ инженеров-электриков и электронщиков. Разрабатывая проекты установок, они могли легко привязать работу этих установок к алгоритмам работы контроллера. В обслуживании этих установок на объекте также лучше, когда существующий обслуживающий персонал может легко проверить работу системы АСУ, найти проблему. И при этом нет необходимости вызывать по каждому пустяку программиста из «Центра». И это подход себя оправдал. На сегодняшний день почти все системы промышленной автоматики созданы с помощью таких средств разработки.

Такая среда разработки есть у Siemens, ABB, Schneider Electric… да и практически у всех производителей ПЛК. Казалось бы, идеальное решение для любителей самоделок. Но, как всегда есть «но». Все эти среды программирования привязаны к промышленным контроллерам определённого производителя. И цены на эти контроллеры мало вдохновляют. Очень редко какой семейный бюджет позволит приобрести контроллер ценой в несколько сот долларов.

Зато платы Arduino идеально подходят для самодельщиков и кулибиных, на которых держится мир. Но, опять «но». Программируются эти платы на языке C. Для большинства этих умнейших людей, язык С. это непостижимая азбука. Они могут придумать, нарисовать, собрать, отладить и запустить сложнейшие схемы, но If, For, Case, Void и т.п. – это не для них. Конечно, можно почитать инструкции в интернете, поиграться какое-то время, помигать светодиодом с помощью примера. Но для более серьезного применения необходимо детальное изучение языка. А зачем им это?

Они не собираются быть профессиональными программистами. У них другой путь. Они что-то придумали. Да, это проще и красивее собрать с помощью микроконтроллера, но становится для этого программистом, потратив месяцы на изучение языка? Нет, конечно. Собирают по старинке, попроще, конечно, но в своей области.

На основании всех этих выкладок и был создан проект FLProg. Основная идея проекта – совместить принципы промышленного программирования с дешевизной и удобством Arduino. Проект предлагает новый уровень абстракции с довольно смелым заявлением –

В результате получился инструмент, позволяющий создавать свои проекты на Arduino любому человеку, знакомому с электротехникой и электроникой, позволяющий создать свое изделие с использованием данных плат.

Проект состоит из двух частей.

Первая часть – это десктоп-приложение FLProg, представляющее собой графическую среду программирования плат Arduino.

Вторая, это интернет ресурсы по FLProg, с помощью которых члены сообщества пользователей программы могут пообщаться между собой, узнать последние новости проекта, скачать последнюю версию программы и найти необходимую информацию по работе с приложением.

Начнем по порядку

Программа FLProg позволяет создавать прошивки для плат Arduino с помощью графичес­ких языков FBD и LAD, которые являются стандартом в области программирования промыш­ленных контроллеров. При создании программы яавтор постарался максимально использовать наработки программистов Siemens, ABB, Schneider Electric в их средах программирования.

Еще автор немного расширил классический функционал этих языков, добавив функциональные блоки, отвечающие за работу с внешними устройствами. Они являются «обертками» над библиотеками, предназначенными для работы с ними. Программа работает на компьютере под управлением OS Windows, Linux-32 и Linux-64

При создании нового проекта вам предложат выбрать язык программирования, на котором вы будете создавать проект, и контроллер, на котором этот проект будет реализован.

Вот список плат Arduino, поддерживаемых программой на сегодняшний день:

Arduino Diecimila
Arduino Duemilanove
Arduino Leonardo
Arduino Lilypad
Arduino Mega 2560
Arduino Micro
Arduino Mini
Arduino Nano (ATmega168)
Arduino Nano (ATmega328)
Arduino Pro Mini
Arduino Pro (ATmega168)
Arduino Pro (ATmega328)
Arduino Uno
Intel-Galileo

Со временем, планируется поддержка плат основанных на контроллерах STM.

Проект в FLProg представляет собой набор плат, на каждой из которых собран законченный модуль общей схемы. Для удобства работы каждая плата имеет наименование и комментарии. Так же каждую плату можно свернуть (для экономии места в рабочей зоне, когда работа над ней закончена) и развернуть. Красный индикатор в наименовании платы указывает на то, что в схеме платы есть ошибки.

Вид окна программы в режиме языка FBD.

Вид окна программы в режиме языка LAD.

В правой части рабочей зоны расположена библиотека элементов. В схему элементы переносятся простым перетаскиванием. При двойном клике по элементу будет показана информация о нём.

Вот список блоков доступных на сегодняшний день.

FBD:

Базовые элементы

[XOR]
[AND]
[OR]
[Bounce]

Специальные блоки

[Scale]

Триггеры

[SR]
[TT]
[RS]
[Rtrig]

Таймеры

[Generator]
[Timer]

Счетчики

[Counter]
[SpeedCounter]

Математика

[SUM(+)]
[MUL(*)]
[SUB(-)]
[DIV(/)]
Алгебра
[SIN]
[COS]
[TAN]
[ABS]
[SQ]
[SQRT]
[MIN]
[MAX]
[POW]
[RANDOM]

Сравнение

[Comparator]

Com –порт

Send
SendVariable
ReceiveVariable

Переключатель

[SWITCH]
[MUX]
[DMS]

Моторы

ServoMotor
StepMotor

Часы реального времени

[Alarm]
[GetTime]
[SetTime]

Дисплеи

Дисплей на чипе НD44780
Подсветка дисплея на чипе НD44780 I2C
Блок декодирования семисегментного индикатора

Строки

Сложение строк

Датчики

[Ultrasonic HC-SR04]
[DHT11, DHT21, DHT22]
[DS18x2x]
[IR Ressive] [BMP-085]

SD карта

Запись переменной на SD карту
Выгрузка файла с SD карты

Конвертация типов

Преобразование строк
Преобразование Float в Integer

Микросхемы расширений

Расширитель выводов 74HC595

Операции с битами

Шифратор
Дешифратор
Чтение бита
Запись бита

Разное

Матричная клавиатура
Пьезодинамик

EEPROM

Запись в EEPROM
Чтение из EEPROM

Коммуникации

SendVariableFromCommunication
RessiveVariableFromCommunication
WebServerPage
WebClient

LAD:

Базовые блоки

Контакт
Катушка
Защита от дребезга
Выделение переднего фронта

Специальные реле

Двустабильное реле
Реле времени
Генератор
Реле сравнения

Алгебра

SIN
COS
TAN
ABS
MAX
MIN
SQ
SQRT
POW
RANDOM

Аналоговые блоки

Масштабирование
Математика
Счетчик
Аналоговый переключатель
Переключатель много к одному
Переключатель один ко многим
Аналоговый вход контроллера
Аналоговый выход контроллера
Вход аналогового соединителя
Выход аналогового соединителя
Скоростной счетчик

CommPort

Передача в ComPort
Передача переменной через Comm port
Прием переменной через Comm port

Моторы

Сервомотор
Шаговый двигатель

Часы реального времени

Получить данные
Будильник
Установка времени

Дисплеи

Дисплей на чипе HD44780
Блок управления подсветкой дисплея на чипе HD4480 I2C
Блок декодирования семисегментного индикатора

Строки

Сложение строк

Датчики

Ультразвуковой дальномер HC-SR04
Датчик температуры и влажности DHT11 (DHT21, DHT22)
Датчик температуры DS18x2x
IR Ressive
BMP-085

SD карта

Запись переменной на SD карту
Выгрузка файла с SD карты

Конвертирование типов

Конвертация строк
Преобразование Float в Integer

Микросхемы расширений

Расширитель выводов 74HC595

Операции с битами

Шифратор
Дешифратор
Чтение бита
Запись бита

Разное

Матричная клавиатура
Пьезодинамик

EEPROM

Запись в EEPROM
Чтение из EEPROM

Коммуникации

Блок отправки переменной через коммуникации
Прием переменной через коммуникации
Страница Web сервера
Web клиент

В настоящее время ведется разработка функциональных блоков для работы с трех­осевым гироскопом, люксометром, и другими датчиками и сенсорами. Также ведется работа над организацией обмена данными через , радиоканал, и Wifi. В дальнейших планах. разработка SCADA-системы для организации интерфейса систем, разработанных в программе FLProg на персональном компьютере или графических дисплеях.

Список периферийного оборудования, поддерживаемого программой, доступен на здесь


Датчики температуры и влажности DHT11, DHT21, DHT22.

Для части оборудования в разделе на сайте присутствуют обзорные статьи, облегчающие понимание применения его в программе.

В верхней части рабочей зоны расположен список тэгов (переменных и входов выходов) (FBD) или установленного оборудования (LAD). Тэги или оборудование переносятся на схему простым перетаскиванием.

После завершения работы над проектом производится его компиляция. После компиляции автоматически откроется программа “Arduino 1.5.7” с загруженным скетчем вашего проекта. В программе “Arduino IDE 1.5.7” вам необходимо будет указать номер COM ­порта, к которому подключен ваш контроллер, выбрать его тип, и произвести заливку скетча в контроллер. Подробнее о программе “Arduino IDE 1.5.7” можно почитать на сайте Arduino.

Программируем м/к Atmega через Arduino

Программируем м/к Atmega через Arduino

Иногда на новый м/к необходимо прошить загрузчик ,или мы хотим использовать нестандартный микроконтроллер в своих поделках,а отдельного программатора у нас нет,то тут приходит на помощь плата arduino со специально загруженным скетчем.

Подключение микроконтроллеров к плате Arduino

Напомним расположение выводов SCK,MISO,MOSI на ардуинке:


 У плат серии Mega выводы SCK,MISO,MOSI находятся на других портах: 50 -MISO, 51 -MOSI , 52 -SCK , 53 – reset у программируемого м/к .

 

Подключаем питание на соотвествующие выводы программируемого микроконтроллера GND и VCC к Arduina , а так же соотвественно выводы SCK,MISO,MOSI.Вывод м/к Reset необходимо подключить к 10 выводу(53 у Mega) По такой схеме подключаются все м/к Atmega для программирования или просто прошивки загрузчика.

 

Прошивка микроконтроллеров Atmega через плату arduino:

 Если Вы уже подключили программируемый микроконтроллер к плате arduino ,то можем уже заняться прошивкой,но для этого необходимо запрограммировать плату arduino в режим программатора. Для этого выбираем скетч из примеров под названием ArduinoISP:

Загружаем данный скетч в плату arduino.

 

 

 

 

 

 

 

Выбираем программатор arduino as ISP в меню сервис в подменю программатор.Не забываем вернуть программатор на место,когда будем программировать снова платы arduino.

 

Выбираем в меню свой микроконтроллер:

Если Вы просто хотите загрузить в микроконтроллер загрузчик,то необходимо через меню сервис выбрать записать загрузчик,этим самым вы установите необходимые фьюзы.

Для чего нужен загрузчик ? Установка загрузчика дает возможность напрямую ,через последовательный порт прошивать микроконтроллер (только имеющие аппаратный последовательный порт).Например так прошиваются пустые ATMEGA328P,которые потом можно использовать вместо установленной штатно микросхемы на Arduino UNO и устанавливать далее на самодельные платы.

Далее пример заливки скетча на Attiny85:

Не пугайтесь – при прошивке возможно могут появится некоторые ошибки,но они никак не влияют на сам процесс программирования:

 

Далее,если мы прошиваем сам скетч (например у нас не стандартный микроконтроллер), то сейчас просто выбираем в меню файл загрузить с помощью программатора:

 

 Обратите внимание,что прошивать необходимо именно через данный пункт меню,а не через стандартную кнопку “загрузить”.

 Для проверки работоспособности прошьем скетч Blink из примеров,укажем номер вывода тот,на котором будет подключен светодиод.Если указать порт номер 2 и оставить подключенный проводок SCK,то увидим мигание светодиода на плате arduino на 13 ноге(не актуально для плат arduino Mega -там выводы  SCK,MISO,MOSI находятся на других портах )

 

 

Прошивка микроконроллеров Atmega возможна и через дешевые программаторы USBasp без использования плат Arduino.Цена такого программатора всего 3 $ .Подробно тут.

Программирование Arduino с помощью VSCode | DMC, Inc.

Одним из основных направлений нашей деятельности в DMC является разработка встраиваемых систем, где мы помогаем клиентам воплотить их идеи в функциональные устройства.

Обычно эти проекты выполняются поэтапно, когда проектируется и строится начальный прототип. Затем этот прототип можно использовать для обеспечения финансирования дополнительных этапов проектирования, а также для обеспечения соответствия продукта всем требованиям.

Для этого типа быстрого проектирования и прототипирования мы часто используем платформу Arduino.

Что случилось с Arduino?

Arduino поставляется в различных конфигурациях, нацеленных на различные требования к связи Performance , IO и , поэтому обычно существует модель, которая уже была опробована и протестирована, которая будет работать для вашего конкретного приложения. Arduino также предоставляет бесплатные IDE и язык программирования в стиле C, который позволяет запускать собственный код в течение нескольких минут.

Однако, как только ваша программа начинает выходить за пределы нескольких сотен строк кода или более чем нескольких файлов, IDE может начать становиться громоздкой и сложной в работе, особенно если вы привыкли к более продвинутым IDE или текстовые редакторы.После того, как я много лет боролся с неприятностями, связанными с IDE Arduino, я, наконец, перешел на более удобный вариант: Visual Studio Code.

Что такое VSCode?

Visual Studio Code или VSCode – это легкий расширяемый текстовый редактор с открытым исходным кодом, который разработан и поддерживается Microsoft и работает на Linux и Mac в дополнение к Windows. Расширяемость позволяет вам писать расширения для настройки VSCode в соответствии с вашими потребностями и языком программирования.

Имея широкую базу пользователей, уже доступно множество бесплатных расширений, в том числе расширение для поддержки программирования Arduino без выхода из редактора VSCode. VSCode предназначен для обработки нескольких папок и файлов в редакторе и использует инструмент автозаполнения Microsoft IntelliSense, чтобы ускорить программирование и уменьшить количество опечаток.

Использование VSCode для проектов Arduino

Чтобы начать использовать VSCode для ваших проектов Arduino, выполните следующие действия.

Шаг 1. Загрузите и установите драйверы

VSCode использует драйверы, которые устанавливаются вместе с Arduino IDE, поэтому нам нужно сначала загрузить и установить их.

  1. Загрузите IDE для своей ОС со страницы https://www.arduino.cc/en/Main/Software.


  2. После завершения загрузки запустите программу установки, оставив все настройки и параметры по умолчанию.


  3. Обязательно установите COM-порт и USB-драйверы , если будет предложено.

Шаг 2 – Загрузите VSCode

  1. Пока устанавливается Arduino IDE, загрузите VSCode с https://code.visualstudio.com/Download.
  2. После завершения загрузки запустите установщик.

Следующие шаги

Я рекомендую следующую конфигурацию для дополнительных задач во время установки.

  1. После установки запустите VSCode.
  2. Нажмите кнопку Extensions в левой части редактора (или Ctrl + Shift + X), чтобы отобразить рынок расширений.


  3. Введите Arduino в строке поиска, чтобы отфильтровать расширения только теми, которые связаны с платформой Arduino.
  4. Для Arduino доступно несколько расширений, но я предпочитаю то, которое поддерживается Microsoft.
  5. Нажмите кнопку Установить и при появлении запроса разрешите установку зависимостей.
  6. Нажмите кнопку Reload , чтобы перезапустить VSCode с включенным расширением Arduino.


  7. В зависимости от настроек вашего брандмауэра вам может быть предложено предоставить доступ к брандмауэру VSCode.

Программирование в VSCode

Еще один Перезагрузите и теперь мы готовы приступить к программированию. Чтобы убедиться, что все установлено правильно, мы начнем с открытия примера Blinky .

Откройте VSCode Command Pallet с помощью Ctrl + Shift + P . Когда палитра команд открыта, вы можете начать вводить текст, чтобы отфильтровать все параметры или найти полезные команды.

  1. Откройте Command Pallet и введите Arduino и выберите Arduino: Примеры в списке результатов.

  2. На новой панели справа выберите Встроенные примеры >> 01.Основы >> Blink . По умолчанию это откроет новое окно VSCode с эскизом Blink и файлом справки Blink.txt, перечисленными в панели проводника слева.
  3. Выберите Blink.ino на панели проводника, чтобы открыть эскиз в редакторе.
  4. Подключите плату Arduino к компьютеру, а затем в нижней панели VSCode вы можете указать COM-порт для вашего Arduino и тип платы.


  5. При нажатии COM открывается небольшое окно выбора в верхней части VSCode, в котором должен отображаться ваш подключенный Arduino.


  6. Щелчок