В этой статье я опишу как начать работать с устройством 105 Bender. Это устройство ZiChip было создано специально для «оживления» давнишнего моего проекта — робота Бендера:
— здесь я собрал шасси
— а здесь внутреннюю электронику
В данной статье мы еще не будем запускать Бендера (это я сделаю в следующей статье). Цель статьи — рассмотреть основы работы с программой Тюнер и принципы построения сценария устройства ZiChip. Это не сложно. Постараюсь подробно про все написать. В конце статьи есть видео — все должно быть понятно. И еще, данная статья — это почти полный копи-паст статьи с ресурса ZiChip — больше информации о ZiChip всегда можно найти там.
Для демонстрации работы нам понадобится:
— плата Arduino (Uno или Nano) с ATmega328, 16 МГц
— макетка (для удобства)
— светодиод с резистором 300 Ом — 1 кОм
— ИК приемник TSOP (тип особо не имеет значения)
— ИК пульт (подойдет любой)
— пьезоизлучатель (или динамик с резистором 300 Ом)
Еще, нужно скачать программу для настройки устройств ZiChip — Тюнер.
Обычно, поддержку каждого нового устройства в Тюнер предварительно нужно добавить, но устройство 105 Bender уже встроено в Тюнер по умолчанию и нам ничего, кроме самой программы, не нужно скачивать.
Краткий обзор устройства (посмотреть полный обзор).
Устройство ZiChip №105 Bender предназначено для несложного управления подвижной тележкой. Устройство имеет набор входных и выходных линий. Каждая конкретная линия связана со своей периферией. Переназначить линии нельзя.
Устройство №105 ZiChip создавалось с целью «оживить» мой старый проект «Робот Бендер», поэтому и периферия подобрана таким образом, чтобы можно было управлять всеми модулями робота (и даже немного больше). Но в тоже время устройство способно управлять и другими вариантами подвижных тележек (с одним приводным двигателем и подвижными рулевыми колесами, 2-мя, 4-мя приводными колёсами или даже гусеничной тележкой).
Подготовка устройства к работе – прошивка МК
1 Подключаем Ардуино штатным шнуром к USB.
— если понадобятся драйвера – их можно скачать здесь
2 Запускаем Тюнер и запускаем утилиту для программирования Ардуино
3 Выбираем порт, с которым связана Ардуина (появляется при подключении Ардуины)
4 Утилита сама находит доступные прошивки устройств и выдает их перечень. Выбираем «Робот Бендер (ver_A)»
5 Выбираем тип Вашей Ардуины и жмем кнопку «Начать прошивку >>»
По окончании процедуры программирования устройство будет готово к работе.
Знакомство с Тюнером
Прошитое устройство не выполняет никаких действий (кроме подтверждения нажатия кнопок ИК-пульта индикаторным светодиодом Ардуины). Нужно создать сценарий поведения и записать его в Ардуину при помощи Тюнера.
Для примера, попробуем настроить элементарное действие, такое как включение/отключение светодиода по нажатию кнопки пульта.
1 Собираем простую схему (я использовал Arduino Nano, но и Uno тоже подойдет).
— не забываем, что светодиод нужно подключать к Ардуине через гасящий резистор 300 Ом – 1 кОм
2 После сборки схемы, подключаем Ардуину к компьютеру.
3 Запускаем Тюнер
Тюнер представляет собой 3 отдельных окна:
— Слева «Сценарий устройства» — здесь мы будем из доступных элементов выстраивать логические цепочки (микропрограммы), формируя логику работы устройства.
— Окно по центру — «Настройка элемента сценария». В этом окне мы будем выбирать элементы из палитры и настраивать каждый из них.
— Справа – окно модулей устройства. В этом окне мы сможем видеть текущих участников сети, выбрать настраиваемое устройство и наблюдать в реальном времени информацию о состоянии устройства и его модулей
4 Создадим новый проект. Для этого нажимаем кнопку и создаем новую папку проекта (например, project1)
5 Далее необходимо в проект занести всех участников сети ZiChip (в нашем случае он один, но это сути не меняет). Это делается Тюнером автоматически, по факту наличия подключенных устройств.
Нажимаем кнопку и выбираем порт, с которым связана Ардуина. При выборе порта и при наличии на нем ЗиЧип-устройств, появляется сообщение «ZiChip сеть :)» — жмем ОК. Тюнер просканирует всех участников сети и в правом окне выдаст их список. В нашем случае будет только одно устройство
6 Настройка модулей
— Сейчас мы не будем рассматривать все модули, но для демонстрации построения сценария, нам понадобится модуль ИК-пульта. В нем мы определим пару кнопок пульта, которые будут управлять светодиодом.
Жмем в правом окне и попадаем в окно настройки пульта. Здесь мы укажем устройству, с какими кнопками пульта мы хотим работать.
Определение кнопок пульта происходит следующим образом:
— кнопкой добавляем пару новых строчек для кнопок пульта
— выбираем верхнюю (нулевую) строчку
— теперь нажимаем выбранную кнопку на пульте (на кнопке внизу окна должен отобразится ее хеш-код)
— нажимаем кнопку с хеш-кодом и этот хеш-код попадет в таблицу (и устройство) – первая кнопка определена
— при желании можно написать комментарий к этой кнопке — в поле «Описание» строчки двойной клик мышки и пишем «Вперед»
— тоже проделываем и со второй кнопкой — называем ее «Стоп»
— Настройки модуля сохраняются в EEPROM устройства и в последующем повторно эту процедуру проходить не нужно.
— Пульт может быть любым – устройство автоматически подстроится под любой протокол.
Создание первого простого примера сценария
Переходим к созданию сценария (по ходу буду пояснять, как работает этот механизм). Сценарий устройства строится посредством элементарных логических цепочек «событие-действие» («событие» дает команду на выполнение «действия»). В нашем случае, событием будет нажатие заданной кнопки пульта, а действием – переключение светодиода
— каждая логическая цепочка должна быть заключена (обозначена) элементами «Микропрограмма» и «Конец микропрограммы»
— этих цепочек в сценарии может быть несколько
— можно считать, что все цепочки сценария работают параллельно и независимо друг от друга
— сценарий должен заканчиваться элементом «конец сценария».
1 В левом окне «Сценарий устройства» кнопкой добавляем несколько пустых строк. Выбираем первую пустую строчку и в выпадающем списке «Палитра элементов устройства» центрального окна «устанавливаем» в нее нужный элемент.
2 Последовательно вставляем элементы «Микропрограмма», «Событие от кнопок пульта», «Индикация простая», «Конец микропрограммы», «Конец сценария».
В результате у нас должно получится следующее:
Данная цепочка (и сценарий) еще не работоспособна – это только скелет логики. Теперь нужно настроить каждый элементы цепочки нужным нам образом.
3 Начнем с элемента «Событие от кнопок пульта». Выбираем его в окне сценария и делаем настройку в центральном окне в поле «Параметры элемента»
Из параметров пульта нам нужно указать галочкой, какая из 16 возможных кнопок пульта будет создавать событие (смотрим в правое окно, где наши кнопки пульта определены и пронумерованы). Галочкой отмечаем нулевую кнопку — «Вперед».
С пультом все. Теперь нужно определиться, что нам нужно от светодиода (что он будет делать, когда возникнет событие от нажатой кнопки пульта).
4 Выбираем строчку со светодиодом и в окне настройки видим параметры светодиода. В выпадающем списке выбираем Светодиод: «- ELED» и Действие: «- переключить» (каждое новое событие будет переключать состояние светодиода на противоположное).
Теперь сценарий готов..
5 Осталось созданный сценарий записать в устройство.
— так как сценарий хранится в EEPROM, процесс записи не влияет на работу устройства и может быть запущен даже в момент, когда устройство выполняет какое либо действие. Это будет актуально, когда тележка будет связана с компьютером не USB-шнурком, а при помощи BlueTooth-модуля. В этом случае логику тележки можно менять не вставая за ней с рабочего места.
Для записи сценария нажимаем кнопку (в левом окне) и в окне мастера жмем «ОК» (мастер сделает все автоматически).
Готово – первый сценарий записан, теперь можно его проверить (Ардуину отключать от ПК не нужно). Нажимайте кнопку пульта и наблюдайте за переключением светодиода.
Обзор возможностей
С элементами светодиода и пульта мы разобрались — там все довольно просто. Кратко ознакомимся с другими элементами устройства (более подробней смотрите или в хелпе Тюнера — кнопка , или в обзоре устройства, или в описании элементов на этом ресурсе).
Элементы устройства можно разбить на функциональные группы.
1 Группа элементов которые служат для разметки сценария, управления ходом выполнения микропрограммы, ее комментирования.
2 Группа элементов формирующие событие (от кнопок пульта и от аналоговых входов). Для аналоговых входов может быть задан произвольный коэффициент усиления и смещение нуля — это удобно для работы с различными аналоговыми датчиками.
3 Элементы управления тележкой специфичные и созданы специально для этого устройства. При помощи этих элементов происходит управление тележкой и задание режимов движения:
— реализован разгон двигателей (останов) с заданной интенсивностью (то есть тележка не двигается рывками — движения плавные)
— реализовано управление двигателями по логарифмическому закону (можно отключить, но с логарифмом лучше)
— поворот может осуществляться как самими двигателями так и при помощи сервы (это если тележка с одним приводным двигателем и возможностью поворачивать передние колеса)
— реализована возможность задания глобальных настроек для всех элементов (и их смены в процессе работы) .
Элементы позволяют плавно и удобно управлять тележкой посредством таких неудобных устройств управления как ИК-пульт и символьные команды от BlueTooth.
4 Элементы управляющие сервоприводом.
5 Элементы реализующие управление индикацией тележки. Имеются различные варианты визуальных эффектов (то есть подал один раз команду и индикация работает по заданной программе).
6 Элементы работы с флагами устройства — ниже я них напишу.
7 Элементы работающие с BlueTooth или UART.
8 Так как места в МК оставалось прилично, под зуммер был реализован однобитный олдскульный звук! В устройстве предустановлено 15 различных звуков для несложного озвучивания модели.Следующий пример сценария будет со звуком.
9 Дополнительный набор элементов (для формирования более сложной логики) — перекочевал с предыдущего базового устройства:
События
Действия
Работа с точками доступа
Работа с ячейками памяти
Второй пример сценария – комбинированные действия
После ознакомления с элементами устройства, попробуем немного усложнить наш сценарий – добавив в него элемент «звук».
1 Для того чтобы услышать как работает этот элемент нужно в предыдущую схему добавить динамик (или пьезоизлучатель).
— элемент «звук» работает довольно своеобразно, так как он воспроизводит однобитные предустановленные треки. Качество звука не позволяет полноценно создавать звуковые эффекты для моделей. Этот элемент был создан только с целью демонстрации и, возможно, каких то несложных озвучек. Для полноценной озвучки можно воспользоваться моей говорилкой, где звук гораздо лучше и есть возможность проигрывать свои файлы. Еще в планах есть создание новой говорилки работающей полноценно в ЗиЧип.
2 Построим следующую логику работы:
— задействуем 2 кнопки пульта «вперед» и «стоп» (ранее мы их уже определили)
— по нажатию первой кнопки загорается светодиод и имитируется звук запуска «мотора»
— после того ка «мотор» «запустился»
— начинает непрерывно воспроизводиться «холостой» ход «мотора»
— после нажатия кнопки пульта «стоп» светодиод погаснет и проиграется звук «остановки» «мотора»
Реализуется этот алгоритм не намного сложнее предыдущего сценария.
3 Для начала сделаем включение и отключение светодиода разными кнопками. Для этого немного подправим наш первый сценарий. Создаем дубликат ранее созданной цепочки сценария (выделяем нужные строчки с зажатым Shift, потом копируем Ctrl+C и вставляем Ctrl+V).
4 Изменяем настройки элементов:
— светодиод в первой цепочке – устанавливаем действие «- включить»
— пульт во второй цепочке — выбираем галочкой вторую кнопку (под номером 1)
— светодиод во второй цепочке – устанавливаем действие «- выключить»
5 Записываем сценарий в Ардуину и проверяем, как включается и отключается светодиод от разных кнопок. Работает правильно? Продолжаем!
Пришло время добавить звук.
6 После каждого светодиода кнопкой добавляем новую строчку и вставляем туда элемент звук
7 Правим:
— первый звук – выбираем Воспроизвести: «-старт» (остальные настройки не трогаем)
— второй звук – выбираем Воспроизвести: «-стоп» (остальные настройки не трогаем)
— действий в цепочках сценария можно выстраивать по несколько в ряд – все они выполнятся одновременно по приходу события.
Еще раз записываем сценарий в Ардуину и пробуем нажимать кнопки. Работает?
8 Теперь нам нужно добавить звук холостого хода:
— в первой цепочке добавляем еще один элемент звука (обязательно до элемента звука, который воспроизводит «-старт») . Если элемент попал не туда, то стрелками можно передвигать выделенную строчку вверх или вниз по сценарию.
— в добавленном звуке выбираем «-холостой ход» и ставим галку «воспроизводить как зацикленный фон»
— во второй цепочке в настройке звука «стоп» выбираем — По окончании воспроизведения: «тишина» — это для того чтобы после воспроизведения звука остановки не продолжился фоновый звук холостого хода
— два звука в цепочке будут работать следующим образом. Вначале запустится фоновый звук и тут-же мгновенно запускается звук «-старт». При запуске «-старт» фоновый звук отложит свое воспроизведение (даже не начав воспроизводится) и запустится уже после окончания звука «-старт». Далее «холостой ход» будет работать зациклено бесконечно (пока не будет воспроизведен «стоп»).
Записываем сценарий – проверяем.
Третий пример сценария – работа с флагами устройства.
Если со вторым примером «поиграться» чуть дольше, то станут заметны пару огрехов, которые здорово портят впечатление (это не считая качества звука 🙂 ).
А именно:
— если во время озвучивание холостого хода нажать кнопку пульта еще раз «вперед», то произойдет повторное озвучивание «старт» — чего не должно быть
— кнопка пульта «стоп» будет озвучивать процесс остановки двигателя в любом состоянии, даже если устройство в данный момент никуда не «едет»
Чтобы убрать эти огрехи, нам необходимо знать в каком режиме работает устройство в момент подачи команды (нажатии кнопки пульта) и действовать по обстоятельствам. Об состоянии устройства проще всего судить по флагам устройства.
— Устройство ЗиЧип имеет большой набор флагов. Флаги отображают различные состояния периферии или внутренних процессов. Например, флаги устанавливаются во время воспроизведения звука, во время нажатия любой кнопки на пульте, при установке сервопривода в крайние состояния, при движении двигателей вперед или назад и так далее. Еще флаги управляют режимами работы периферии. Например, установив соответствующие флаги можно запрещать определенные действия устройства или задействовать альтернативные функции на линиях ввода-вывода. Еще, флаги общего назначения можно использовать в своих целях для формирования нужной логики сценария.
Узнаем какие у нашего устройства есть флаги. Для этого откроем окно флагов (в правом окне пиктограмма ). Нажимаем пиктограмму и получаем перечень предустановленных флагов устройства. Состояние флагов изменяется в режиме реального времени, то есть, то что Вы видите в окне – это реальное состояние флагов устройства (понажимайте любые кнопки на пульте и Вы увидите как изменяет свое значение соответствующий флаг). Флаги можно переключать вручную – просто выбирайте нужную строчку мышкой – флаг будет изменять свое значение.
Чтобы определять в каком режиме работает устройство в каждый момент времени (и адекватно реагировать на нажатия кнопок пульта) мы будем использовать флаг «воспроизведение сэмпла». То есть, если звука нет, значит наше устройство никуда не «едет» и его можно «завести» но нельзя «заглушить» и наоборот.
Приступаем к правке предыдущего примера
— все примеры приведенные выше есть в разделе примеров устройства. Примеры можно посмотреть (и загрузить) из окна примеров которое открывается кнопкой в левом окне.
Добавим в сценарии предыдущего примера по новой строчке в каждой цепочке после элемента Пульт. В эти строчки устанавливаем элемент «Событие от флага».
В первой цепочке в элементе «Событие от флага» устанавливаем номер флага 16 — «Воспроизведение сэмпла» и ставим галочку «- инвертировать событие флага». В элементе Флага второй цепочки устанавливаем тот-же 16 флаг, но без галочки.
— события установленные одно за другим обрабатываются по принципу логического-И. То есть, чтобы выполнилось действие нужно чтобы все события были активны.
Логика, сформированных выше цепочек, следующая:
— первая цепочка сформирует событие (и отработает «запуск двигателя») только тогда, когда нет воспроизведения звука и нажата кнопка на пульте. Если звук уже проигрывается — ничего не произойдет.
— вторая цепочка будет действовать наоборот (срабатывать только когда звук воспроизводится) так как нет галочки «- инвертировать событие флага» в элементе флага.
Загружаем сценарий в устройство — пробуем.
Обещанное видео — все о чем я написал выше (включите во весь экран)
В конце небольшой ликбез по основным понятиям ZiChip (читать не обязательно)
Термины и определения
ZiChip
– это готовое устройство с определенным функционалом, позволяющее простыми и доступными средствами настроить логику работы «под себя». Кроме того, ZiChip по умолчанию поддерживает сеть устройств и в любой момент можно внести новое устройство в сеть и «прописать» его взаимодействие с уже работающими устройствами.
ZiChip Tuner
– это программа, предназначенная для настройки, как отдельных ZiChip-устройств, так и сети в целом. Тюнер умеет получать различную информацию от устройств в сети и управлять любым функционалом.
Номер устройства
— это номер посредством которого устройство идентифицирует себя в сети и для Тюнера. Номер устройства – это, фактически, тип устройства. В сети могут участвовать устройства разных типов (в том числе и одинаковых)
Адрес устройства
— это присвоенный Тюнером номер, служащий для идентификации устройства в сети. То есть – это номер, по которому к устройству обращаются или от имени этого номера устройство передает информацию другим участникам в сети. В сети может участвовать до 15 устройств (соответственно, адреса лежат в пределах 1 – 15). В сети не может быть устройств с одинаковыми адресами.
Сценарий поведения устройства
— это специальная запись в EEPROM микроконтроллера, которая формирует способ реагирования устройства на внешние сигналы. Устройства ЗиЧип позволяют изменять сценарий поведения «на лету», во время работы (без перепрошивки и необходимости выключения устройства из сети).
Микропрограмма (логическая цепочка)
— группа элементов заключенная между элементами «Микропрограмма» и «Конец микропрограммы» и выполняющая элементарную работу — «событие-действие». «Событие» дает команду на выполнение «Действия». Цепочек в сценарии может быть несколько. Все цепочки, прописанные в сценарии, работают параллельно.
Точки взаимодействия (точки доступа)
— это базовый механизм ZiChip, посредством которого осуществляется связь внутренних модулей устройства между собой и связь между отдельными устройствами в сети. Процесс формирования алгоритма поведения устройства сводится к формированию связей между точками взаимодействия.
Замечания приветствуются!
Это лучшее что можно сделать для данной конструкции 🙂
Попробую прошить чистую ардуину и прицепить сервопривод.
Производство ардуин особо не должно как-то влиять… А вот дрожание сервы — это у меня было, когда я попытался ее запитать от USB к которому была подключена ардуина. Сначала не мог понять что не так, но внешнее питание сразу вылечило проблему. Оказалось напряжение порта сильно проседало сбрасывая ардуину.
Спасибо за разъяснение.
Хотя кнопкой вроде пользовался.
О замеченных свойствах пишу в надежде на то, что вы заинтересованы в инфе. У меня а руках три вида ардуины Uno; Nano; Mini и ни на одной не работало без поселдующих манипуляций.
Я не исключаю того, что матчасть имеет ущербные характеристики, как никак производство Китай и noname.
Например: рулевая машика самопроизвольно престала работать (дрожала без вращения), работоспособность востановил перезаливкой сценария…
«Замечено — пример сценария переносится только copy-past.»
Внизу окна примеров кнопка «загрузить» — нажимаешь и пример остается в окне сценариев
Показ сценариев примеров и потом возврат к текущему сценарию (если не жать «загрузить») сделано для того, чтобы можно было с примеров копипастом добавлять куски в свой сценарий.
По поводу предварительной загрузки скетча — это ни как не влияет на сценарий и его работу — проблема была гдето-то в другом месте…
Спасибо за помощь!
Странно, но факт влет запустить не получилось.
Оживить удалось только путем последовательности действий:
1. Загрузил скетч в ардуино:
#include //используем библиотеку для работы с сервоприводом
Servo servo; //объявляем переменную servo типа Servo
void setup() //процедура setup
{
servo.attach(3); //привязываем привод к порту 3
}
void loop() //процедура loop
{
servo.write(0); //ставим вал под 0
delay(2000); //ждем 2 секунды
servo.write(180); //ставим вал под 180
delay(2000); //ждем 2 секунды
}
2.Подцепил сервомашинку и убедившись, что скетч живет и сервомашинка отрабатыват положеные углы вновь залил пример сценария.
3. И глубоко вдохнув получил желаемый результат.
Замечено — пример сценария переносится только copy-past.
Элементы «Параметры сервы» в цепочках не нужны.
В примерах (пиктограмка книжки) есть сценарий для сервы — попробуйте его.
Если что — отписываетесь.
Добрый день!
Помогите разобраться.
Подключил серву к ардуине согласно приведенному примеру.
Подготовил сценарий и прошил.
Однако серва ни как не реагирует на пульт управления.
Заглянул в созданные файлы.
Вот что я там увидел:
01_script.lst
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от кнопок пульта:0:3:50:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:50:15523813
Серва влево:2:3:68:1:47:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:68:15523813
Параметры сервы:0:3:70:0:62:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:70:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от кнопок пульта:0:3:50:4:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:50:15523813
Серва вправо:2:3:69:1:47:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:69:15523813
Параметры сервы:0:3:70:0:62:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:70:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
Конец сценария:0:1:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:1:14211326
++++++++++++++++
01_points.lst
0:!!! Не применять !!! — системная точка
1:Вход — ИК-пульт (D2)
2:Вход — Дискретные линии (A0-A7)
3:Сист — Входной буфер BlueTooth
4:Сист — Выходной буфер BlueTooth
6:Сист — Параметры сервы (Servo_Center, Servo_Max_L, Servo_Max_R, Servo_Accel)
7:Сист — Параметры мотора (Motor_speed, Motor_accel, Motor_max_speed)
8:Сист — Параметры поворота (Turn_L_speed, Turn_R_speed, Turn_accel, Turn_max_speed)
9:Сист — Параметры коррекции движения (Cor_L_motor, Cor_L_motor)
10:Вход — Аналоговая линия 0 (A0) + BT-модуль
11:Вход — Аналоговая линия 1 (A1)
12:Вход — Аналоговая линия 2 (A2)
13:Вход — Бампер левый (A3)
14:Вход — Бампер центральный (A4)
15:Вход — Бампер правый (A5)
16:Вход — Аналоговая линия 6 (A6)
17:Вход — Аналоговая линия 7 (A7)
20:Выход — Мотор левый база (D5)
21:Выход — Мотор левый управл (D6)
22:Выход — Мотор правый база (D7)
23:Выход — Мотор правый управл (D8)
24:Выход — Рот MLED0 (D9)
25:Выход — Рот MLED1 (D10)
26:Выход — Рот MLED2 (D11)
27:Выход — Глаза ELED (D12) + BT-модуль
28:Выход — Антена ALED (D13) + индикатор Arduino + BT + ИК
30:Выход — Сервопривод (D3)
31:Выход — Зуммер (D4)
47:Сист — Зеркало 1WIR-сети
48:Сист — ИК-код последней нажатой кнопки пульта
49:Сист — Флаги устройства
50:Сист — Время «жизни» устройства
51:Сист — Случайное число
+++++++++++++++
01_memos.lst
1:4294967295:
1:4294967295:
++++++++++++++
01_hashes
0:1772:—
1:35942:—
2:32280:—
+++++++++++++++
01_flags.lst
0:-:Разворот налево
1:1:Разворот направо
2:1:Движение вперед
3:-:Движение назад
4:-:Поворот влево
5:-:Поворот вправо
6:-:Максимальная скорость
7:1:Стоп
8:1:Центральное положение сервы
9:-:Левое положение сервы
10:-:Правое положение сервы
11:1:Запрет визуализировать звук на MLED
12:-:Запрет подтверждать прием ИК-команд на ALED
13:-:Запрет подтверждать прием-передачу BT-команд на ALED
14:-:Разрешить выдавать UART-сигнал на выход ELED (Arduino D12)
15:-:Запрет принимать UART-сигнал на выходе GPin-0 (Arduino A0)
16:-:Воспроизведение семпла
17:-:Переполнение буфера интерфейса ZiChip
18:-:Нажата кнопка пульта (любая)
19:-:Запрет использования логарифма при движении
20:-:работа визуализации MLED
21:-:работа визуализации ELED
22:-:работа визуализации ALED
Согласен концевик практичней.
Обвязка минимальна.
И надежность (!) можно обеспечить высокую, чисто механически.
ИК пара на отражение нисколько не лучше оптопары от мыши.
При этом диапазон рабочих расстояний всего 5мм, причем для надежной работы требуется зеркальная отражающая поверхность,что реально обеспечить невозможно.
Это можно будет реализовать.
Но давайте, для начала разберемся с оптопарой.
Что-то Вы очень сложно и проблемно с этими датчиками решили сделать.
Зачем так сложно?
Если бампер контактный, почему не поставить концевички?
типа таких http://www.ebay.com/itm/181961335676?ssPageName=STRK:MESINDXX:IT&_trksid=p3984.m1436.l2649
Если нужен безконтактный — поставить ИК пару на отражение
типа такой http://www.ebay.com/itm/181927115609?ssPageName=STRK:MESINDXX:IT&_trksid=p3984.m1436.l2649
Сценарий приблизительно таков:
Датчики бамперов будут изготовлены из свето диодов и фототранзисторов механической мыши.
В зазор между свето диодами и фототранзисторами помещены светонепроницаемые заслонки, которые при перемещении будут перекрывать световой поток, и соответственно уровень постоянного напряжения, от определенного максимума до полного «0».
На вход АЦП будет поступать изменяемое постояннное напряжение, а на выходе при определенном уровне сигнала должен срабатывать тригер. По его сигналу должны произойти следующие события: воспроизводится сигнал о наличии препятствия, а у тележки должен будет включен реверс движения с последующим остановом (при этом задается определенное минимальное врямя для маневра), при необходимости должен осуществляться поворот налево или направо, и без такового.
Да точно, движок комментариев рвет строки …
Скоро собираюсь обновляться подумаю над этим.
А сейчас можно пользоваться тегами
<соdе>
…
текст программы
…
< / соdе>
code — на английском и без пробелов. Выше я добавил русские буквы и пробелы чтобы не сработал тег (не копипастить)
я подправил выше Ваш сценарий этими тегами
По поводу как это реализовать — опишите подробней что нужно чтобы тележка делала и как реализованы бамперы
Привет!
Подскажите будет ли работать бампрер с таким сценарием (в качестве датчиков собираюсь использоввать светодиодные матрицы от мышей) :
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от центрального бампера:1:5:54:132:0:127:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:54:15523813
Звук:1:2:76:6:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:76:15523813
Индикация простая (digital):1:2:77:26:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:77:15523813
Назад:4:3:62:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:62:15523813
Параметры движения:0:3:67:0:21:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:67:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от правого бампера:1:5:55:132:0:127:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:55:15523813
Звук:1:2:76:6:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:76:15523813
Индикация простая (digital):1:2:77:26:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:77:15523813
Назад:4:3:62:128:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:62:15523813
Поворот налево:3:3:63:128:63:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:63:15523813
Параметры движения:0:3:67:0:21:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:67:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от левого бампера:1:5:53:128:0:122:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:53:15523813
Звук:1:2:76:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:76:15523813
Индикация простая (digital):1:2:77:26:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:77:15523813
Поворот направо:3:3:64:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:64:15523813
Назад:4:3:62:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:62:15523813
Параметры движения:0:3:67:0:21:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:67:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
Конец сценария:0:1:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:1:14211326
Именно в этом устройстве 105 не будет дальномера.
Но как только устройство будет отлажено и наполнено файлами процентов хотябы на 90, я смогу создавать другие варианты бендера, где буду устанавливать в качестве периферии все что нужно будет пользователям — это я так и планировал и все заточено на то чтобы легко было создавать ответвления устройств.
Привет!
Подскажите пжлста, предумотрена ли в программом модуле возможность подключения дальномера HC-SR04.
Какие есть рекомендации?
Спасибо!
Проект серьезно преобразился.
Жить стало комфортнее.
Особенно когда есть Help.
Ситуевина с «Флагами» стала поятнее. Реально помогло.
Обновил 105 устройство в тюнере.
Добавил первую партию примеров (все пробовал в железе) и начал наполнять хелп по элементам
Я как раз описывал случай с голой ардуиной.
Перепрошивал несколько раз.
Пытался даже слить загруженную прошивку и верифицировать, неполучилось.
Но видимо после этих манипуляций связь тьюнер-ардуино восстановилась.
То что входы бампера это входы, определенные как АЦП предполагал…
Пока устройство не найдется тюнер не сможет создавать сценарии (так как он не знает для какого устройства нужен сценарий и подставляет пустое устройство). Если устройство не находится попробуйте отключить всю периферию оставив голую ардуину. Если не помогло — перепишите прошивку.
Не спешите Вы все пробовать — я еще сам не все попробовал 🙂
(но на тележке катался)
Я сейчас пишу примеры. Для начала самые простые. Попробуете их потом приступим к более сложным.
Максимальную скорость можно установить любую (элемент «параметры движения»)
Вход бампера — это АЦП, тоесть все что выдает аналоговый (или цифровой) сигнал можно туда приспособить.
Связал мотор редукторы с ардуино через драйвер L298N. Работают, но скорость вращения велика.
С бампером непонятки, что может являться датчиком.
Фотосопротивлеие, фотодиод или что?
Привет.
Очень странно ведет себя Тьюнер.
Вынуждено перезалил HEX файл (слетел без явных причин).
запукаю Тьюнер, а о сеть не видит.
Создаю новый файл, а результата нет. Сценарий устройства не строится, элементы сценария недоступны.
Подгружаю пример их файла — таже история.
Убил два дня на поиски.
Седни свершилось чудо — сеть обнаружилась и сценарий загрузился.
Я в шоке….
Давайте я подготовлю примеры встроенные в тюнер и на их базе будем разбираться что не так.
В настоящий момент пришлось тупо залить bender_go, обвешал адуину светодиодами и убедился, что это работает. Правда не сразу получилось. Сначала работал зуммер не зависимо от нажатия кнопок пульта управления.
Жамкаешь резет все обрубалось, но не звук. При этом было замечено, что сценарий вроде как заливается, но не было адекватных записей файлов в проекте. Поэтому пришлось сначала модифицировать сценарий, записать затем вновь вернутся к прежним настройкам и вновь записать сценарий. В этом случае записались новые версии файлов и все работает уже больше суток.
Из представленных материалов мне известно, что озвучиваие может быть на основах ранее записанных сэмплах. Как реализоввать эту функцию пока не вижу способа. Метод научного тыка отдыхает
Шины I2C в этом устройстве не будет.
по поводу ошибки хрома — я тоже заметил это после смены сервера — решу эту проблему скоро
По сети сделаю примеры
После записи обновленного тюнера обновляется и ини-файл конфигурации в котором, кроме всего, прописано и название текущего проекта. Создайте свой проект и после перезаписи тюнера просто выберите его один раз при первом старте — дальше он будет загружаться автоматически.
По элементам хелпа еще нет — он в процессе создания.
Квадратная линия это шина I2C встронная интерфейс Ардуино (аналоговые входы А4 и А5).
http://zichip.net/posts/zichip_tuner — по той ссылке Google Chrome скачалось нечитабельное Unconfirmed 240130.crdownload. Пришлось воспользоваться Internet Explorer. Такое случается второй раз. Помотрите настройки на вашем серваке.
Есть несколько вопроссов по тьюнеру:
Указано, что участников сети может быть 15. Зачем зто И есть ли примеры когда в сети больше одного…
Как то странно видеть, что при запуска свежего Тьюнера он не видит, какой проект уже залит с ардуино и подставляет с «0» свои варианты проектов (default)…
Тренировка на светодиодах мало дает для понимания принципов и алгоритмов создания прикладной программы.
Очень куций хелп по инструментам, как они взаимодействуют со средой, какие ограничения и др. свойства.
Привет!
1 Запросто (естественно, нужен к ней преобразователь USB-UART — так как нет встроенного)встроенный в Тюнер прошивщик умеет прошивать и про мини.
2 Сонар в конструкции не предусмотрен (хотя может быть реализован, например, в модификации Бендера). В данной конструкции функции дальномеров призваны выполнять аналоговые датчики-бампера (это, например, может быть инфракрасная пара). Позже я сделаю несколько примеров с бамперами.
3 что такое квадратная линия? это элемент? какой его номер?
ЗЫ По Вашим отзывам сделал автоматическое отключение порта при запуске прошивальщика. Начал понемногу делать примеры в тюнере (пиктограмка левого окна с книжкой) — нужно их потестить.
Обновление как всегда здесь http://zichip.net/posts/zichip_tuner
Привет!
Вопрос №1: в этом проекте можно ли использовать ардуину Про Мини?
Вопрос №2: как подключить сонар?
Вопрос №3: как использовать квадратную линию?
Понял в чем проблема.
Перед прошивкой устройства в ардуину (в утилитах) ком порт ардуины должен быть свободен. То есть или перед этим не соединятся с устройством или нажать кнопку «закрыть ком порт» внизу правой панели.
Порт должен быть свободен так как прошивку в ардуину записывает внешняя программа (avrdude) и она не видит порт если им пользуется тюнер.
По Вашим словам я понял, что Вы часто записываете устройство в ардуину. Это нужно делать всего один раз — после этого записывается/переписывается только сценарий. Или я не так понял?
Ком порт присутствует: в диспетчере устройств например, объявлен COM1.
Запускаю Адуино 1.6.5.; 1.7.2 или 1.6.8. Уверенный коннект с COM1, шьются скетчи из примеров.
Захожу в Тьюнер. На первом этапе COM1 виден, соединяемся.
Идем в инструменты — COM1 для прошивки не доступен.
Идем в терминал — доступа к порту нет. Бывают правда сессии когда терминал живет но прошить HEX файл не могу.
Вырубаю Тьюнер и запускаю Адуино 1.6.5.; 1.7.2 или 1.6.8. Все в ажуре, все работает.
Перезапускаю комп, порт виден но залить HEX файл не могу.
Могу сделать пошаговую галерею фото.
При желании можно через TeamVieWer посмотреть…
Странно, я довольно долго с Тюнером возюсь и с КОМ портом никогда проблем не было…
Посмотрите на поведение виртуального ком порта созданного ардуиной в диспетчере устройств. Если он пропадает и там — это не проблема тюнера.
Опишите подробней как это происходит и при каких обстоятельствах.
Мозг у меня снесло.
Тюнер не предсказуемая игрушка.
То видит ком порт, то теряет.
Прошить не дает…
На этх же компах (3шт. Win7; Win XP-2шт)
Адуино 1.6.5.; 1.7.2 и 1.6.8 плата определяется и делай с ней что хош.
так что быстрый старт откладывается на неопределённое время.
А жаль….
Извините, моя ошибка!
Поменял тарифный план у хостера, а обновлял Тюнер на старом сервере (забыл прописать новый ИП). Сейчас заметил и залил уже на новый сервер. Скачайте по новой.
Спасибо.
Сидел на Ардуино Уно. Все оработает, но габариты не те. Были проблемы с прошивкой Ардуино Нано, Ардуино Про Мини.
Юзал с USB TO TTL c чипами PL2303 и HC340. Не мог никак прошить. Проблема решилась когда залил AverDude версии 5.11.
По папкам я уже лазил.
Определенное впечатление уже есть.
Бум дерзать, двигаясь от простого к сложному…
По секрету: пытаюсь приобщить внука, чтоб оторвать от улицы.
Поэтому сижу на старости лет и ковыряюсь. Не все сразу получается, но не теряю надежды, так как знаю пословицу «Дорогу осилит идущий»
Так что извиняйте за ламерские вопросы.
Начните с простых цепочек пульт+светодиод и пробуйте разные варианты настроек светодиода (там все максимально упрощено) потом пульт+звук …
ЗиЧип делается для того чтобы можно было создавать проекты не имея опыта программирования.
Те непонимания которые возникают — это мне план развития на будущее.
Исходник-то можно глянуть (он лежит в zichip_tuner\devices\105_bender_a\firmware\ ) — только это еще больше запутает.
Что имеется в виду под переносом? Когда в разных ардуинах прошита прошивка Бендера и нужно в двух проектах делать разные сценарии?
Откройте 2 копии тюнера создайте 2 разных проекта и копиистом копируйте куски сценария
по поводу настроек модулей — раньше была возможность сохранять настройки в файл — я посчитал это лишним убрал. По большому счету настроить несколько кнопок пульта 2 раза не должно быть проблемой
Если нужно сделать копию проекта и потом его править просто сделайте копию папки Вашего проекта (лежит в zichip_tuner\projects\ ) переименуйте и используйте в тюнере (кнопка выбора папки проекта самая правая внизу)
Может реализовать возможность делать дубли проектов одной кнопкой?
Да диод замигал, но при этом, когда начал присоединять звук возникли вопросы. В частности при нажатии кнопки «старт» диод доолжен гореть (как я понимаю) до момента нажатия клавиши «стоп».
Этого не происходит — звук обрывается с небольшой задержкой не дожидаясь команды стоп.
И ваще то я не программист, пытаюсь в чем то разобраться путем проб и ошибок.
Но пытаться понять алгоритм работы «черного ящика» по скудным примерам, это еще та задача.
При этом описание функциональных клавиш тока в проекте…
Тыкаюсь как цуциня.
Можно ли взглянуть на исходный код проекта в целом, а также на алгоритм работы робота?
И еще как переносить частично набранный проект с одной аппаратной платформы на другую, а также программную платформу (zichip_tuner 3.0)
Наверное действительно нужно версию прописывать — сделаю.
Светодиод замигал?
по поводу миганий ног 9, 10, 11 — они привязаны по умолчанию к воспроизведению звука (так как формируют рот робота и визуально «проговаривают» звук), но их можно освободить в элементе настройка звука
вывод 13 привязан к индикации принятых ИК-команд — тоже можно отвязать
все таки виджеты откройте — будет наглядней
На это страничке был еще сегодня, качнул и удалил, кода увидел что размер архива тот же…
На мой взгляд в названии следует указывать версию.
И недоразумений будет меньше…
Спасибо, качну и будем посмотреть…
Здесь ключевое слово «zichip.net» 🙂
Самый свежий Тюнер всегда находится здесь http://zichip.net/posts/zichip_tuner
Вы пишите «Обновил на zichip.net Тюнер – теперь видны номера выводов куда подключены светодиоды.»
Вопрос: где ссылка на скачивание?
Привет, перерыл все. Методом научного тыка установлено. Светодиод мигает в такт нажатия кнопки «Вперед» на 13; 11; и 9 пинах. А а 12 пине сигнала нет. Это прально?
Теперь методом того же научного тыка буду искать выход на динамик ;
Или есть другой способ?
Обновил на zichip.net Тюнер — теперь видны номера выводов куда подключены светодиоды.
Все стало понятно — на 12 пине висит светодиод ELED, а в сценарии установлен MLED. Поменяйте и все заработает.
Вот так:
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от кнопок пульта:0:3:50:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:50:15523813
Индикация простая (digital):1:2:77:26:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:77:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
Конец сценария:0:1:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:1:14211326
:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:15269878
Чуть позже я добавлю готовые примеры в Тюнер для этого устройства — будет меньше непонятностей.
Вообще в Тюнере большие возможности для отладки устройства. Например можно открыть виджеты для каждого из модулей с которыми нужно работать и наблюдать визуально что там происходит
Делается это так: в правом окне выбираем окно точек доступа (зеленая точка)
В этом окне загружаем предустановленные точки (пиктограмма с ini)
Выбираем мышкой строчку с нужным модулем (например «Вход — ИК-пульт (D2)») и жмем пиктограмму глаза. В виджите можно выбрасть способ отображения информации (для пульта удобно битовое поле). Для Вас еще будет полезно открыть виджет точки «Выход — Глаза (D12) + BT-модуль» и наблюдать как изменяется ШИМ-значение при нажатии кнопок на пуьту (или вообще самому мышкой на виджете управлять яркостью светодиода)
ЗЫ по Вашей ситуации понял, что нужно в настройщик элемента светодиода добавлять кроме названия светодиода еще и номер вывода ардуины — подправлю обязательно
Перешел на Arduino Uno.
Ничего не поменялось
Безусловно все делается в строгом соответствии и по пунктам.
Уткнувшись в проблему со светодиодом до звука я не дошел, уткнувшись в проблему со светодиодом.
Сценарий записан, но не отрабатывается, код по событию «кнопки на пульте» можно заменить нажав другие кнопки.
Светодиод подключается к ардуине через сопротивление 410 Ом.
Записал второй пример сценария – комбинированные действия со звуком.
Записал.
Но звука нет.
На пульт реакция есть — коды меняются в зависимости от нажатой кнопки.
Заглянул в папку проекты.
Изменился файл: 01_hashes.lst
0:46684:Вперед
1:22329:Стоп
___________________
Изменился файл: 01_script.lst
Микропрограмма:0:1:2:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:2:14270668
Событие от кнопок пульта:0:3:50:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:50:15523813
Индикация простая (digital):1:2:77:10:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:77:15523813
Конец микропрограммы:0:1:3:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:3:15523813
Конец сценария:0:1:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:1:14211326
_______________________
Изменился файл: Devices.lst
; имена устройств сети
device name 1
device name 2
device name 3
device name 4
device name 5
device name 6
device name 7
device name 8
device name 9
device name 10
device name 11
device name 12
device name 13
device name 14
____________________________________________
Перепрошил ардуину скетчем блинк, при этом Скетч сконфигурировал на 12-й пин.
Свтодиод мигает…..
Сценарий отрабатывается? Звук воспроизводится?
Светодиод через резистор подключался?
В догонку — пульт система видит. Коды такие же как в Вашем примере.
Добрый день.
Подключил IR приемник и пульт.
Не могу понять, почему не горит светодиод подключенный между землей и пином 12 Ардуино.
Сам диод горит при подключении земля + питания.
Заранее спасибо за ответ.
За это может отвечать другое устройство включенное в сеть.
Есть идеи каким способом позиционировать тележку в пространстве?
Добрый день.
Всё весьма интересно задумано и доступно изложено.
Вопрос: планируется ли реализация отслеживания координат нахождения тележки в пределах небольшой площадки, но с приемлемой точностью (плюс-минус сантиметр) при условии старта с определённой точки и из определённого положения? Думаю, данная функция существенно расширила бы возможности устройства.
Привет!
Наша общая идея развивается и устройства сейчас стало гораздо проще создавать, так как почти все уже хорошо обкатано. Пару новых устройство уже в стадии обдумывания — продолжение будет.
Привет, ай молодца!!! Как всегда всё отлично описано 🙂