Что такое контроль датчиков? Чтение их? Что можно будет тогда зашить в последовательность команд роботу? Я понимаю что можно зашить танец робота - это хоть интересно, а что дает зашивка чтения скажем напряжения на батарее? Куда он это читать будет? И как использовать?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
=DeaD=, я воспринимаю удаленное управление как отдачу комманд по радио на немедленное исполнение и возврат показаний датчиков на базовую машину. т.е. ты ему говоришь - едь вперед - он едет. или говоришь едь вперед до срабатывания бампера - он выполняет. или верни показание датчика напряжение на аккумуляторе - он возвращает. вся прога выполняется на компе ученика. в робот ничего не шьется. если шить - то надо делать по первой методе. компилить на машине ученика и зашивать как прошивку.
я думаю что налюбую (в том числе и пустую) команду бот, он должен возвращать показания всех своих датчиков. во всяком случае для начала
жирно. и так канал будет узкий и время отклика большое. для начала можно по комманде возвращать все. а потом можно по комманде возвращать показание конкретного датчика. или группы датчиков.
канал подразумевается дуплексный или полудуплексный?
на моих модулях рекомендуется дождаться ответа на отосланную команду. По прерыванию отсылается состояние всех (десятка) ног и пары ацп (с адресом устройства)
Добавлено спустя 3 минуты 56 секунд: в режиме управления с PC разумно иметь возможность запускать "макро"-команды - типа "сделать <столько-то>." и прислать подтверждение получения команды и ее завершения
для начала может и все сразу.. в дальнейшем же дать датчикам адреса и запрашивать то что нужно...
я вроде даже придумал как можно писать программы во флешку...с ветвлениями и тд... ветвления делаются передачей адреса команды которая лежит во флеше.. а команды как для потока так и для "прошивки" будут одинаковые... только ту бы еще неплохо было бы в оперативку затягивать "прошивку"
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
добавил терминал. подключил новые сервисы - библиотечку (из двух классов) для работы с имеющимися у меня ZegBee контроллерами. Все получилось достаточно просто и ясно.
Ниже screenshot первой работающей "программы" (или как "это" еще назвать). Робота под рукой нет, подключил два беспроводных модуля (описывал выше) - один в USB (в качестве ключа), другой - на макетной плате со светодиодами, кнопками и батарейками. Программа умеет "запускать двигатели" (две пары сигналов как на драйвере L293D). Затем ждем сигнала от "бампера" - прерывание, возвращающее состояние выходов контроллера. "реверсируем двигатели", таймером ждем, когда "откатимся назад", затем нужно бы повернуться немного (не сделал), затем снова "стартуем вперед".
Demo 4 - управление железом по ZigBee
есть видео интерфейса (1MB в архиве), но там почти ничего не движется - нажимаем кнопку, немного данных в окне терминала и все. другое видео - с телефона, тоже мало интересного демонстрирует - упомянутые платы с мигающими диодами.
посмотрел на описание AVR-DOS, не понял, как его можно использовать для целей сабжекта - все больше о доступе к файлам, как и выражал сомнения frig. Где об этом можно подробнее почитать?
1. это тебе спасибо что занимаешся таким не легким делом как обучение детишек.
2. AVR-DOS и есть система управления файлами на FAT16 и FAT32 носителях но она легко дополняется необходимыми нам командами. т.е. идея такая, берем файл (с флешки или получаем команду с уарата или и2ц) и выполняем по списку что нам там положено
Интерпритатор файловой системы mediawiki/images/e/e5/FS_Interpreter.bas.rar там даже я понял как всё работает, в смысле как вызываются и сответсвенно добавляются новые комманды.
подключил сегодня простенькое шасси (два моторчика, L293D, беспроводной модуль и батарейки) - думаю за пару часов из пары игрушек с моторами такое можно сваять (зависит от простоты подключения беспроводного модуля). Машинка покаталась\покружилась - как и ожидалось. А вот при попытке добавить обработку бампера IRQ постоянно срабатывало - видимо из-за помех (никаких кондеров не ставил - все на картонке и навесным монтажем).
Демо шасси 1
хотел видео выложить - разные пируэты запрограммировать (без бампера - я его отключил), но батарейки все кончились - даже на весу еле крутит, если оба колеса. По сему пока эксперименты с железками подождут своего часа. В процессе программирования стало ясно какие модули неудобны, и как их нужно упростить. Но в общем хорошее впечатление. Ребенок тоже доволен, говорит, что все понятно - подошел, послушал что к чему и робот заработал - сплошные позитивные эмоции, хотя бамперов сильно не хватало
по хорошему писать лучше все самим... вот только были бы тут люди кто фат своими силами поднимал .... а там нужно думать как обрабатывать.. структуру команд и тд ...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!» В этом мире меня подводит доброта и порядочность... "двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"