VGA kamera je vstupní modul pro Arduino. Tento modul obsahuje kameru OV7670 a FIFO buffer AL422B, který zjednodušuje Arduinu práci s daty. K dostání je také levnější varianta, kde na modulu není buffer a je tedy nutné zpracovávat všechna data přímo Arduinem.
Tento návod se ale věnuje verzi s bufferem, do kterého se při zapnutí VGA kamery ukládají snímky a my tedy můžeme načítat informace rychleji.
Kamera OV7670 má rozlišení 640x480 pixelů a s modulem probíhá komunikace po sběrnici I2C. Pro napájení modulu je nutné použít napětí 3,3 Voltu, ale komunikační piny jsou schopné pracovat i na 5 Voltech.
Pro úspěšné propojení modulu VGA kamery a Arduino MEGA desky je nutné zapojit celkem 15 vodičů. Propojíme následovně (VGA Modul <-> Arduino MEGA 2560):
GND <-> GND
3.3V <-> 3.3V
WR <-> D8
RCK <-> D9
WRST <-> D12
RRST <-> D13
SIOD <-> SDA
SIOC <-> SCL
VSYNC <-> D2
D3 <-> A3
D4 <-> A4
D5 <-> A5
D6 <-> A6
D7 <-> A7
Jiné návody umožňují také využít ostatní Arduino desky, ale tento návod je zaměřen na verzi s deskou Arduino MEGA. Na schématu zapojení vidíte rozšířenou verzi pro kamery, které nepodporují komunikaci po 5V. U těchto kamer je nutné zapojit datové vodiče přes převodníky napětí (červené moduly na obrázku).
Pro otestování funkcí kamery je nutné stáhnout a rozbalit tento archiv. Z něho následně zkopírujete složku „arduvision_02_mega\arduino\ov_fifo_test_mega“ tam, kde si ukládáte programy (např. Dokumenty\Arduino). Poté můžete spustit Arduino IDE a v nabídce „Soubor-Projekty“ byste měli vidět program „ov_fifo_test_mega“. Po jeho otevření se Vám načtou všechny potřebné soubory a můžete nahrát program na Vaši desku Arduino MEGA 2560.
Druhá část je grafické rozhraní v programu Processing. Tento program můžete stáhnout zde, přičemž doporučuji stáhnout poslední verzi 3 (v mém případě 3.3.7). Po instalaci můžete otevřít program Processing a v něm si otevřít přípravený projekt ve složce „arduvision_02_mega\processing\receive_stream_mega“ s názvem „receive_stream_mega.pde“.
Po otevření je nutné správně nastavit číslo vašeho COM portu. To lze provést na řádku 73, kde v příkazu „serialPort = new Serial(this, "COM5", G_DEF.BAUDRATE);“ nastavte číslo COM portu, na kterém máte připojenou desku Arduino MEGA (stejně jako v Arduino IDE) – v mém případě je to COM5.
Pokud se Vám podařilo nahrát program do Arduino desky a máte otevřený projekt v Processingu, tak v okně stisknete tlačítko Run (případně nabídka Sketch-Run). V tuto chvíli se Vám otevře nové okno s výstupem z kamery, které bude v počátečním stavu černé. Pro zobrazení výstupu z kamery stačí kliknout dovnitř okna a mezerníkem se přepínat mezi jednotlivými módy, kdy byste měli obraz vidět v módu STREAM1PPB nebo STREAM0PPB.
Modul VGA kamery OV7670 s bufferem AL422B je zajímavé rozšíření pro pokročilejší uživatele. Cílem tohoto návodu je základní otestování funkčnosti VGA kamery, kdy můžete následně použít tento příklad pro snímání videa do počítače za pomocí Arduina.
Můžete také ale prakticky vidět, že tato kamera dobře ukazuje limit výpočetní síly Arduino desek s 8bitovými procesory, kdy jsme schopni snímat pouze několik snímků za sekundu. Na internetu lze také najít další ukázky, jak snímané video zobrazovat na připojeném LCD displeji či ukládat fotografie na SD kartu.
Seznam použitých komponent:
https://dratek.cz/arduino/946-arduino-atmega2560-kabel-1423598706.html
https://dratek.cz/arduino/1578-640x480-vga-cmos-kamera-ov7670-fifo-buffer-al422b-sccb-i2c-1490634532.html
https://dratek.cz/arduino/900-arduino-vga-kamera-1420670977.html
Originální článek:
http://therandomlab.blogspot.cz/2016/06/arduvision-ii-ov7670-fifo-module-and.html