Здесь решается задача 4-мерной корреляции (4 фотодиода),
без нейросети было бы гораздо сложнее сопоставить каждое состояние
матрицы фотодиодов с вектором положения источника.
посмотрел, спасибо,
здесь робот на видео старается всегда быть под прямым углом, и анализ заключается просто в
вычислении разности интенсивности между левым и правым и верхним — нижним глазом, когда объект находится прямо перед фотодиодами, то так, как сделано по ссылке работать будет,
но когда нужно регистрировать свет с разных углов, простая разность «левый-правый», «нижний-верхний» не дадут хорошего результата.
Устройство неподвижно, и двигаться не может.
На выходе координаты по 4 полуосям.
Робот вел себя так, потому что у него обработка была без усреднения и моделирования
программной инерции движения. Здесь же нет никакого серво, здесь просто отображение
на экране ПК положения источника света во времени.
>купить конвертер USB-USART
А можно ссылочку на USB-USART?
Это же получается, что на нем, кроме UART-а, можно какой-нибудь SPI или RS485 при желании поднять, интересное устройство.
Честно, я знаю, что такое UART и как его сделать. Меня интересовал именно фабричный конвертер USB<>USART (поясню: USART = Universal Synchronous/Asynchronous Receiver-Transmitter), потому что надоело клепать свои костыли для отладки SPI.
В первых комментариях обсуждался уже робот,
основанный на этом принципе, даже ссылка была.
Для более точного позиционирования при различных углах источника
света нейросеть нужна, и без нее никак.
Все свои рисунки я получил в Inkscape,
в схемных редакторах схемы не очень красивы для публикаций.
Просто разделил, чтобы понятно было какой номинал у резистора.
Вы это серьезно?
В схемах соединение двух и более проводников отмечается жирной точкой, как на рисунке.
Если точки нет, значить и нет пересечения, и компоненты всегда рисуются на верхнем слое.
Думаю, здесь все в курсе как отмечаются соединения :)
Однако о каких-либо слоях в принципиальных электических схемах речи не идёт, их просто не существует на двумерной бумаге, на которой эти схемы раньше чертились.
Рисовать компонент поверх проводника — жёсткий моветон, потому что этим вы:
1) искажаете УГО компонента (в данном случае резистор смахивает на нестандартно изображённый резистор с двумя ответвлениями),
2) делаете схему неоднозначной (вертикальные отводы от ОУ — это питание, или же просто провод проложенный под ОУ? :)
MAX232 можно было бы заменить на V-USB, и подключать Ваше устройство к компьютеру не через RS232, которого уже почти нигде не найдешь, а через USB (класс USB CDC, виртуальный последовательный порт). Плюсы — получаем подключение по USB и избавляемся от лишней микросхемы. Минусы — нужен дополнительный код для библиотеки V-USB (около 6 килобайт FLASH), и снизится быстродействие системы при обработке протокола USB.
Да, так тоже можно было сделать. Давно делал электронику, сейчас уже нет смысла все переделывать.
Но сейчас если бы я занимался этим проектом, то сделал бы либо на дешевом AT91SAM7
либо на AT90USB1287 с поддержкой аппаратного USB, поставил бы CDC драйвер и программу под ПК не пришлось бы переписывать даже.
А как на счет отслеживания двух источников?
Если фотодиоды направить в разные стоороны, то получится фасеточный глаз, как у мух-стрекоз.
В качестве фотодатчиков можно приспособить глаз от оптической мышки. В стародавние времена там была матрица 16х16, если память не изменяет. И скорость сканирования в районе 1кГц. В современаых мышах всего побольше, думаю.
Нет, два источника не различимы с точки зрения алгоритма,
с этим ничего не выйдет,
а про глаз мухи — в первых комментах обсуждался такой робот, там даже ссылка есть,
но принцип действия там намного проще.
Кхм. Поздравляю, вы только что убили воробья из пушки. Отслеживание источника света — тривиальная задача теории автоматического управления. Еще в институтские годы у нас были курсовые. камера, расположенная на подвижной платформе отслеживает перемещение точки лазерной указки. Делалось все тривиально: с камеры получалась картинка, на ней находился максимум освещенности(грубо — самый яркий пиксель). дальше высчитывалась ошибка по Х и У, по ним генерился сигнал для двигателей платформы, по Х и У соответственно. процесс повторялся с высокой частотой. Ваша схема с 4мя «пикселями» так же укладывается в эту схему: простейшими операциями выделяем разницу между освещенностью диодов, по ним генерим сигнал ошибки, и вырабатываем управляющее воздействие. ИНС тут явно лишняя.
В Вашей институтской работе у Вас была камера,
которую нужно подключить и получать с нее изображения, потом их анализировать.
У меня же здесь всего 4 дешевых фотодиода.
Есть большая разница как по стоимости реализации аппаратной части, так и сложности работы CCD и фотодиодов.
В моей работе используется минимум компонентов. А уж если Вы использовали полноценную камеру,
тут можно было определять что угодно: 1 источник, несколько, движение, отдельные объекты и прочее.
В первых комментариях обсуждался робот, который вычисляет разность интенсивностей между левым-правым и верхним-нижним фотодиодами, там даже ссылка есть.
Устройство слежения за движущимся источником света