Arduino:Примеры/RemoteDueBlink

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Удаленная загрузка скетча на Arduino Due[1]

Это специальная версия примера «Моргание», и ее цель – показать, как загрузить скетч на плату Due с модулем Yun Shield при помощи функции удаленного подключения (через WiFi или Ethernet), имеющейся в IDE Arduino.

Подготовка Arduino Due к удаленной загрузке

Этот скетч отличается от базового «Моргания» тем, что в него добавлена функция checkForRemoteSketchUpdate(), и ее название говорит само за себя – она проверяет, имеется ли на «сервере» новый скетч, который можно загрузить на плату. Эта проверка выполняется только на Due, поскольку перед загрузкой нового скетча требуется стереть flash-память. Если вы загружаете скетч через USB-порт, эта проверка выполняется автоматически.

Чтобы активировать функцию удаленной загрузки, самый первый скетч нужно загрузить через USB-кабель, а затем вписать функцию checkForRemoteSketchUpdate() в начало блока setup() во всех скетчах. Если вы забудете это сделать, скетч нужно будет снова загружать через USB-порт. При желании функцию удаленной загрузки можно отключить.

Необходимое оборудование

  • Плата Arduino Due
  • Модуль Yun Shield (опционально, для удаленной загрузки через WiFi)

Цепь

Чтобы последующие загрузки выполнялись при помощи модуля Yun Shield и WiFi, первый скетч должен быть загружен через USB.

Код

/*
  Моргание
  
  На одну секунду включает светодиод, а затем на одну секунду
  выключает его – и так раз за разом.

  Большинство плат Arduino имеют встроенный светодиод. На Uno и
  Leonardo он подключен к 13-ому цифровому контакту. Чтобы узнать,
  есть ли на вашей Arduino встроенный светодиод, ознакомьтесь с
  документацией на www.arduino.cc

  Этот код не защищен авторским правом.

  Модифицирован 8 мая 2014 года Скоттом Фитцджеральдом (Scott Fitzgerald),
  еще раз модифицирован Марко Бианзой (Marco Brianza), чтобы
  продемонстрировать функцию удаленной загрузки на Arduino Due
  при помощи Yun Shield. 
 */

#include <Bridge.h>

// блок setup() запускается, когда вы нажимаете на плате 
// кнопку сброса (reset) или включения питания (power):
void setup() {
  checkForRemoteSketchUpdate();
  // инициализируем 13-ый цифровой контакт как выходной:
  pinMode(13, OUTPUT);
}

// блок loop() будет постоянно повторяться:
void loop() {
  digitalWrite(13, HIGH);   // включаем светодиод (HIGH – это уровень напряжения)
  delay(100);              // ждем секунду
  digitalWrite(13, LOW);    // выключаем светодиод (LOW – это уровень напряжения) 
  delay(100);              // ждем секунду
}

См.также

Внешние ссылки