Набросок программы для программирования

Обновлено: 03.07.2024

Интерфейсы прямого управления полезны во многих областях, но отсутствие программируемости на языке высокого уровня затрудняет разработку сложного и многократно используемого контента. Мы представляем системы программирования прямого управления, которые позволяют пользователям пользоваться преимуществами языков программирования общего назначения, но с меньшим количеством редактирования текста с помощью клавиатуры и с большим количеством прямого управления с помощью мыши. Sketch-n-Sketch в настоящее время представляет собой систему программирования прямого манипулирования для создания документов HTML и SVG. Мы представляем себе аналогичные возможности и для многих других параметров программирования и дизайна. На данный момент в нашей работе возникли три темы:

Программирование, ориентированное на вывод. Возможность разрабатывать и формировать желаемый вывод на примере, добавляя новые значения и добавляя новые предполагаемые отношения между ними. Затем Sketch-n-Sketch выводит «большие» преобразования программы для соответствия, например, вводя в программу переменные, функции и арифметические отношения.

Двунаправленное программирование После того, как программа высокого уровня написана — с помощью комбинации преобразований, направленных на вывод, и обычного редактирования текста — пользователи могут напрямую изменять вывод программы. Затем Sketch-n-Sketch делает вывод о «небольших» изменениях программы для соответствия, запуская программу «в обратном порядке».

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

Исследования

  • Sketch-n-Sketch: ориентированное на вывод программирование для SVG (UIST 2019)
    Брайан Хемпель, Джастин Любин и Рави Чу
    [ видео | слайды | демонстрации (30 секунд, 3 минуты) ]
    Программирование, ориентированное на вывод
  • Двунаправленная оценка с прямым манипулированием (OOPSLA 2018)
    Микаэль Майер, Виктор Кунчак и Рави Чу
    [ видео | слайды | демонстрации ]
    Двунаправленное программирование
  • Deuce: упрощенный пользовательский интерфейс для структурированного редактирования (ICSE 2018)
    Брайан Хемпель, Джастин Любин, Грейс Лу и Рави Чу
    [ видео | слайды | пользовательское исследование | старые видео ]
    Редактирование структурированного текста
  • Полуавтоматическое программирование SVG с помощью прямого манипулирования (UIST 2016)
    Брайан Хемпель и Рави Чу
    [ видео | слайды | демонстрации (30 секунд, 5 минут и более) ]
    Программирование, ориентированное на вывод
  • Программное и прямое манипулирование, наконец-то вместе (PLDI 2016)
    Рави Чу, Брайан Хемпель, Митчелл Спрэдлин и Джейкоб Альберс
    [ видео | слайды | демонстрации ]
    Двунаправленное программирование
  • Prodirect Manipulation: двунаправленное программирование для масс (V2025 @ ICSE 2016)
    Рави Чу
    [ слайды ]
    Двунаправленное программирование

Соавторы

Sketch-n-Sketch активно разрабатывается Рави Чу, Ником Коллинзом, Брайаном Хемпелем, Джастином Любином и Микаэлем Майером из группы UChicago PL. Предыдущие участники: Джейкоб Альберс, Грейс Лу и Митчелл Спрэдлин.

Брайан @ UIST 2019

Микаэль @ OOPSLA 2018

Брайан @ LIVE 2018
(студийная запись)

Рави @ elm-conf 2018

Брайан @ ICSE 2018
(студийная запись)

Рави @ Strange Loop 2016

Брайан @ UIST 2016

Брайан @ PLDI 2016
(студийная запись)



Герой

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

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

Как рисовать

  • одноразовый
  • быстро
  • своевременно
  • недорого

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

Однако от использования более качественных инструментов можно получить определенное удовольствие. За небольшую сумму можно приобрести блокнот Moleskine, в котором можно сохранять свои наброски. Если вы заглянете в художественный магазин, вы можете выбрать набор тонких аниме-ручек или цветных карандашей. Однако, если честно, стандартный карандаш № 2 тоже подойдет.

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

1_sketching

Чтобы упростить это упражнение, запланируйте выбрасывать все, что вы рисуете, в мусорное ведро, как только закончите. Помните: первый атрибут и правило скетчей — все скетчи одноразовые.

Старайтесь делать наброски быстро и наслаждайтесь простотой этого занятия. Хотя поначалу это может показаться неважным, обратите внимание на сопротивление карандаша, когда он царапает бумагу, или на гладкость пера на бумаге, или на то, как мышь катится по блокноту, если вы используете программу для рисования. . Есть ли на вашей мыши липкие кусочки, из-за которых она иногда пропускает? Это внимание к опыту рисования набросков должно напомнить себе, что деятельность по созданию набросков так же важна, как и результат.

Готово? Выбросьте свой эскиз и начните другой. Практика создания набросков воплощает в себе принцип «потерпите неудачу раньше и потерпите неудачу быстро». Это позволяет вам думать о своем приложении, не вкладывая в него много времени или ресурсов.

2_sketching

Один из ключей к хорошему скетчингу – не давать волю своим идеям. Куриные царапины и фигурки в порядке. Рисунки — это всего лишь побочные продукты вашего творческого процесса. На самом деле, если вы уже хороший художник, возможно, вам даже захочется немного поуправлять собой. Как только вы начнете практиковаться, вы обнаружите, что наброски позволяют развивать ваши идеи и обнаруживать любые потенциальные проблемы на ранней стадии. Это поможет вам найти альтернативы и оставаться гибкими вместо того, чтобы зацикливаться на одном пути в начале процесса проектирования. Возможно, наиболее полезно то, что это можно сделать на любом этапе рабочего процесса создания программного обеспечения. Когда вам понадобятся дополнительные идеи, достаньте салфетку и начните рисовать.

Философия скетчинга

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

Тот, кто впервые читает Sketching User Experiences, часто с удивлением обнаруживает, что все те замечательные вещи, которые они слышали о книге, на самом деле трудно определить. Книга Бакстона представляет собой извилистое путешествие с пониманием постепенного проектирования iPod, природы творчества, некоторых проектов, над которыми он работал в прошлом, и множества примеров набросков. Попутно его читатели также узнают о дизайне горных велосипедов, одержимости Билла апельсиновыми соковыжималками и немного о гребле на каноэ.

Этот своеобразный формат книги раскрывает, что значит думать как дизайнерr. Он лезет в кроличьи норы, собирает воедино явно несоответствующие анекдоты и постоянно рассказывает истории, чтобы увлечь читателей, пока читатели не придут к определенным выводам о дизайн-мышлении.

Возможно, самые важные выводы заключаются в следующем:

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

Каков пользовательский опыт?

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

3_sketching

В мире приложений взаимодействие с пользователем зависит не только от выбранной вами цветовой темы и схемы навигации, которую вы реализуете, но и от того, как ваш пользователь реагирует на ваше приложение и что он думает о нем. В какой руке пользователь держит приложение? Где находится пользователь при использовании вашего приложения? Он или она с другими людьми или один?

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

Скетчинг как способ мышления

Наброски позволяют нам разрабатывать наши идеи без каких-либо последствий, что, в свою очередь, дает нам большую свободу для блужданий и исследований. По словам Бакстона, «наброски в широком смысле как деятельность — это не просто побочный продукт дизайна. Это имеет центральное значение для дизайнерского мышления и обучения».

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

Помните: сами наброски совершенно одноразовые. Сам процесс рисования бесценен.

Создание эскизов — это совместная работа

Скетчинг — это дизайнерский эквивалент интерактивной доски для разработчиков.

4_sketching

Большинство разработчиков имеют гораздо больше опыта работы с белой доской, чем с эскизами. Вы когда-нибудь замечали, какие неряшливые белые доски? Обычно нас не беспокоит удобочитаемость, даже если мы все делаем вид, что все, что написано, нужно сохранить и к нему снова будут обращаться в будущем, в неопределенное время. Это своеобразная ложь, которую мы говорим себе, чтобы мы могли использовать доску, чтобы облегчить обсуждение и передачу наших идей. Есть причина, по которой мы не используем перманентные маркеры на белых досках. Белые доски предназначены не для этого.

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

Ваша задача по рисованию

Самое главное на этом этапе — доказать себе, что наброски приносят личную пользу. Вот ваша задача: потратьте час и сделайте 30 набросков. Это примерно скетч каждые две минуты.

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

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


Подключайтесь и вдохновляйте

Присоединяйтесь к 100 000 творческих программистов и следите за их работой. Добавьте свои идеи с помощью ответвлений и найдите вдохновение для следующей задачи по программированию.


Программирование без проблем

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


Обучать и учиться

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

Эскизы, которые
сделаны на этой неделе

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

Определите этот набор правил и нажмите "Воспроизвести", чтобы увидеть, как эти частицы живут своей увлекательной, но случайной жизнью.

Системы частиц

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

Когда все сказано и сделано, визуализация выявит скрытые закономерности и расскажет историю, стоящую за данными.

Визуализация данных

Игры

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

Создание игр — один из самых увлекательных способов изучения объектно-ориентированного программирования и многопользовательского взаимодействия на одном холсте.

Кисти

Что происходит, когда курсор мыши перемещается или вы машете рукой в ​​сторону камеры?

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

Создать. Полный вперед.

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

  • Создавайте неограниченное количество эскизов с открытым исходным кодом
  • Закодируйте свои идеи за считанные секунды с помощью p5js
  • Нет фреймворков, настройки локального хоста
  • Включить библиотеки одним щелчком мыши
  • Исправлять ошибки с помощью истории версий
  • Создайте портфолио, чтобы продемонстрировать свои работы.
  • Встраивание эскизов в блоги и веб-сайты.
  • Сохранение анимированных GIF-файлов
  • Общайтесь с другими творческими программистами, чтобы вдохновляться и учиться

Креативный кодер Плюс+

Поднимите свои наброски на новый уровень с расширенными функциями и конфиденциальностью.

  • Неограниченное количество публичных или частных эскизов
  • Дополнительные параметры встраивания
  • Загружайте больше файлов с увеличенным лимитом в 1 ГБ (стандартно 25 МБ).
  • Используйте любую внешнюю библиотеку JavaScript в своем эскизе.
  • Без рекламы при изучении OpenProcessing
  • В вашем портфолио и эскизах не отображается реклама.
  • Приоритетная поддержка в прямом эфире от Sinan

Профессор Плюс+

Используйте Classroom Platform, чтобы приглашать учащихся и обучать программированию в классе!

  • Организуйте наброски, создавайте задачи и давайте задания с помощью коллекций.
  • Держите эскизы и занятия в классе закрытыми/только для класса
  • Скройте исходный код, чтобы создавать сложные задания
  • Добавьте библиотеки JavaScript, чтобы расширить свои знания
  • Бесплатная подписка Creative Coder Plus+ для всех ваших учащихся
  • Легко закрыть курс на новый семестр
  • Получите приоритетную поддержку в прямом эфире от Sinan

Статья: Обучение программированию с помощью OpenProcessing

Краткий обзор захватывающего мира кода, творчества, образования, ошибок и Кандинского.

Статья: Создание совместных эскизов с помощью Socket.io

Узнайте, как использовать сервер сокетов OpenProcessing для создания живого эскиза, который отвечает посетителям.

Подпишитесь на нас в Twitter

Наш официальный канал связи: любые новости об OpenProcessing первыми публикуются на @openprocessing

Что делает Arduino тем, чем он является? Много вещей, но одна из самых важных — это то, что каждая плата Arduino легко программируется с помощью программного обеспечения Arduino (IDE). Достаточно подключить его к USB-порту компьютера и нажать на иконку «Загрузить», чтобы запустить процесс переноса вашего скетча во Flash-память микроконтроллера.

Загрузчик

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

Этот небольшой (обычно 512 байт) фрагмент кода называется «загрузчиком» и находится в области памяти микроконтроллера — в конце адресного пространства — и не может быть перепрограммирован как обычный скетч. и был разработан для этой цели.

MemoryMap

Карта памяти ATmega328P

Чтобы запрограммировать загрузчик и обеспечить совместимость микроконтроллера с программным обеспечением Arduino (IDE), вам необходимо использовать внутрисхемный последовательный программатор (ISP), который представляет собой устройство, которое подключается к определенному набору контактов микроконтроллера для выполнить программирование всей флэш-памяти микроконтроллера, включая загрузчик. Процедура программирования ISP также включает запись фьюзов: специального набора битов, определяющих, как микроконтроллер работает в определенных обстоятельствах.

Использовать Arduino в качестве интернет-провайдера

Весь процесс загрузки кода загрузчика и правильного сжигания фьюзов для превращения микроконтроллера ATmega в «Arduino» управляется программным обеспечением Arduino (IDE): оно предоставляет определенный пункт меню и позволяет использовать различные программные средства. устройства. Среди программистов «Arduino as ISP» — самое дешевое и практичное решение для записи загрузчика на другую плату Arduino с ATmega, 32U4 или ATtiny.

Программисты ISP

В процессе программирования используются VCC, GND и четыре контакта данных.Три контакта соединяют MISO, MOSI и SCK между программирующим микроконтроллером и целевым микроконтроллером, четвертый контакт программирующего микроконтроллера идет на контакт сброса целевого устройства.

Как подключить доски

В следующей таблице показаны контакты MOSI, MISO и SCK на разных платах Arduino:

Интерфейс SPI и, следовательно, эти контакты — это интерфейс, используемый для программирования микроконтроллеров AVR. Обратите внимание, что MISO, MOSI и SCK доступны в согласованном физическом расположении в заголовке ICSP; этот разъем также используется шилдами, использующими интерфейс SPI, что позволяет разрабатывать шилды, которые работают на любой плате.

ICSPHeader

На следующем изображении Arduino UNO мы выделили красным цветом соединения на гнездовых планках; желтым цветом обозначен разъем ICSP, который подключается к ATmega328P. Обратите внимание, что плата Rev.3 оснащена микросхемой ATMega 16U2, которая управляет USB-подключением, а также эту микросхему можно перепрограммировать через специальный разъем с маркировкой ICSP2, расположенный прямо над самой платой ATMega 16U2.

Uno Connect

На некоторых платах Arduino (см. таблицу выше) контакты MOSI, MISO и SCK совпадают с цифровыми контактами 11, 12 и 13 соответственно. Вот почему многие учебные пособия предписывают вам подключить цель к этим контактам. Если вы находите эту проводку более практичной, определите USE_OLD_STYLE_WIRING. Это будет работать, даже если вы не используете UNO. (С платой UNO в этом нет необходимости).

ArduinoUNOtoUNO ISP2

На картинке выше мы соединяем две платы UNO для записи загрузчика с помощью соединений «старого стиля»: верхняя плата — это цель, нижняя плата — программатор. Обратите внимание на желтое соединение от D10 программатора до RESET цели. На платах семейства MKR вы не можете использовать D10 для сброса; мы предлагаем D6, и вы должны не забыть изменить строку 73 скетча ArduinoISP — поставив «6» вместо 10.

Провода Arduino ISP

Этот Arduino NANO программируется через разъем ICSP с проводами, идущими от D10-D13 платы программатора UNO.

MegaToUNO

Приведенный выше Arduino MEGA программирует Arduino UNO, подключая D51-D11, D50-D12, D52-D13, GND-GND, 5V-5V и D10 к СБРОСУ. Для этого типа платы требуется электролитический конденсатор емкостью 10 мкФ, подключенный к RESET и GND, а положительный (длинный штырь) подключен к RESET. Конденсатор должен быть размещен после того, как на плату программатора был загружен скетч ISP.

Электролитический конденсатор емкостью 10 мкФ, подключенный к RESET и GND платы программирования, необходим только для плат, имеющих интерфейс между микроконтроллером и USB компьютера, таких как Mega, UNO, Mini, Nano. Такие платы, как Leonardo, Esplora и Micro, с USB-разъемом, напрямую управляемым микроконтроллером, не нуждаются в конденсаторе.

О напряжениях

Семейство плат Arduino включает устройства на 5 В и 3,3 В. При использовании Arduino, который не поддерживает 5 В (Due, Zero, . ), в качестве программатора, убедитесь, что ни один из контактов программатора не подвергается воздействию 5 В. Простой способ добиться этого — подключить всю систему (программатор и цель) к 3V3.

MKR1000 ISP UNO 2

На приведенном выше рисунке вы видите проводку между MKR1000 и UNO. Как описано выше, все работает на 3,3 В, взятых с VCC и GND MKR1000 и отправленных на 5 В и GND UNO.Такое же подключение можно выполнить к ICSP UNO, следуя распиновке, описанной на странице. Мы использовали те же цвета для проводов, что и на других рисунках, чтобы помочь вам легко переключиться со «старой проводки» на разъем ICSP. Обратите внимание, что плата семейства MKR имеет одинаковую распиновку, поэтому вы можете использовать любую плату MKR в качестве программатора ISP. Если вы используете плату MKR в качестве программатора ISP, не забудьте изменить строку 73 ArduinoISP, определяющую фактический вывод, используемый на плате MKR, на Reset target (6 на рисунке выше).

Примечание. Не подключайте платы к USB-порту и не подавайте питание на них во время установки соединений и проводов. Мы также рекомендуем вам сначала запрограммировать Arduino, используемое в качестве программатора ISP, прежде чем приступать к подключению к целевой плате.

Загрузить эскиз

Для платы Arduino, которую вы будете использовать в качестве программиста, требуется специальный эскиз. Вы найдете его в разделе Примеры > 11. ArduinoISP > ArduinoISP .

LoadSketch

Проходя по строкам эскиза, вы найдете ряд параметров, которые необходимо установить в соответствии с целевой платой. Однако эти параметры задаются специальным файлом, доступным для каждого загрузчика/платы, поддерживаемого программным обеспечением Arduino (IDE). Другие параметры четко объясняются в комментариях и должны изменяться только в том случае, если вы знаете, что делаете. Скетч также поддерживает три светодиода, которые дают визуальную обратную связь о процессе программирования.

Arduino ISP LEDSOK

Чтобы загрузить скетч на плату Arduino — ту, которую вы будете использовать в качестве программатора, — вам нужно выбрать тип платы и порт, после чего вы можете действовать как обычно.

Запрограммировать загрузчик

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

Выберите «Записать загрузчик» в разделе «Инструменты» и дождитесь подтверждающего сообщения в нижней части интерфейса программного обеспечения Arduino (IDE). Если вы подключили светодиоды, вы можете следить за процессом визуально.

Burn

Последовательный режим программирования

Процесс программирования управляет тремя линиями SPI (MISO, MOSI и SCK) в соответствии со стандартным протоколом программирования SPI, который используется для чтения и записи карт памяти SD. Единственная разница с картами памяти заключается в отсутствии контакта CS (Chip Select). В наших микроконтроллерах AVR мы используем контакт RESET, который останавливает выполнение любого скетча или загрузчика и переводит микроконтроллер в определенное состояние, в котором он слушает команды, поступающие от интерфейса SPI. Самая первая команда, которую требует протокол, — это та, которая переводит микроконтроллер в режим последовательного программирования.

Как только этот конкретный режим активен, мы можем записывать и читать все программируемые области микроконтроллера: флэш-память, EEPROM и предохранители. В конце флэш-памяти находится область кода загрузчика, выделенная на изображении в начале этой статьи. Процедура «Записать загрузчик» также правильно устанавливает фьюзы микроконтроллера в соответствии с конструкцией платы. Это одна из причин, по которой вам приходится прожигать загрузчик, выбирая в списке точную модель платы.

Технические аспекты программирования

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

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

Управление фьюзами, обычно набором из трех байтов — младшего, старшего и расширенного — является наиболее деликатным аспектом программирования загрузчика: неправильная настройка фьюза может привести к поломке микроконтроллера и платы.Предохранители определяют многие аспекты функций микроконтроллера, такие как: выбор различных источников тактовых импульсов и изменение скорости работы чипа, установка минимального напряжения, необходимого для работы чипа (отключение), установка использования загрузчика, установка объема выделенной памяти. в загрузчик (от 256 до 2048 слов - от 512 до 4096 байт), отключив сброс или последовательное программирование и остановив стирание данных EEPROM при загрузке нового скетча.

Подробное описание предохранителей можно найти в техническом описании каждого микроконтроллера.

Каждый параметр используется по-своему, и логично позволить разработчику заблокировать чип и защитить его от программирования провайдером, но может случиться так, что он по ошибке установит неверный предохранитель, блокируя вас от процесса программирования через интерфейс провайдера. Чтобы восстановить микроконтроллер, вы должны полагаться на высоковольтный последовательный программатор, который использует 12 В для сброса предохранителей.

Подведение итогов: запишите загрузчик за 8 шагов

Откройте прошивку ArduinoISP (в примерах) на плате Arduino.

Примечание для Arduino 1.0: вам нужно внести одно небольшое изменение в код ArduinoISP. Найдите строку в функции heartbeat(), которая говорит «delay(40);» и измените его на "задержка (20);".

Выберите элементы в меню «Инструменты» > «Плата» и «Последовательный порт», соответствующие плате, которую вы используете в качестве программатора (не программируемой плате).

Загрузите скетч ArduinoISP.

Подключите платы Arduino..

Выберите пункт в меню Инструменты > Плата, соответствующий плате, на которую вы хотите записать загрузчик (не той плате, которую вы используете в качестве программатора). Дополнительные сведения см. в описаниях плат на странице среды.

Выберите Arduino как ISP в меню Инструменты>Программист.

Используйте команду «Записать загрузчик».

Подробнее

Больше основных руководств можно найти в разделе встроенных примеров.

Вы также можете ознакомиться со справочником по языку, подробным собранием языков программирования Arduino.

Читайте также:

Доска ArduinoMOSIMISOSCKУровень
UNO или Duemilanove11 или ICSP-412 или ICSP-113 или ICSP-3
Mega1280 или Mega256051 или ICSP-4 50 или ICSP-152 или ICSP-35V
LeonardoICSP-4 ICSP-1ICSP-3
Срок выполнения ICSP-4ICSP-1ICSP-33,3 В
НольICSP-4ICSP-1ICSP-33,3 В
10111 или ICSP-412 или ICSP-113 или ICSP-33,3 В