Необходимо к ардуино прикрутить порядка 100 датчиков HC-SR04. Кроме как использование MCP23017 в голову ничего не приходит Одновременно должно работать 2-3 датчика (какие и в какой момент времени известно) я так понимаю, что одну MCP23017 перевожу всю в in и мониторю нужные каналы вторую MCP23017 в out и посылаю сигналы на нужных пинах как думаете, идея вообще живучая ?
Спасибо за ответ как думайте, насколько может пострадать точность, мне погрешности в 10-15 % достаточно. понятное дело, что собрать 2 сенсора на двух MCP не проблема и замерить, но где гарантия, что как только повешу еще 15, точность не измениться в разы. >Я бы искал способ переключать активные сенсоры. простите не понял вообще Попробую описать принцип работы: стоят все 100 сенсоров, не используются, спят, не посылают не принимают ничего (расстояние до преграды известно). Происходит автоматический запуск двух конкретных сенсоров (допустим 1 и 2), около них должен двигаться предмет. Они запущены ровно до того момента, когда изменяется положение предмета перед ними (т.е. был предмет на расстоянии 100 см, стал на расстоянии 50 сантиметров). В теории это несколько секунд. Как только они зафиксировали измерение расстояния - уснули. Смущает то, что SR04 цифровые, шина I2C подключается в аналог. Как из аналога снимать показания для этих датчиков, не понимаю (((
Для работы этих датчиков нужно измерять время между отправлением сигнала и получением ответа на него. MCP23017 не может моментально уведомлять об изменении отдельного пина, только целого порта. То есть для точности измерений надо, чтобы было активно не более одного датчика на порте ввода. Если это условие соблюсти, то будет норм.
Ага, именно так и будет. В одной MCP отдновременно только один датчик будет работать. Притом хочу разнести пины на посылку сигнала и принятие по разным MCP. Расстояние между датчиками планируется порядка 20-30 см по горизонтали, но это пока приблизительно, возможно скорректирую в момент построения стенда.
Ну и что это такое все-таки будет? Я бы перемещения предметов обычной камерой отслеживал, без таких сложностей.
Может попробовать каскады из сдвиговых регистров сделать? Один на подачу импульсов, второй на прием? По 13 регистров надо всего, это не так много.
Думал над этим, но камер нужно будет ставить 50 штук. Дороговато выходит. На этой неделе соберу стенд, посмотрю как работает, вывешу полное описание с картинками ))
Тоже так же думал, но мне показалось что MCP проще и удобнее. Да и меньше их надо в 2 раза. Так же, один на приём, один на подачу.
Регистры дешевле и, по сути, можно ставить лишь на триггер, а эхо связать а одно целое. Сигнал подавать поочередно на определенный датчик и получать ответ по общей шине.
Конечно через регистры. Но самое веселое в том что НС-SR04 это пара- передатчик и приемник. А так как они смотрят в одну сторону, то очень много передатчиков. Проще говоря отправить одним передатчиком и принять кучей приемников. А вот здесь уже вопрос . Надо не только принять матрицу 0 и 1 с приемников, но и перевести в матрицу датчиков и задержки на них.и чем быстрее обработка , тем точнее разрешение.привет ассемблер.
Если предмет который нужно отслеживать один, то работать по нему более чем одним датчиком не получится, если предмет не стенка, например, а датчики не с разных ее сторон. Надеюсь понятно почему. Раз суть задания большой большой секрет, то остается только гадать что там и как. А еще можно разделить датчики на группы (по числу или по смыслу) и каждую посадить на свой МК, с которых потом собирать инфо на один главный МК. В любом случае не понятно в каком месте может не хватить производительности, так как отслеживание сигнала это довольно неспешная операция по масштабам даже AVR на 16МГц, не говоря уже про STM на 72МГц. Вот бы узнать еще что за задание и что за предметы отслеживаются. Выскажу предположение, что это или квест или другая игра, а предметы - участники. )