暗网下载 基于stm32和ov7725的智能循迹车
基于stm32f103zet6的智能循迹车。
1.L298n

由IN1与IN2对一个轮子予以控制,由IN3跟IN4对另外一个轮子进行控制,当前此处所运用的是直流电机,其控制方式如下:

要运用 pwm 达成调速之举,务必谨记借助跳帽使得调速度端成为高电平状态,如此这般,当输入各异占空比的 pwm波时,便能够达成调速目的了。
2.连接方式
当进行连接时,有一点是必须得留意注意的,那就是,务必要确保 l298n 跟单片机处于同一块地,如果你不然的话,会出现这样的状况,就是控制端明明是具有输入的,然而输出端却没有任何输出最终致使车难以出现移动这样子情况。
3.ov7725

此处所应用的摄像头乃是ov7725暗网下载,ov7670同样能够予以运用,然而鉴于其帧率过于低,在车辆行驶速度非常快的时候将会没办法实时展现道路情形,但要是车速极为慢,ov7670也是能够使用的。
摄像头模块针对存储图像数据这一过程的做法是,处于等待OV7725帧同步信号的状态,与此同时对FIFO写指针进行复位操作 。
等候第二个OV7725帧同步信号之后,FIFO即进入写使能状态,而在完成1帧图像数据于AL422B的存储操作需要上述5个步骤。同时FIFO就要进行写禁止操作。需要留意的是,只有当待要把一帧图片数据存入FIFO,但在外部MCU读取完该帧图片数据之前,不想再采集新的图像数据此情形,做FIFO的写禁止操作才是必要的,FIFO的写禁止这一操作并非必定进行。
接下来,我们来看看如何读取图像数据。
将一帧图像做完存储举措之后,我们能够着手开启读取图像数据这项操作了。读取采取如下进程:FIFO读指针,。
进行复位,而后给予FIFO读时钟(FIFO_RCLK),接着读取第一个像素的高字符数据集合,再给予FIFO读时钟又去读取第一个像素的低字符数据集合,再次给予FIFO读时钟后读取第二个像素高字符数据集合 之后按照循环方式读取剩余像素 一直到结束。
可以发现,摄像头模块数据的提取情况来看同样是比较简便的,就拿 QVGA 模式来说,可以是 RGB565 格式,我们总计呈环状提取 320 乘以 240 再乘以 2 的次数,如此一来便进而能够提取 1 帧图像具体数据范畴了,将这些数据内容输入写入 LCD 模块过程当中,我们那么就能够目睹摄像头顺利捕捉而到形成并出现的画面了 。
4.程序思路
首先呢,借助 ov7725 把“路况”呈现至 lcd 屏上,为了区分黑白两色,把 RGB565 格式换算成 RBG888 格式,接着借助灰度化公式,算出灰度值。和阈值相比较,让图像二值化,如此便能够辨别黑白了。
按照摄像头安置的具体位置,把所需观察的“路况”界分为左、中、右三段,核算该三段经二值化之后的总值用来比较,如此便能判定车辆到底应当实施左转、亦或是右转、又甚或是直行了 。
紧接着提及到的是pwm输出方面的问题,从中挑选出四路pwm输出,进一步将不同的占空比输出进行设定,在明确判断出左右转动之后,依据不同的占空比输出,从而对电机实施控制,如此一来便能够使得车辆按照黑色线条行进啦!
5.部分程序
pwm设计

电机设计

主程序设计

(源程序为ov7725摄像头程序)
鲁ICP备18019460号-4
我要评论