Найти тему
Электроника, ESP32, Arduino

ESP32+OV7670 дешевле не бывает

В прошлой статье я рассказывал, как подключить топовую 5Мп камеру OV5640 к ESP32. Получилось дорого-богато, но всегда-ли это оправдано? Для какой-нибудь самодельной робототехнической платформы гораздо важнее, чтобы не зависала картинка.

Ну или как в моей самодельной фото-ловушке присматривающей за кошками и отправляющей фото в "телегу" - изображения хорошего качества это бесполезный расход трафика.

Фото с самодельной фото-ловушки
Фото с самодельной фото-ловушки

Поэтому в этой статье я расскажу про быстрый старт с любой платой ESP32 и самой доступной камерой OV7670

-2

На Али такая камера стоит чуть больше 100 рублей, так что итоговая стоимость (ESP32+OV7670) обойдется даже дешевле чем ESP32 CAM + USB-UART переходник.

-3

"Распиновка" этой камеры похожа на (OV5640/OV2640) - поэтому будущую самодельную "ESP-32 CAM" решил сделать совместимой и с этой камерой.

-4

Расположение контактов на разъеме можно оставить точно такое-же

-5

Что там по доступному софту ?

Из более менее путного валяющегося на гитхабе нашлась интересная разработка от энтузиаста Mudassar Tamboli: esp32-ov7670-websocket-video-camera

ESP32+OV7670 — WebSocket Video Camera | by Mudassar Tamboli | Medium

Его проект на GitHub

А его работа была основана на другой крупной библиотеке от разработчика с ником bitluni's lab

-6

В этом проекте картинка с этой камеры выводилась на мини TFT дисплей.

Этот проект на ГитХаб:

Все остальное, что там лежит - разные вариации кода первого или второго автора....

Единственная проблема - авторы писали код давно, а по сколько к этому времени изменились версии поддержки плат проект "esp32-ov7670-websocket-video-camera" у меня сначала не взлетел (плата уходила в перезагрузку при попытке получить картинку с камеры)

Пару-тройку часов "гугленья" привели на страницу, где было написано, что необходимо в файлик XClk.cpp добавить одну строчку кода:

timer_conf.clk_cfg = LEDC_USE_APB_CLK;
-7

Описание проблемы тут:

-8

Кто там любит писать про низкий порог вхождения с точки зрения знаний и умений для Arduino ? Не ведитесь на этот миф, практически все что лежит в сети потребует "тщательной доработки напильником", а анализ и правка чужого кода потребует от Вас бОльшей квалификации чем написание собственного кода.

Например автор первого исходника (где картинка с камеры выводится на веб-страничку) честно признался, что писал его несколько недель и тут приходит такой "Вася Пупкин" уверенно мигающий светодиодом и думает, что с легкостью перепишет исходник написанный прожженным "программером" под свои хотелки.

Для желающих поиграться с камерой OV7670

Версия платы: 2.0.4

-9

Потребуется также библиотека: WebSockets

-10

Внешняя SPI память автором библиотеки не задействована (у камеры низкое разрешение и вся картинка влезла в "оперативку") - поэтому подойдет любая плата ESP32.

Исходник под свою "распиновку" камеры я тоже выложу - думаю, что для быстрого старта ESP32 и OV7670 информации изложенной в данной статье будет достаточно. (не забудьте отредактировать его чтобы подключиться к "домашней вафле") - и обязательно ознакомьтесь с материалами авторов библиотек - все ссылки в моей статье есть.

p.s: с такими длинными проводами камера работает очень не устойчиво, провода нужны покороче, а лучше все собрать на макете с помощью паяльника чем я в ближайшее время и планирую заняться.

-11

Мой "исходник" тут:

Оглавление канала доступно тут:

Всем удачи!