基于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摄像头程序)

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • VBA编程基础和编程环境(二)

    VBA编程基础和编程环境(二)    上一节中认识了Excel宏的基本样子,明白了VBA就是一门类似于C、JAVA、Python等编程语言,了解了VBA与宏的关系,本节开始学习VBA编程的基础知识和编程环境,是整个学习编程的基础。    一、VBA编程的几个重要概念    0、过程    把VBA代码按照一定顺序和逻辑排列用来完成Excel某个任务的过程,其实就是用VBA代码按照先后…

  • Oracle经验总结!

    Oracle经验总结!

  • 常见WAF_WEB应用防火墙_运维必备_应用安全

    常见WAF_WEB应用防火墙_运维必备_应用安全排名无先后,只做汇总统计,方便各位管理服务器安全1ShareWAF有http://www.sharewaf.com/2GOODWAF免费云WEB应用防火墙,全面防御web/SQL/XSS/0day/爬虫等攻击,具备防篡改,防数据泄露,防盗链等功能,终身免费使用,保护企业web业务安全https://www.goodwaf.cn/3ModSecurityhttp://www.modsecurity.cn/ModSecurity是目前世界上使用最多的开源WA…

  • c++编写入门版贪吃蛇,只要你想学就能学会

    c++编写入门版贪吃蛇,只要你想学就能学会

  • 什么是kit_django reinhardt

    什么是kit_django reinhardt#介绍ImageKit是用于处理图像的Django应用程序。如果需要从原图上生成一个长宽为50×50的图像,则需要ImageKit。ImageKit附带了一系列图像处理器,用于调整大小和裁剪等常见

  • 太原java技术培训_面试官说java基础不行

    太原java技术培训_面试官说java基础不行二、六大性能调优技术(JVM调优+网络调优+数据库调优+LINUX内核调优+中间件底层探索+容器环境调优)手绘板(脑图)1、JVM调优JVM调优必备理论知识-GcCOLLECTOR-三色标记垃圾回收算法串讲JVM常见参数总结JVM调优实战JVM(HotSpot)核心源码解读JVM核心模块(GC算法)手写实战2、网络调优TCP内核参数JAVAAPI参数IO模型TRADEOFF资源隔离优化网卡、CPU配置调优网络安全的加密算法与数字签名3、数据库调优Mysql性能监

发表回复

您的电子邮箱地址不会被公开。

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