Visual Capturing With OV7670 On Arduino

Help me grow and make new projects today by supporting me by becoming patron on patreon(https://www.patreon.com/techmirtz).

The OV7670 image sensor is a small size, low voltage, single-chip VGA camera and CMOS image processor for all functions. It provides full-frame, sub-sampled or windowed 8-bit images in various formats, controlled through the Serial Camera Control Bus (SCCB) interface.

The camera module is powered from a single +3.3V power supply, and external clock source for camera module XCLK pin. The OV7670 camera module built-in onboard LDO regulator only requires single 3.3V power and can be used in Arduino, STM32, Chipkit, ARM, DSP,FPGA and etc.

The pinouts

The pinouts of the module are:

OV7670 Pin Definition

OV7670 module specifications are:

  • Optical size 1/6 inch
  • Resolution 640×480 VGA
  • Onboard regulator, only single 3.3V supply needed
  • Mounted with high quality F1.8 / 6mm lens
  • High sensitivity for low-light operation
  • VarioPixel® method for sub-sampling
  • Automatic image control functions including: Automatic
  • Exposure Control (AEC), Automatic Gain Control (AGC), Automatic White Balance (AWB), Automatic Band Filter (ABF), and Automatic Black-Level Calibration (ABLC)
  • Image quality controls including color saturation, hue, gamma, sharpness (edge enhancement), and anti-blooming
  • ISP includes noise reduction and defect correction
  • Supports LED and flash strobe mode
  • Supports scaling
  • Lens shading correction
  • Flicker (50/60 Hz) auto detection
  • Saturation level auto adjust (UV adjust)
  • Edge enhancement level auto adjust
  • De-noise level auto adjust

To run the project, you have to execute a java code (JDK required) through the command line. The script will search for images received from Arduino and then saves them on the PC.

Setting up the Circuit

Refer to the schematics and hook the circuit up.

Installing JDK on PC

You have to download this to be able to interface this camera sensor module on your PC. Open the zip file and install to your computer. By default, this will be install to your C drive in your program files folder. Download JDK from Oracle.com.

Checking COM Port and going further

  • Find out what USB port your Arduino is connected to, something like COM4 or COM5. You could check it on your Control Panel > Device Manager > Ports (COM & LPT) > right click > Properties > Port Settings > Advanced > COM Port Number > /Select Your Port Number/.

As for mine, it is port COM5.

  • Depending on what port number your Arduino is connected to, download the corresponding file. COM1 = com_1.rar , COM2 = com_2.rar and etc.
  • Open your com#.rar on WinRaR, extract/copy the 'code' folder from com_#.rar, go to Local Disk > Program Files > Java > jdk1.8.0_74 > bin and paste it there.
  • Download: COM1.rar
  • Download: COM2.rar
  • Download: COM3.rar
  • Download: COM4.rar
  • Download: COM5.rar

You have to create a new folder on your C drive / Local Disk (C:). This will be your camera module sensor's taken picture's destination. Name this folder as out (it could be anything though).

Using Extra.rar

  • Download and extract the Extra.rar file below and open it. As you could see, there is src folder, lib folder and "win32com.dll". You have to copy and placed "win32com.dll" in the "C:\Program Files\Java\jdk1.8.0_74\jre\bin" directory.
  • Then, open the lib and you could see the "comm.jar" and "javax.comm.properties" in it. Copy and paste the "comm.jar" in "C:\Program Files\Java\jdk1.8.0_74\jre\lib\ext" and "javax.comm.properties" in the "C:\Program Files\Java\jdk1.8.0_74\jre\lib" directory.

NOTE : It may ask for administrator permission, just proceed anyway.

Download Extra.rar.

CMD

  • Open cmd and open the folder wherein the code folder is by writing its address. mine is "C:\Program Files\Java\jdk1.8.0_74\bin".
  • Click enter and it will give u "C:\Program Files\Java\jdk1.8.0_74\bin>".
  • Now, write "java code.SimpleRead". It supposed to be like this---> C:\Program Files\Java\jdk1.8.0_74\bin>java code. SimpleRead.

You can refer to image for help.

Outcome

  • If your cmd cannot find images, try switching the USB of the Arduino from a USB2.0 to a USB3.0 (blue socket) or vice versa.
  • If you receive scrambles pictures, you need to edit the sample source code. Edit line: wrReg(0x11, 12); try changing the 12 to 11/10/9/13.
  • Upload it to the arduino and run the CMD code again.

Try this!

Tag » Arduino Ov7670 Qr Code