基于stm32和ov7725的智能循迹车

基于stm32和ov7725的智能循迹车基于stm32f103zet6的智能循迹车。1.L298nIN1IN2控制一个轮子,IN3IN4控制另外一个。这里使用的是直流电机,控制如下:为了使用pwm进行调速,一定要记得用跳帽使调速度端为高电平。这样,输入不同占空比的pwm波就可以实现调速了。2.连接方式连接时一定要注意的一点就是一定要保证l298n与单片机共地,否则会出现控制端有输入但输出端无输出导致车不移动的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

基于stm32f103zet6的智能循迹车。
1.L298n
这里写图片描述
IN1IN2控制一个轮子,IN3IN4控制另外一个。这里使用的是直流电机,控制如下:
这里写图片描述
为了使用pwm进行调速,一定要记得用跳帽使调速度端为高电平。这样,输入不同占空比的pwm波就可以实现调速了。
2.连接方式
连接时一定要注意的一点就是一定要保证l298n与单片机共地,否则会出现控制端有输入但输出端无输出导致车不移动的现象。
3.ov7725
这里写图片描述
这里使用的摄像头是ov7725。ov7670也可以使用,但由于其帧率过低,在车速很快时将无法实时反映道路情况。当然,如果车速很慢ov7670也可以使用。
摄像头模块存储图像数据的过程为:等待 OV7725 帧同步信号——FIFO 写指针复位
——FIFO 写使能——等待第二个 OV7725 帧同步信号——FIFO 写禁止。通过以上 5 个步骤,我们就可以完成 1 帧图像数据在 AL422B 的存储。注意:FIFO 写禁止操作不是必须的,只有当你想将一帧图片数据存储在 FIFO,并在外部 MCU 读取完这帧图片数据之前,不再采集新的图片数据的时候,才需要进行 FIFO 写禁止。
接下来,我们来看看如何读取图像数据。
在存储完一帧图像以后,我们就可以开始读取图像数据了。读取过程为:FIFO 读指针
复位——给 FIFO 读时钟(FIFO_RCLK)——读取第一个像素高字节——给 FIFO 读时钟——读取第一个像素低字节——给 FIFO 读时钟——读取第二个像素高字节_循环读取剩余像素——结束。
可以看出,摄像头模块数据的读取也是十分简单,比如 QVGA 模式,RGB565 格式,我们总共循环读取 320*240*2 次,就可以读取 1 帧图像数据,把这些数据写入 LCD 模块,我们就可以看到摄像头捕捉到的画面了。
4.程序思路
首先,利用ov7725将“路况”反映到lcd屏上,为了辨别黑白两色,将RGB565格式转换为RBG888格式,再利用灰度化公式,计算灰度值。与阈值比较,将图像二值化,这样就可以辨别黑白了。
根据摄像头安装的位置,将所需要观察的“路况”分成左中右三段,计算三段的二值化之后的总值进行比较,就可以判断出车到底是应该左转还是右转还是直行了。
其次是pwm输出问题。选择四路pwm输出,设定好不同的占空比输出,在判断出左右转之后根据不同的占空比输出,控制电机,就可以让车按照黑线行走啦!
5.部分程序
pwm设计
基于stm32和ov7725的智能循迹车
电机设计
这里写图片描述
主程序设计
这里写图片描述
(源程序为ov7725摄像头程序)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190454.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用Protel 99 SE学习原理图的设计及pcb的绘制

    用Protel 99 SE学习原理图的设计及pcb的绘制学习Protel99SE的大致过程:原理图文件(*.Sch)–>网络表文件(*.NET)–>*.PCB 网络表文件:记录封装格式。 (封装是指元件的长宽、大小、位置。封装就是一种标准,用来规定元件制造出的实际大小) Pcb文件:它就是印制电路板的文件 protel软件:https://download.csdn….

    2022年5月30日
    30
  • 如何解压war包_tomcat自动解压war包

    如何解压war包_tomcat自动解压war包使用WinRAR即可解压,同目录下创建一个.zip文件,右键打开方式->WinRAR压缩文件管理器“向上”,到文件目录选择要解压的文件,点击“解压到”,解压到你想要的目录即可java中的war格式的压缩包怎么解压?你好,这些是打包好的部署包,将这些直接丢如TomcatWebApp目录下就可以通过Web访问了,如果你想看源码,用解压缩软件都可以的,就看这包里面有没有源码了,zip,win…

    2022年10月5日
    1
  • kali更新源(源、软件更新,附kali源)

    kali更新源(源、软件更新,附kali源)很多系统安装好以后都需要进行更新源,或者软件需要更新,小编在这里进行一次更新源和软件的记录,还请路过大牛指出不足。1、在/etc/apt下有文件sources.list文件,将下方提供的源粘贴一个即可#命令vi/etc/apt/sources.list输入i进行编辑,把文章下方附有的kali源粘贴一个即可2、执行命令更新源#命令apt-getupdate3、更…

    2022年5月8日
    78
  • socket编程详解_socket实现原理

    socket编程详解_socket实现原理rintf(“return code: %d/n”, retcode); } else if (!strncmp(cmd_buf, “quit”, 4))  exit(0); else pu

    2022年8月31日
    4
  • pycharm安装与配置_pycharm安装教程2019

    pycharm安装与配置_pycharm安装教程2019文章目录一、下载并安装PyCharm二、配置PyCharm三、编写第一个python脚本(helloword)四、环境变量配置1.win+r输入cmd,输入python,可以看到python版本2.如果你输入python直接跳转到微软商店一、下载并安装PyCharm官网下载地址:https://www.jetbrains.com/pycharm/download/#section=windows我们这里选择下载社区版,因为专业版要收钱,不过社区版会比专业版要少一些功能,例如:Web开.

    2022年8月27日
    4
  • SourceInsight3注册码[通俗易懂]

    SourceInsight3注册码[通俗易懂]SI3US-241109-94280

    2022年10月3日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号