![]() |
![]() |
#11 |
Senior Member
|
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0 ![]() |
![]()
http://wiki.perexy.com/doku.php?id=a...81%D1%82%D1%8C
вот ещё очень неплохой обзор "многопоточных" библиотек со ссылками на них. Думаю - пригодится тоже. |
![]() |
![]() |
![]() |
#13 |
Senior Member
|
![]()
Спасибо, это для общего развития тем, кто желает углубляться в ардуионо-строительство. Но в этой теме вопрос очень конкретный - собрать прошивку, умеющую делать то, что определено в Целях. На мой взгляд, общие вопросы программирования здесь не стоит отмечать, иначе загромоздим основную задачу и начинающие пользователи запутаются.
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0 ![]() |
![]()
Я бы не сказал, что "для общего развития".
Вот примерная "наша" компоновка ножек Ардуино Мега2560 для построения робота (в скобках сквозные номера ног платы): UART0 (0,1) -- Serrial0 связь с компом (вывод в монитор ИДЕ, в т.ч. для отладок); PWM от 16-битных счетчиков Т1,Т3,Т4 всего 8 ног - аппаратное управление серводвигателями до 8шт. Счетчики настраиваем на 50Гц и гоним ШИМ напрямую со счетчика, без участия таймера времени. Пример есть в моей библиотеке. Тут же в разделе сделай сам. PWM от 8-битных счетчиков (4шт, в т.ч. и led13) + UART1..UART3 (14..19) + T0in (38) + T4icp (47) - управление 4-я маршевыми двигателями через L298N (2шт). Ноги PWM - на входы EN (управление скоростью вращения); I2C (20,21) - гироскоп (GY-521) + гирокомпас (GY-271, скорее всего как "ведомый" к GY-521) + альтиметр (BPM180). Уже собраны на одну платку, которую можно закрепить прямо над процом на плате Меги, как-бы "внутри блока". xmem (22..37,39,40,41 + 42,43 управление расширителем и банками) - 2 банка по 8 страниц, расширитель SRAM upto 128kb/2Mb. Analog0,1,2,3 (54,55,56,57) - входы "микрофонных ушей робота". Для возможности использования дифференциального режима с возможностью управления встроенным усилением 10/200 раз. Сюда потребуется 1 серва для "вращения ушами" ![]() T5icp - вход замера дальности прерываниями от HC-SR04, который будет стоять на 2-х сервах (поворот в 2-х плоскостях) и строить карту препятствий. Analog4,5 (58,59) - 2 ИК датчика контроля линии; Analog6,7 (60,61) - 2 ИК датчика обнаружение препятствий; Analog14 (68) - Tilt-датчик "удара". Тоже уже смонтирован вместе с гироскопами; Analog15 (69) - PIR датчик обнаружения. ICSP(50..53) - для связи промеж таких же или для чего ещё. Пока не смотрел "понадобится или куда". В "итого" остается Analog8..13 (6шт) + T5in + T5outA,B,C - "итого 10 ножек" -- на управление датчиками обнаружения цвета (у меня их 2, возможно придется обслуживать последовательно) и надо куда-то прицепить прерывания от энкодеров маршевых моторов (4шт). ... и свободных ног, как-то не остается... вот и думаю, а не допаять ли незапаянные авторами 16 ног микроконтроллера?!? ![]() P.S. По датчику HC-SR04. его дополнение ушами (картонка - мало помогает, лучше тонкий войлок или картонка обклеенная фетром или похожей ворсистой тканью) на даже 1 см - заостряет диаграмму до вполне допустимых 2-3-х градусов. Но при этом несколько ухудшается прием "в ближней зоне" (ближе 10см), приходится выбирать: или "сводить" уши и иметь прием в ближней зоне или плюнуть, но иметь хорошую дальнюю зону вплоть до 4м. Есть оптимум: ближняя зона от 5см и прием до 2.5м. ![]() Нормально работать получается только по прерываниям ICP. P.P.S. В связи с отъездом - все работы прекращены до сентября. (не под руками все). P.P.P.S. Управлять нормально всем этим барахлом можно исключительно "на событиях", конечных автоматах и таблицах переходов ... то есть без использования какого-либо варианта "многозадачности" (библиотеки приводил) - по сути "никак". ![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0 ![]() |
![]()
Предосмотрю вопрос "нафига всё в одном флаконе"?
![]() А "пусть будет". Хочется сделать достойную альтернативу Lego MindStorm ... чтобы это "шторм" выглядел как " бесполезная тихая гавань". ![]() P.S. Щас вот подумал, что нам 4-х маршевых-то не хватит: 2 на движение, 1 на вращение платформы с датчиками и ушами, 1 на вращение "руки" ... и в "запасе" ничего не остается. ![]() Возможно буду использовать 2 сдвиговых регистра для управления 8-ю маршевыми моторами ... они все одно не самое шустрое, что будет в системе. Заодно и ножки освободятся (есть ещё датчик температуры/влажности, 2 газоанализатора ...) ![]() Последний раз редактировалось Arhat109; 13.07.2015 в 09:21. |
![]() |
![]() |
![]() |
Метки |
arduino, cyberbot3, cyberwrt, nexx, tp-link |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|