相信用过这个摄像头的人都深有体会,想要让这个正常工作不是一件简单的事。
刚开始用的ov7670没有时钟,没有fifo,使用 arduinoUNO 和 arduinoMega2560 驱动,发现完全驱动不起来。然后改用树莓派驱动有fifo的那种,经过几周的不懈努力,终于可以输出图像了。
最终的目标是做成一个网络摄像头,目前网页中的刷新率还在改进中。
在后面我会详细记录开发过程的遇到的一些问题,以及解决方法。
这个项目能成功要感谢“井底添蛙”和“谜窟”的支持, 是“井底添蛙”免费提供了树莓派与摄像头转接板的打印,“谜窟”在画板与编码的过程中提供了参考和建议。
代码下载:pi_ov7670.rar
编译:
make
运行:
#输出bmp图片
sudo ./ov2bmp
#窗口显示
sudo ./ov_sdl
#发送数据到远程服务器
sudo ./ov
pcb效果图(v2.3和v2.5没有打印):
评论列表:
//#define VSYNC_CMOS_PIN 26
#define FIFO_RRST_BIT 0 //12 RRST
#define FIFO_WRST_BIT 1 //15 WRST
#define FIFO_CS_BIT 2 //11 OE
#define FIFO_WE_BIT 3 //14 WR
#define FIFO_RD_BIT 4 //13 RCK
#define FIFO_DATA_BIT_0 29 //0
#define FIFO_DATA_BIT_1 28 //1
#define FIFO_DATA_BIT_2 25 //2
#define FIFO_DATA_BIT_3 27 //3
#define FIFO_DATA_BIT_4 24 //4
#define FIFO_DATA_BIT_5 23 //5
#define FIFO_DATA_BIT_6 26 //6
#define FIFO_DATA_BIT_7 22 //7
想請教一下這邊的數字是GPIO的編號 還是樹梅派上的PIN腳,因為沒有0號位,加上圖中接了19個PIN,從CODE中再加上電源也才18個PIN,想了解腳位是如何接的,希望站主能解惑,感恩
CODE裡有16PIN,加上VDD GND共18PIN,上圖內轉接版有19個PIN 不知道最後多接的是哪個?
unable to wiringPiI2CWriteReg8 : REMOTE I/O error