OV5640 Camera Module · Waveshare OV5640 Camera Board (A) #13926

Waveshare; сенсор OmniVision · OV5640 Camera Board (A), SKU 13926, DVP-плата с разъёмом P1 2×9

Отдельная камера OV5640 для контроллера с параллельным захватом изображений.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСложно
Проекты с компонентом

О МОДУЛЕ

Что делает OV5640 Camera Board (A), SKU 13926, DVP-плата с разъёмом P1 2×9

Waveshare OV5640 Camera Board (A), SKU 13926 — конкретная 5-мегапиксельная DVP-плата с регуляторами питания и внешней гребёнкой 2×9. Здесь описан вариант (A) с фиксированным фокусом. Широкоугольный (B) и вариант (C) с автофокусом и подсветкой являются другими исполнениями. В источниках разных лет различаются параметры объектива, поэтому точное фокусное расстояние и угол обзора без ревизии не обещаны.

Обозначение OV5640 задаёт сенсор, а не универсальный разъём. Существуют DVP, MIPI и USB-сборки с этим сенсором, и они электрически не взаимозаменяемы. Данная плата отдаёт изображение по восьми параллельным линиям, а SCCB служит для настройки. Внутренние регуляторы формируют питания сенсора; к внешнему контакту подают напряжение готовой платы, не значение для ядра кристалла.

Большее разрешение увеличивает размер кадра, требования к памяти и время передачи. Пять мегапикселей не означают гарантированную частоту видео на ESP32. Первый опыт ограничен JPEG QVGA и одним буфером в PSRAM. Проводная интеграция с ESP32-S3 приведена по схемам и поддержке сенсора драйвером, но не объявляется испытанным комплектом. Контакты reset/power-down требуют проверки установленных нулевых резисторов: внешний GPIO нельзя противопоставлять аппаратной подтяжке в ноль.

Шлейфовая OV5640 не является автоматической заменой OV2640 в ESP32-CAM. Необходимо совпадение распиновки, питания, шага и стороны контактов, поддержка сенсора прошивкой и, для автофокуса, отдельная поддержка механизма фокусировки. Совпадающий внешний размер разъёма этого не доказывает. Плата (A) также не подключается непосредственно к CSI-разъёму Raspberry Pi.

Waveshare OV5640 Camera Board (A) SKU 13926. Реальная товарная фотография; фон удалён детерминированной маской без генерации или изменения деталей. Лицензия повторного использования не установлена.

Источник изображения: openelab.de, исходный файл. Автор фотографии отдельно не указан. Условия повторного использования не установлены; открытая лицензия не заявляется. Исходные детали сохранены, фон отделён, выполнено равномерное масштабирование.

Справочник контактов: авторская схема SLDV LAB по документации files.waveshare.com. Это справочник функций контактов; физическое расположение по перспективному фото не угадывается.

Характеристики

Поддерживаемый JPEG-кадр сенсора
2592 × 1944
Данные изображения
DVP 8 бит: Y2–Y9 на плате соответствуют D0–D7 драйвера
Управление
SCCB, отдельно от параллельной шины изображения
Внешний разъём
P1, гребёнка 2×9, 18 контактов
Питание готовой платы
3.3 В
Драйвер
esp32-camera поддерживает этот сенсор; конкретная проводная сборка требует проверки
Исполнение оптики
Board (A), фиксированный фокус; автофокус версии (C) сюда не переносится

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
P1.1 — 3.3V3V3 ESP32-S3-DevKitC-1-N8R8 v1.1Контроллер питается через USB–UART порт. Проверить запас тока 3V3; не использовать 5V.
P1.2 — GNDGND ESP32-S3Общая земля; короткие соединения.
P1.3 — SIOCGPIO5SCCB clock, подтяжка на плате к 3,3 В.
P1.4 — SIODGPIO4SCCB data.
P1.5 — VSYNCGPIO12Вход кадровой синхронизации.
P1.6 — HREFGPIO13Вход валидности строки.
P1.7 — PCLKGPIO11Пиксельный тактовый выход камеры → контроллер.
P1.8 — XCLKGPIO10Тактовый выход контроллера → камера, 20 МГц в примере.
P1.9 — Y9 / D7GPIO21Старший бит параллельного байта.
P1.10 — Y8 / D6GPIO9c.pin_d6.
P1.11 — Y7 / D5GPIO8c.pin_d5.
P1.12 — Y6 / D4GPIO18c.pin_d4.
P1.13 — Y5 / D3GPIO17c.pin_d3.
P1.14 — Y4 / D2GPIO16c.pin_d2.
P1.15 — Y3 / D1GPIO15c.pin_d1.
P1.16 — Y2 / D0GPIO14Младший бит; не начинать назначение с Y0.
P1.17 — RESET / RSTНе подключён; c.pin_reset=-1По схеме платы reset удерживается RC-цепью. Проверить комплектование R2/R3 конкретной ревизии.
P1.18 — PWDNНе подключён; c.pin_pwdn=-1В схеме есть R7=0 Ом на GND; не подавать HIGH с GPIO на такую цепь. Проверить R6/R7 и удержание LOW до использования.

Подходит для ESP32. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать Waveshare OV5640 Camera Board (A) SKU 13926, внешняя гребёнка P1 2×9. Сначала уточни точное исполнение компонента, модель контроллера, среду и версию ядра, питание и задачу. Не переноси распиновку и напряжения с похожих модулей. Подготовь согласованные подключение, зависимости, минимальный пример, обработку доступных ошибок и пошаговую проверку. Не называй пример испытанным на оборудовании, если нет протокола испытаний. Уточни маркировку платы и установленные R2/R3/R6/R7, модель ESP32-S3, PSRAM и требуемое разрешение. Сопоставь Y2–Y9 с D0–D7, не подменяй DVP на I²C или MIPI. Начни с JPEG QVGA и одного буфера, проверь ошибки init/capture. Не управляй PWDN с GPIO, если он замкнут R7 на GND. Отдельно проверь механическую и электрическую совместимость любых FPC-переходников.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Контроллер
ESP32-S3-DevKitC-1-N8R8 v1.1; Arduino-ESP32 3.0.7

Board ESP32S3 Dev Module; Flash 8 MB; PSRAM OPI. Для журнала использовать USB–UART порт; USB CDC On Boot Disabled.

Зависимость
#include "esp_camera.h"

Структура и функции сверены с esp32-camera 2.0.16; встроенный драйвер Arduino-ESP32.

Формат первого опыта
PIXFORMAT_JPEG; FRAMESIZE_QVGA; fb_count=1

Полный размер сенсора намеренно не выбран; увеличивать после исправного кадра.

Reset / power-down
pin_reset=-1; pin_pwdn=-1

У платы должны работать штатная RC-цепь RESET и удержание PWDN LOW; их проверяют до подачи питания.

Команда
115200 бод; c = один кадр

Выводится размер и длина; сохранения или сетевой публикации нет.

ESP32-S3: однокадровый DVP-захват по c

cpp
#include <Arduino.h>
#include "esp_camera.h"
void setup() {
  Serial.begin(115200);
  if (!psramFound()) {
    Serial.println("PSRAM missing: check board variant and PSRAM setting");
    while (true) delay(1000);
  }
  camera_config_t c = {};
  c.ledc_channel = LEDC_CHANNEL_0;
  c.ledc_timer = LEDC_TIMER_0;
  c.pin_d0 = 14; c.pin_d1 = 15; c.pin_d2 = 16; c.pin_d3 = 17;
  c.pin_d4 = 18; c.pin_d5 = 8; c.pin_d6 = 9; c.pin_d7 = 21;
  c.pin_xclk = 10; c.pin_pclk = 11;
  c.pin_vsync = 12; c.pin_href = 13;
  c.pin_sccb_sda = 4; c.pin_sccb_scl = 5;
  c.pin_pwdn = -1; c.pin_reset = -1;
  c.xclk_freq_hz = 20000000;
  c.pixel_format = PIXFORMAT_JPEG;
  c.frame_size = FRAMESIZE_QVGA;
  c.jpeg_quality = 12;
  c.fb_count = 1;
  c.fb_location = CAMERA_FB_IN_PSRAM;
  c.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
  esp_err_t err = esp_camera_init(&c);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed: 0x%x\n", (unsigned)err);
    while (true) delay(1000);
  }
  Serial.println("Send c to capture one frame");
}
void loop() {
  if (Serial.available() && Serial.read() == 'c') {
    camera_fb_t *fb = esp_camera_fb_get();
    if (!fb) {
      Serial.println("Capture failed: check power, clocks and wiring");
      return;
    }
    Serial.printf("Frame %ux%u, %u bytes\n", (unsigned)fb->width,
                  (unsigned)fb->height, (unsigned)fb->len);
    esp_camera_fb_return(fb);
  }
  delay(10);
}

Полный скетч для Waveshare OV5640 Camera Board (A) и указанной ESP32-S3-DevKitC-1-N8R8 v1.1, Arduino-ESP32 3.0.7. API сверены с esp32-camera 2.0.16. Пример спроектирован по документации; компиляция и аппаратная проверка не выполнялись. GPIO35–37 не используются: у N8R8 они связаны с Octal PSRAM. Успешная длина JPEG не заменяет просмотра и проверки изображения.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты