Этот пример показывает, как восстановить 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.