По просьбе EdGull выкладываю для желающих поизгаляться...
Исходники и хекс для AVR на GCC (пользуюсь версией 20080512) - тупая хваталка с камеры 80х60 пикселей. Посылает данные через FTDI на комп. Исходники и экзешник для компа на VB - ловит данные и показывает.
Картинка:
Схема:
Питание 5 вольт. Кварцы: на меге - 20Мгц, на FTDI - 6МГц. Все конденсаторы - 0.1мкф Резисторы слева направо 1.5к, 470, 470... два делителя справа - у меня стоят подстроечники на 4к7
ОФФТОПИКОМ в этой теме будет считаться: - зачем это надо автору, - на чем и как это сделать будет лучше, - обсуждение кривизны схемотехники и кода. ( Это я и так знаю - делал быстрый макет. )
Частота проца 20МГц, предделитель АЦП - 4. Получаем оцифровку с периодом 2.6 микросекунды. Строка видеосигнала - 64 микросекунды (видеоданных меньше) Строк 252. Получается порядка 20 точек на строку растра. То есть, если подходить тупо, то можно получить разрешение 20(ширина кадра)x280(высота) - это неудобно.
Поэтому я делаю выборки по принципу "шахматной доски": Выборки из строк выбираются со смещением относительно строба.
images.jpg (12.03 КиБ) Просмотров: 120594
AVR-ка может выделить на обработку порядка пятидесяти тактов на каждый пиксель.
А вот узнать хотелось бы следующее: - Что в эти 50 тактов хочется поместить и что туда удастся поместить?
А если повнимательнее присмотреться к картинке, то видно, что она и не шахматная, и не лесенка, а последовательность вида 1324. И повтор через 4 строки, и плотность заполнения выше чем у лесенки.
А если без АЦП? Подтянуть до 0 или 1 через резисторы к ногам микросхемы? Например, если задействовать 4 ноги, то можно получить 4-битные точки (этого вполне достаточно).
Тогда уж лучше несколько шустрых 2-пороговых компараторов... А 4 ноги кстати дадут нам всего 2-битное разрешение. У меня была идея юзать видео-цап. Он дешевый, т.к. ставится в жк-мониторы с VGA, но увы атмега не смогла столько данных скушать, а городить ПЛИС и память мне было лень.
А если без АЦП? Подтянуть до 0 или 1 через резисторы к ногам микросхемы? Например, если задействовать 4 ноги, то можно получить 4-битные точки (этого вполне достаточно).
А зачем?
но увы атмега не смогла столько данных скушать,
Ребята, я совсем не разделяю всеобщего ажиотажа задирать разрешение - по-моему, этого нафиг не надо почти никогда.
Последний раз редактировалось Michael_K 11 янв 2010, 18:51, всего редактировалось 1 раз.
А 4 ноги кстати дадут нам всего 2-битное разрешение. Если основательно помучиться, то можно добиться 4 бит.
А зачем? Очевидно, чтобы увеличить разрешение.
Ребята, я совсем не разделяю всеобщего ажиотажа задирать разрешение - по-моему, этого нафиг не надо почти никогда. Это зависит от задачи. Например, для того же "визуального распознавания объектов" увеличить разрешение очень желательно. Хотя бы до 320*240 точек.
Проблема загруженности МК решается снижением частоты обрабатываемых кадров. Робот движется с небольшой скоростью, супер-гипер реакция ему не нужна. Вполне достаточно 5 кадров в секунду. Кадр записывается в оперативку, следующие 160 мс производится обработка кадра.
Разумеется, потребуется МК с соответствующим (75 Кб) объёмом оперативки.
название темы не очень удачное, правильнее будет так: "Как оцифровать видео на AVR-ке" А если хочется МК разгрузить, то пользуем цифровой сенсор мыши, сканера или мобильника.