Интерфейс CSI и Arduino Nano

lluceu
lluceu аватар
Offline
Зарегистрирован: 21.07.2020

Уважаемые форумчане! Требуется ваша помощь!

Хочу сделать ЛИДАР на этой камере и инфракрасном лазере и ИК-фильтром на камере

Камера для RaspPI с интерфейсом CSI, возникло сразу несколько вопросов:
1. Реально ли выводить с неё изображение с помощью Arduino Nano или хотя бы Arduino Mega ?
2. Реально ли для данной камеры настроить произвольное разрешение? (чем ниже разрешение, тем выше частота кадров) Для меня требуется полоса во всю доступную ширину, но при этом высотой всего в один пиксель. Запись видео (или фото) реально в таком разрешении настроить для этой камеры? Нужна именно не обрезка стандартного фото после записи, а именно уменьшение разрешения самой записи с целью увеличения FPS
3. Так же ради увеличения FPS съёмки есть ли возможность производить запись с камеры в Ч/Б формате, и реально ли этим поднять частоту записи?
4. Можно ли сохранённое изображение (это ведь вроде массив точек с цветом каждой точки) обрабатывать прямо в Ардуине? Если будет Ч/Б полоска в один пиксель, на ней будет узкий светлый или белый промежуток (5-10 пикселей) нужно будет определить центральный пиксель этого промежутка, или хотя бы первый пиксель определённой "яркости"

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Ответы на вопросы 2 и 3 нужно искать в дэйташите камеры.

Когда появится определенность с форматом кадра и частотой развертки, можно будет посчитать и ответы на вопросы 1 и 4.

А вообще, для одной строки IMHO лучше использовать специализированные решения вроде TCD1304AP.

lluceu
lluceu аватар
Offline
Зарегистрирован: 21.07.2020

Спасибо за ответ
TCD довольно дорогая, пока решил остановиться на OV7670, но в скетче конфигурации не смог разобраться с настройками разрешения. Есть ощущение что выводить можно любое разрешение, а непосредственно снимать с матрицы только стандартные, думаю это сильно затормозит обработку изображения
Но в любом случае её сначала нужно подключить, а уж потом играться с разрешением. Нашёл схему подключения, но боюсь спалить камеру подключив её таким образом к Nano, а не к UNO, они вроде одинаковые, просто в разной разводке, но всё равно как-то жим-жим

Был у кого-нибудь опыт подключения этой камеры? Буду благодарен если поделитесь скетчем, в сети гуляет много вариантов, где-то с библиотеками, где-то на чистом Си.
Вот один из примеров: https://microkontroller.ru/arduino-projects/podklyuchenie-kamery-ov7670-k-arduino-uno/

Код примера на сайте:


void camInit(void){
 writeReg(0x12, 0x80);
  _delay_ms(100);
  wrSensorRegs8_8(ov7670_default_regs);
 writeReg(REG_COM10, 32);//PCLK does not toggle on HBLANK.
}
//Мы в нашем проекте будем использовать формат видеоизображения QVGA (320 × 240), поэтому нам необходимо установить необходимое разрешение для камеры. Это можно сделать с помощью следующей команды:

setResolution();
//В этом проекте мы будем работать с монохромными изображениями, поэтому в регистрах необходимо установить соответствующие значения с помощью команды:

setColor();
//С помощью следующей функции мы также будем записывать необходимое шестнадцатеричное значение в регистр. Если после этого вы будете получать зашифрованные изображения, то можете попробовать изменить второй параметр в представленной команде с 10 на 9/11/12. Но в большинстве случаев параметр 10 работает превосходно, поэтому у вас не будет необходимости изменять его.

writeReg(0x11, 10);
//Следующая используемая нами функция предназначена для получения разрешения изображения – в этом проекте мы будем использовать разрешение 320 x 240 пикселов.

captureImg(320, 240);

Пример-то нашёл, только вот как раз в функциях цвета и разрешения там почему-то никаких параметров не указано, пустые скобки просто...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

С этой камерой я немного повозился, но от возможности ее настройки испытал разочарование.

Посмотрите, может, сможете извлечь что-нибудь полезное.

http://arduino.ru/forum/proekty/video-na-stm32duino-ov7670-stm32f103c8t6-ili9341

Но мне кажется, что Мега слабовата для работы с видео даже в таком скромном разрешении. Мне на BluePill удалось получить всего 5 fps, а для Меги, думаю, может быть только покадровая съемка, т.е. по сути фотоаппарат, а не видеокамера.

 

lluceu
lluceu аватар
Offline
Зарегистрирован: 21.07.2020

Спасибо, узнал много нового
К сожалению, так и не нашёл место в коде, где настраиваться разрешение, только что-то отдалённое нашёл в #14 и в последнем, где вы делились своей финальной версией кода

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Так не в коде надо искать, а в дэйташите. Правда, у меня сложилось впечатление, что все варианты дэйташита на эту камеру неполные и содержат массу ошибок.

Но, вообще-то, я тоже, пока возился, узнал много нового.