Восстановление BlinkM к его заводским настройкам с помощью шины I2C

В этом примере показано, как восстановить BlinkM RGB LED к его заводским настройкам путем передачи с ним по шине I2C.

Чтобы начаться, создайте объект I2C. В данном примере мы используем BlinkM RGB LED, который имеет параметр плат как 0 и адрес (шестнадцатеричное число) как 9-й. Чтобы соединить компьютер с шиной I2C, адаптер USB-I2C от Муравьеда используется. Для создания объекта I2C это переводит в:

  • BoardIndex = 0

  • RemoteAddress = 9-й

  • Vendor = Муравьед.

blinkM = i2c('aardvark',0,hex2dec('09'))
   I2C Object : I2C-0-9h

   Communication Settings 
      BoardIndex          0
      BoardSerial         2237481561
      BitRate:            100
      RemoteAddress:      9h
      Vendor:             aardvark


   Communication State 
      Status:             closed
      RecordStatus:       off

   Read/Write State  
      TransferStatus:     idle

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

fopen(blinkM);
get(blinkM, 'Status')
ans =

open

Заводская настройка по умолчанию для BlinkM должна проигрывать цвета белый красный зеленый синий прочь в последовательности. Белый цвет остается для 100 тактов системных часов в то время как красные цвета, зеленый, синий цвет и от пребывания состояния для 50 тактов системных часов. Этот пример использует скрипт, чтобы проигрывать эту последовательность на BlinkM RGB LED.

Таблица данных BlinkM указывает, что длина скрипта может быть установлена путем записи 'L' в устройство, сопровождаемое 3 аргументами. Мы будем использовать fwrite функционируйте, чтобы записать двоичные данные на шину I2C.

  • Первый аргумент - Когда мы хотим заводские настройки по умолчанию, используйте скрипт с ID 0.

  • Второй аргумент - Длина скрипта, этот скрипт имеет 6 строк кода.

  • Третий аргумент - Количество повторений скрипта, чтобы проигрывать скрипт навсегда, мы определяем номер повторений, чтобы быть 0.

  fwrite(blinkM,['L' 0 6 0]);

Примечание: eeprom время записи составляет приблизительно 20 мс для BlinkM. Следовательно вам придется сделать паузу, чтобы гарантировать, что команда записана успешно.

Согласно таблице данных, линия скрипта может быть записана в устройство путем записи 'W', сопровождаемого 7 аргументами.

  • Первый аргумент - ID Скрипта, 0 в этом случае.

  • Второй аргумент - Номер строки вы хотите записать.

  • Третий аргумент - Длительность в метках деления, которые продлится команда.

  • Аргументы 4:7 - Фактическая команда BlinkM и ее аргументы.

Прежде всего, сначала установите исчезнуть скорость для устройства путем записи 'f' сопровождаемый скоростью к устройству.

  fwrite(blinkM,['W' 0 0 1 'f' 10 0 0]);

В следующих 5 командах задайте цветную последовательность, чтобы быть белыми, красными, зелеными, синими и прочь. Цвет может быть выбран на Во главе с записью 'n' к сопровождаемому R, G и значениями B. Например, установите первое, раскрашивают последовательность, чтобы быть белым путем установки R, G, B значения к 255.

fwrite(blinkM,['W' 0 1 100 'n' 255 255 255]);

fwrite(blinkM,['W' 0 2 50 'n' 255 0 0]);

fwrite(blinkM,['W' 0 3 50 'n' 0 255 0]);

fwrite(blinkM,['W' 0 4 50 'n' 0 0 255]);

fwrite(blinkM,['W' 0 5 50 'n' 0 0 0]);

Таблица данных BlinkM указывает, что командой, чтобы запустить (или 'начальная загрузка') устройство является 'B', сопровождаемый 5 аргументами.

  • Первый аргумент - Набор к 1, чтобы проигрывать скрипт.

  • Второй аргумент - ID Скрипта, 0 в этом случае.

  • Третий аргумент - Количество повторений скрипта, чтобы проигрывать скрипт навсегда, мы определяем номер повторений, чтобы быть 0.

  • Четвертый аргумент - Исчезает скорость.

  • Пятый аргумент - Время настраивает.

  fwrite(blinkM,['B' 1 0 0 8 0]);

Ранее записанный скрипт может проигрываться путем записи 'p' сопровождаемый 3 аргументами.

  • Первый аргумент - ID Скрипта, 0 в этом случае.

  • Второй аргумент - Количество повторений скрипта, чтобы проигрывать скрипт навсегда, мы определяем номер повторений, чтобы быть 0.

  • Третий аргумент - номер строки Скрипта, чтобы начать вопроизводить от.

  fwrite(blinkM,['p' 0 0 0]);

Отключите его от устройства, удалите его из памяти и удалите его из рабочей области.

fclose(blinkM);
delete(blinkM);
clear ('blinkM');

Это завершает пример для восстановления BlinkM к его состоянию по умолчанию путем записи скрипта в него. Этот скрипт может быть обновлен, чтобы проигрывать настроенные последовательности на BlinkM RGB LED.