Устройство 258_Base_Duino создавалось для применения его на платах Arduino (Uno, Nano, Pro Mini). Плата Arduino уже имеет всю необходимую для работы устройства обвязку, включая встроенный преобразователь USB-UART для связи с ПК.
Устройство является базовым и предназначено для ознакомления с основными принципами работы системы ZiChip но, несмотря на это, имеет довольно обширный набор периферии, с которой может работать.
Периферия устройства,
с привязкой к точкам доступа (вход / выход), выводам Arduino и портам микроконтроллера:
point.1 = Вход — ИК-пульт (D2 — PD2)
point.2 = Вход — Дискретные линии (A0-A7 — PC0-PC7)
point.3 = — точки 3-9 общего назначения
point.10 = Вход — Аналоговая линия 0 (A0 — PC0)
point.11 = Вход — Аналоговая линия 1 (A1 — PC1)
point.12 = Вход — Аналоговая линия 2 (A2 — PC2)
point.13 = Вход — Аналоговая линия 3 (A3 — PC3)
point.14 = Вход — Аналоговая линия 4 (A4 — PC4)
point.15 = Вход — Аналоговая линия 5 (A5 — PC5)
point.16 = Вход — Аналоговая линия 6 (A6 — PC6)
point.17 = Вход — Аналоговая линия 7 (A7 — PC7)
point.18 = — общего назначения
point.19 = — общего назначения
point.20 = Выход — ШИМ 0 (D5 — PD5)
point.21 = Выход — ШИМ 1 (D6 — PD6)
point.22 = Выход — ШИМ 2 (D7 — PD7)
point.23 = Выход — ШИМ 3 (D8 — PB0)
point.24 = Выход — ШИМ 4 (D9 — PB1)
point.25 = Выход — ШИМ 5 (D10 — PB2)
point.26 = Выход — ШИМ 6 (D11 — PB3)
point.27 = Выход — ШИМ 7 (D12 — PB4)
point.28 = Выход — ШИМ 8 (D13 — PB5) — индикатор Arduino
point.29 = — общего назначения
point.30 = Выход — Сервопривод (D3 — PD3)
point.31 = Выход — Зуммер (D4 — PD4)
point.32 = — точки 32-46 общего назначения
point.47 = — Зеркало 1WIR-сети (системная точка)
point.48 = — ИК-код последней нажатой кнопки пульта (системная точка)
point.49 = — Флаги устройства (системная точка)
point.50 = — Время «жизни» устройства (системная точка)
point.51 = — Случайное число (системная точка)
Параметры устройства:
— 51 точка доступа
— 320 байт EEPROM и 512 байт RAM для сценария поведения
— поддержка 32 кнопок ИК-пульта (с возможностью изучения любого пульта)
— 24 ячейки памяти EEPROM для хранения точек
Схема устройства для микроконтроллеров ATmega88/168/328:
Для случая применения своей платы с микроконтроллером ATmega88/168/328 схема будет иметь следующий вид:
Инфографика по устройству:
Для построения алгоритма работы устройства используется набор элементов:
0 Разделитель
Элемент не выполняет никаких действий, не использует ресурсов устройства. Используется лишь для визуально разделения блоков сценария.
1 Конец сценария
Элемент, которым должен заканчиваться любой сценарий. После этого элемента все последующие элементы будут проигнорированы устройством.
2 Начало микропрограммы
Элемент является указателем начала микропрограммы.
3 Конец микропрограммы
Любая микропрограмма должна завершаться этим элементом.
4 Инициализирующая микропрограмма
Элемент является аналогом элемента «Начало микропрограммы», но начатая с такого элемента микропрограмма выполнится только один раз при запуске (или сбросе) устройства. Применяется для инициализирующих действий в сценарии.
5 Запрет микропрограммы
В случае, если нужно временно исключить микропрограмму из сценария (не удаляя цепочки элементов и их настройки), применяется данный элемент (вместо «Начало микропрограммы»).
7 Изменение события
Элемент изменяет тип предыдущего события, позволяя организовывать более гибкие варианты реагирования на события.
8 Засыпание
Переводит устройство в режим пониженного энергопотребления. Любое сообщение по сети возобновляет нормальную работу устройства. Очевидно, бесполезно применять этот элемент в сети с активными пересылками сообщений по ней. (в разработке)
9 Комментарий
Элемент не выполняет никаких действий, не использует ресурсов устройства. Используется лишь для ставки комментария в сценарий.
10 Событие от изменения точки
Элемент формирует событие, в случае если произошло изменение значения заданной точки доступа.
11 Событие по условию
Элемент формирует событие по заданному условию изменения значения в заданной точке доступа.
12 Событие от кнопок
Элемент формирует событие по факту нажатия кнопок устройства.
13 Событие от ИК-пульта
Элемент формирует событие по факту нажатия кнопок на ИК-пульту.
14 Событие по таймеру
Элемент формирует событие по таймеру с заданным количеством повторов.
15 Событие от АЦП
Элемент формирует событие по изменению значения АЦП
16 Событие случайное
Элемент формирует случайное событие с заданной вероятностью его возникновения.
19 Событие от сателлита
Элемент формирует событие по факту приема нужного сообщения от IR-сателлита
30 Действие со светодиодом
Элемент выполняет дискретные действия (включить, выключить, переключить) со светодиодом, подключенным к ШИМ-выходу.
31 Действие с ШИМ-выходом
Элемент изменяет скважность (уровень сигнала) на ШИМ-выходе.
32 Действие с зуммером
Элемент формирует звуковые сигналы на зуммере устройства.
33 Действие с мотором
Элемент управляет скоростью и направлением вращения двигателей устройства.
34 Действие с сервоприводом
Элемент управляет поворотами сервопривода устройства.
35 Действие с цифровыми выходами
Элемент управляет выходами устройства, формируя на выбранных линиях двоичный код.
36 Возврат значения точки
Элемент запоминает и возвращает значение выбранной точки после «ухода» события (возврат к исходному значению).
40 Дублирование точки
Элемент выполняет заполнение определенного количества последовательных точек заданным значением. Также используется для различных действий копирования и наложения точек.
41 Отправка значения точки
Элемент отправляет значение точки другой сетевой точке. (в разработке)
42 Запрос значения точки
Элемент формирует запрос значения точки другого сетевого устройства (другое устройство в автоматическом режиме отправит значение запрашиваемой точки назад). (в разработке)
43 Арифметические действия
Элемент выполняет различные арифметические действия над точками
44 Формирование случайного числа
Элемент формирует случайное число для заданной точки.
45 Битовая сборка
Элемент «сбивает» заданные биты точки источника и помещает их в точку приемник.
46 Сохранение значения точки
Элемент сохраняет значение точки в ячейке памяти EEPROM. (в разработке)
47 Восстановление значения точки
Элемент извлекает значение из ячейки памяти EEPROM и помещает его в заданную точку. (в разработке)
Устройство, на данный момент, не является полностью законченным. Продолжается работа над новым функционалом и над улучшением существующего.