ov7670 linux,arduino nano调试OV7670拍照 参照帖子一定成功

我是悟空学堂张老师,最近一直忙开学的事情,昨晚终于抽出了一点时间,把ov7670与arduino nano的连接测试重新整理了一遍。以为我们一直从事光学捕捉方面的项目研发,所以对单片机摄像头的应用都会有点涉入,最早调试0v7670的时候,发现这个摄像头无法满足我们在arduino单片机上高帧速捕捉的要求,所以后面就放弃了,毕竟arduino运算能力有限,前几天在极客工坊上搜相关帖子,想了解有没有全新突破,发现能调通的还不多,帖子很多是求助贴,所以花了点时间,把ov7670重新弄出来,擦了灰,连上了arduino nano。我手上有带fifo和不带fifo的两种,以为连线太负杂,就只用来不带fifo的板子,最重要的原因是吃灰的ov7670还带着插线,我就不用去找线了。

这次调试,用到的材料为:

1、arduino nano一个

2、ov7670不带fifo一个   特别注意,电压使用为3.3v,电压为3.3v,电压为3.3v

3、插线,一端排母,一端排针的那种,18根

4、10k电阻  2个

5、4.7k电阻   2个

6、洞洞板一块

整个连接效果图:

1512bb8a4978b272e8bfe3e98fad41af.gif

未标题-1.jpg (91.34 KB, 下载次数: 82)

2017-8-30 08:22 上传

接线图说明:

1512bb8a4978b272e8bfe3e98fad41af.gif

ov7670takepicture.jpg (76.97 KB, 下载次数: 89)

2017-8-30 08:23 上传

程序烧录用的代码:

代码说明,此代码为github上代码,是ardnuino采集后通过usb串口传入电脑,然后电脑端进行接收解码成图片进行显示

//wukongxuetang teacher zhang

// Source code for application to transmit image from ov7670 to PC via USB

// By Siarhei Charkes in 2015

// http://privateblog.info

#include

#include

#include

#include

#include

#define F_CPU 16000000UL

#define vga   0

#define qvga  1

#define qqvga   2

#define yuv422  0

#define rgb565  1

#define bayerRGB  2

#define camAddr_WR  0x42

#define camAddr_RD  0x43

/* Registers */

#define REG_GAIN    0x00  /* Gain lower 8 bits (rest in vref) */

#define REG_BLUE    0x01  /* blue gain */

#define REG_RED       0x02  /* red gain */

#define REG_VREF    0x03  /* Pieces of GAIN, VSTART, VSTOP */

#define REG_COM1    0x04  /* Control 1 */

#define COM1_CCIR656  0x40    /* CCIR656 enable */

#define REG_BAVE    0x05  /* U/B Average level */

#define REG_GbAVE   0x06  /* Y/Gb Average level */

#define REG_AECHH   0x07  /* AEC MS 5 bits */

#define REG_RAVE    0x08  /* V/R Average level */

#define REG_COM2    0x09  /* Control 2 */

#define COM2_SSLEEP         0x10  /* Soft sleep mode */

#define REG_PID           0x0a  /* Product ID MSB */

#define REG_VER           0x0b  /* Product ID LSB */

#define REG_COM3    0x0c  /* Control 3 */

#define COM3_SWAP         0x40  /* Byte swap */

#define COM3_SCALEEN          0x08  /* Enable scaling */

#define COM3_DCWEN          0x04  /* Enable downsamp/crop/window */

#define REG_COM4    0x0d  /* Control 4 */

#define REG_COM5    0x0e  /* All "reserved" */

#define REG_COM6    0x0f  /* Control 6 */

#define REG_AECH    0x10  /* More bits of AEC value */

#define REG_CLKRC   0x11  /* Clocl control */

#define CLK_EXT           0x40  /* Use external clock directly */

#define CLK_SCALE   0x3f  /* Mask for internal clock scale */

#define REG_COM7    0x12  /* Control 7 */ //REG mean address.

#define COM7_RESET          0x80  /* Register reset */

#define COM7_FMT_MASK         0x38

#define COM7_FMT_VGA          0x00

#define COM7_FMT_CIF          0x20  /* CIF format */

#define COM7_FMT_QVGA         0x10  /* QVGA format */

#define COM7_FMT_QCIF         0x08  /* QCIF format */

#define COM7_RGB          0x04  /* bits 0 and 2 - RGB format */

#define COM7_YUV          0x00  /* YUV */

#define COM7_BAYER          0x01  /* Bayer format */

#define COM7_PBAYER         0x05  /* &quot

225352cac83256231aa3b4196af1626f.gifrocessed bayer" */

#define REG_COM8    0x13  /* Control 8 */

#define COM8_FASTAEC          0x80  /* Enable fast AGC/AEC */

#define COM8_AECSTEP          0x40  /* Unlimited AEC step size */

#define COM8_BFILT    0x20  /* Band filter enable */

#define COM8_AGC    0x04  /* Auto gain enable */

#define COM8_AWB    0x02  /* White balance enable */

#define COM8_AEC    0x01  /* Auto exposure enable */

#define REG_COM9    0x14  /* Control 9- gain ceiling */

#define REG_COM10   0x15  /* Control 10 */

#define COM10_HSYNC         0x40  /* HSYNC instead of HREF */

#define COM10_PCLK_HB         0x20  /* Suppress PCLK on horiz blank */

#define COM10_HREF_REV          0x08  /* Reverse HREF */

#define COM10_VS_LEAD         0x04  /* VSYNC on clock leading edge */

#define COM10_VS_NEG          0x02  /* VSYNC negative */

#define COM10_HS_NEG          0x01  /* HSYNC negative */

#define REG_HSTART    0x17  /* Horiz start high bits */

#define REG_HSTOP   0x18  /* Horiz stop high bits */

#define REG_VSTART    0x19  /* Vert start high bits */

#define REG_VSTOP   0x1a  /* Vert stop high bits */

#define REG_PSHFT   0x1b  /* Pixel delay after HREF */

#define REG_MIDH    0x1c  /* Manuf. ID high */

#define REG_MIDL    0x1d  /* Manuf. ID low */

#define REG_MVFP    0x1e  /* Mirror / vflip */

#define MVFP_MIRROR         0x20  /* Mirror image */

#define MVFP_FLIP   0x10  /* Vertical flip */

#define REG_AEW           0x24  /* AGC upper limit */

#define REG_AEB           0x25    /* AGC lower limit */

#define REG_VPT           0x26  /* AGC/AEC fast mode op region */

#define REG_HSYST   0x30  /* HSYNC rising edge delay */

#define REG_HSYEN   0x31  /* HSYNC falling edge delay */

#define REG_HREF    0x32  /* HREF pieces */

#define REG_TSLB    0x3a  /* lots of stuff */

#define TSLB_YLAST    0x04  /* UYVY or VYUY - see com13 */

#define REG_COM11   0x3b  /* Control 11 */

#define COM11_NIGHT      

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值