zurück zur Übersicht...
27.05.2019

Arduino Kamera-Modul OV7670

VGA OV7670 CMOS Camera Module Lens CMOS 640X480 SCCB W/ I2C Interface
Abb.: OV7670 CMOS-Kamera-Modul (640×480) mit I²C-Interface

Der OV7670 ist ein Bildsensor mit DSP, der mit einer Auflösung von max. 640×480 mit max. 30fps arbeitet; dies entspricht 0,3 Megapixel. Die aufgenommenen Videodaten können vor der Ausgabe durch den DSP verarbeitet werden. Dies kann man mit dem SCCB-Bus steuern.
In den folgenden Beispielen wird ein OV7670-Modul ohne FIFO-Puffer verwendet.

Aufbau und Funktionsweise des OV7670 CMOS-Kamera-Modul

SCCB-Schnittstelle (I²C)

Dies ist im Grunde genommen eine I²C-Schnittstelle, über die man alle Kontroll-Register der Kamera ansteuern kann. Durch diese Register lassen sich verschiedenste Parameter der Kamera justieren, z.B. Weißabgleich, Belichtung, Bildauflösung, etc. Man muss nur die richtigen Wert in die Register schreiben und die Kamera arbeitet mit den veränderten Parametern. Hierfür wird hier die Arduino Wire-Library verwendet.

Bilddaten-Schnittstelle

Diese Schnittstelle wird durch die Pins D0 bis D7 dargestellt und liefert Bilddaten immer byteweise hintereinander.

Anschlüsse

Pin-Name Typ Beschreibung
VDD / 3V3 Stromversorgung
GND Stromversorgung
SDIOC Input SCCB clock
SDIOD Input/Output SCCB data
VSYNC Output Vertikale Synchronisation
HREF Output Horizontale Synchronisation
PCLK Output "Pixel clock"
XCLK Input System clock
D0-D7 Output Parallele Videosignal-Ausgänge
RESET Input Reset (Active low)
PWDN Input Power down (Active high)
Anschlüsse/Pinout des CMOS-Kamera-Moduls mit dem Arduino UNO
Abb.: Anschlüsse/Pinout des CMOS-Kamera-Moduls mit dem Arduino UNO

Für eine detaillierte Beschreibung der Funktionsweise des OV7670 (in englisch) ist die Seite HKalasua - OV7670 hilfreich.


Bilddaten auf SD-Card speichern

Zum Speichern der Bilddaten verwende ich das SD-Card-Modul TE417.
Leider habe ich keine vernünftigen Ergebnisse mit dem Code von Hardik Kalasua bekommen.
Wer bessere Ergebnisse erzielt, kann mir dies gerne mitteilen.
Evtl. hilft auch der Code von ComputerNerd weiter...

Fehlerhaftes Ergebnis eines Bildes mit dem OV7670
Abb.: Fehlerhaftes Ergebnis eines Bildes mit dem OV7670