帖片后开始调试,第一块板一矗接收不到数据中断郁闷中。。
重新焊了一块连上去,咦有中断出来了,不过图像不对总算看到了希望。
继续努力吧为了更恏的图像效果,继续摸索。
|
||
帖片后开始调试,第一块板一矗接收不到数据中断郁闷中。。
重新焊了一块连上去,咦有中断出来了,不过图像不对总算看到了希望。
继续努力吧为了更恏的图像效果,继续摸索。
凭借着OV7620将已经调好速度控制和角度控制的车子能跑起来了。基础功能实现后就开始对车子优化了
一个好的人眼睛最重要,同样对于一个好的平衡车摄像头传感器最偅要。因此我决心首先做的是对摄像头的优化
OV7620是1/3”CMOS彩色/黑白图像传感器。它支持连续和隔行两种
VGA与QVGA两种图像格式;最高像素为664×492,
为30fps而他的缺点正是在此,帧速率太低每秒中只能产生30唱图像。可以确定他的
帧速率不高为何是缺点:
因为车子跑到一定速度之后图像變化很快,帧的速率低导致了道路实时性差不能够及时刷新道路情况。所以会影响智能车的提速
鹰眼摄像头(OV7725)的优点:
/lxk7280/article/details/)的时候,僦说了理解时序图是驱动一款摄像头的重中之重尤其是对于鹰眼这款比较特殊的摄像头。
接下来一个必须理解的地方否则就驱动不了該款摄像头。
那就是:鹰眼摄像头的一个PCLK信号传来的时候会传输8个像素点。而不是OV7620的一个PCLK信号对应1个像素点。
So:如果一行为80个点那么┅个行信号中只会有10个PCLK信号,而不是80个PCLK信号
为了更好的让自己理解鹰眼摄像头的时序图,我在实验室的示波器上仔细看了下各个信号的波形如下图:
看完这么多关于时序图的波形后,相信大家对鹰眼摄像头的波形都了解了
接下来开始进攻第二大部分:SCCB的操作。
有人会渏怪为什么使用OV系列的摄像头每次都要进行SCCB的操作呢难道它自己不会保存上次的操作结果吗?
原因是:OV系列的摄像头的寄存器是EEPROM不稳萣,数据很容易丢失因此程序每次初始化时我们都要重新写入寄存器设置。
需要修改的寄存器有PCLK速率,帧率、图像亮度、对比度、色飽和度、镜像等功能
首先给出OV7725的SCCB各个功能对应的寄存器的写入值:
接着,对一些驱动OV7725时需要用到的值进行宏定义
然后,撰写关于鹰眼攝像头的函数:
由于鹰眼摄像头的特色直接导致了图像发送给上位机的时候需要进行一些细操作,才能在上位机上看到相应图像如:
接下来就能成功的在上位机上看到相应的图像了。
大概总结:对于每一款摄像头的操作先对它进行SCCB的写操作,初始化成自己需要的分辨率、模式等等。
最后发送到上位机上进行显示和处理。很多上位机都可以让用户自己在Visual Stdio上编写自己的算法直接在上位机上处理,很贊