BEAM робот
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
BEAM робот
Доброго времени суток! Я ищу схему простого робота на микроконтроллере (BEAM робот - кно знает, тот поможет) Чтобы по квартире катался, врезался в собак
и объезжал стороной кошек
(шучу). И чтобы лампочками
моргал.
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
предполагается два движка (левый и правый), датчики врезания (2 кнопки на борту), датчики света (для поиска зарядки - надо какую-то фильтрацию сделать, может инфракрасный модулированный сигнал? а то будет на каждую ламчоку кидаться), а для декоративности всякие светодиоды, пищалку. Кстати, а как можно заставить робота воспроизводить звуки? Вариант с магнитофоном отпадает
а про ISD микрушки я знаю. Но они не катят, имхо там нет выбора нужного фрагмента, а они идут по порядку. Прошивку уж как-нить додумаю (кошаку местному идея понравилась, а он на СИ хорошо кодит)
- Serega
- Говорящий с текстолитом
- Сообщения: 1529
- Зарегистрирован: Пн авг 22, 2005 21:02:22
- Откуда: Питер
Мля, чувак, клевая идея!!!
Короч, не, все проще.
Во-первых, ИСДшки могут играть произвольный кусок, если ими управлять с контроллера. НО! Исдки могут воспроизводить звук, только собою же и записанный. Извне загрузить в нее нельзя. Это, по-моему, не есть хорошо. Поэтому, предлагаю использовать просто внешнюю флешку. Какую-нить AT45DBxxx. Она подключается к контроллеру, контроллер - к компу. Из компа загружается.
Звук можно выводить либо через ЦАП (самое простое - подключить на несколько выводов контроллера резистивную матрицу) или проще - выводить в виде ШИМ-сигнала.
Короч, не, все проще.
Во-первых, ИСДшки могут играть произвольный кусок, если ими управлять с контроллера. НО! Исдки могут воспроизводить звук, только собою же и записанный. Извне загрузить в нее нельзя. Это, по-моему, не есть хорошо. Поэтому, предлагаю использовать просто внешнюю флешку. Какую-нить AT45DBxxx. Она подключается к контроллеру, контроллер - к компу. Из компа загружается.
Звук можно выводить либо через ЦАП (самое простое - подключить на несколько выводов контроллера резистивную матрицу) или проще - выводить в виде ШИМ-сигнала.
Лучше быть первым в деревне, чем вторым в Риме
- moLCHec
- Мявтор!
- Сообщения: 825
- Зарегистрирован: Вс дек 18, 2005 20:04:42
- Откуда: Свердловская обл.
- Контактная информация:
посмотри журналы "Радио" №2 и№12 за 2002 год в каком-то из нах на котроллере сомоходный матершинник. запись речи как раз на той микрухе, контроллер вроде AT90S2313 давно смотрел не помню уж. Но это то что тебе нужно. и про запись речи там по русски и неплохо написано.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Я тут ссылку нашел, посмотрите:
http://www.rtcs.ru/news_detail.asp?id=87
Может, поможете разобраться? А то, если честно я ни фига не понимаю про управление от контроллера.
http://www.rtcs.ru/news_detail.asp?id=87
Может, поможете разобраться? А то, если честно я ни фига не понимаю про управление от контроллера.
- Serega
- Говорящий с текстолитом
- Сообщения: 1529
- Зарегистрирован: Пн авг 22, 2005 21:02:22
- Откуда: Питер
Ну то что ты дал - это, грубо говоря, перевод даташита.
Смысел в том, что ИСДшка подключается к контроллеру по интерфейсу SPI (Serial Peripheral Interface) - последовательный интерфейс (трехпроводной).
Провода:
MISO - master input, slave output - вход ведущего, выход ведомого
MOSI - master output, slave input - выход ведущего, вход ведомого
SCK - serial clock - тактирующий сигнал
Master - это, в данном случае, контроллер,
Slave - ИСДшка
В контроллерах с аппаратным SPI (все серии АВРок) общение по этому интерфейсу происходит просто и непринужденно: загружаем в регистр контроллера то, чего хотим передать, запускаем передачу - оно передается на подключенное устройство. Одновременно, в этот же регистр задвигается информация с устройства (если оно что-то нам хочет сказать). Ее можно читать, можно не читать - по обстоятельствам.
Далее: смотрим список кодов команд управления ИСДшкой, загружаем в регистр код команды, отправляем на ИСДшку - она ее тут же выполняет
Вот и вся премудрость
Смысел в том, что ИСДшка подключается к контроллеру по интерфейсу SPI (Serial Peripheral Interface) - последовательный интерфейс (трехпроводной).
Провода:
MISO - master input, slave output - вход ведущего, выход ведомого
MOSI - master output, slave input - выход ведущего, вход ведомого
SCK - serial clock - тактирующий сигнал
Master - это, в данном случае, контроллер,
Slave - ИСДшка
В контроллерах с аппаратным SPI (все серии АВРок) общение по этому интерфейсу происходит просто и непринужденно: загружаем в регистр контроллера то, чего хотим передать, запускаем передачу - оно передается на подключенное устройство. Одновременно, в этот же регистр задвигается информация с устройства (если оно что-то нам хочет сказать). Ее можно читать, можно не читать - по обстоятельствам.
Далее: смотрим список кодов команд управления ИСДшкой, загружаем в регистр код команды, отправляем на ИСДшку - она ее тут же выполняет
Вот и вся премудрость
Лучше быть первым в деревне, чем вторым в Риме
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Это я опять.
Вот насчет программатора: можно ведь программировать контроллер в отдельном разъеме, а можно прямо в плате. Так там есть ведь подводные камни перепрошивки? Например, на входных/выходных цепях что-то замыкает сигнал на землю и т.п. И для прошивки на плате нужен любой 5-штырьковый разъем. А как стандарт, нужен IDC6. Никто не знает его распиновки для программатора 5 проводков?
Вот насчет программатора: можно ведь программировать контроллер в отдельном разъеме, а можно прямо в плате. Так там есть ведь подводные камни перепрошивки? Например, на входных/выходных цепях что-то замыкает сигнал на землю и т.п. И для прошивки на плате нужен любой 5-штырьковый разъем. А как стандарт, нужен IDC6. Никто не знает его распиновки для программатора 5 проводков?
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Пасиба! Но про разъем сказано, что он используется только во время прошивки. А распиновки там, нет, только нумерация выводов. Я искал названия всех тычков
И чем отличиется AT90S2313 от AT90S3213-10PI? В разных схемах по разному, но разводка вроде бы одна и таже, прошивки тоже... Ну, непонятно, в общем 
- Serega
- Говорящий с текстолитом
- Сообщения: 1529
- Зарегистрирован: Пн авг 22, 2005 21:02:22
- Откуда: Питер
Кого подключают программно? Куда подключают???
"Подтягивающими", обычно называются резисторы, включенные между сигнальным проводом и шиной питания: "плюсом" или "минусом". В цифровой технике нужны для того, чтобы назначить логический уровень при отсутствии сигнала.
"Подтягивающими", обычно называются резисторы, включенные между сигнальным проводом и шиной питания: "плюсом" или "минусом". В цифровой технике нужны для того, чтобы назначить логический уровень при отсутствии сигнала.
Лучше быть первым в деревне, чем вторым в Риме
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Про резисторы понял, а вот кусок исходного кода одной из прошивок:
То есть программно устанавливаются необходимые уровни вместо настоящих резисторов?
Код: Выделить всё
DDRB = 0xff; // назначаем все линии порта B на выход
PORTB = 0x00; // и устанавливаем на них низкий уровень
DDRD = 0x00; // назначаем все линии порта D на вход
PORTD = 0xff; // подключаем внутренние "подтягивающие" резисторыТо есть программно устанавливаются необходимые уровни вместо настоящих резисторов?
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
Значит, это просто задается значение? А резюки тут ни при чем. Ну ладно. А ты не знаешь, как генерить звук на лапке контроллера? Чтобы пищалку подрубил, а он сигналил (с целью диагностики ошибок)? Если просто изменять состояние лапки, делать задержку для получения нужного тона и циклить программу , то она будет виснуть. Есть тут выход?