【STM32智能车】寻迹模块

news2024/11/24 14:58:15

【STM32智能车】寻迹模块

    • 寻迹模块
  • 传感器原理
    • 接线说明

智能车寻迹是一种机器人控制技术,它通过使用传感器和程序算法,使汽车能够在行驶过程中识别出路径上的黑线,并沿着该线路行驶。

智能车寻迹常用于竞赛或教育用途,可以提高学生对计算机科学和机器人技术的兴趣与理解。同时,智能车寻迹技术也广泛应用于自主驾驶汽车、物流运输和智能仓储等领域。

这里我们只用一些简单的程序算法,接受传感器返回的数据,然后根据这些数据定义好智能车的状态。

在这里插入图片描述

寻迹模块

在这里插入图片描述

规格参数:
1.工作电压:DC 3.3V-5V
2.工作电流:尽量选择1A以上电源供电
3.工作温度:-10℃—+50℃
4.安装孔径:M3螺丝
5.检测距离:1mm至60 CM可调,距离越近性能越稳定,白色反射距离最远。
6.尺寸大小:中控板4.4mm×4.0mm×12mm(长×宽×高) 小板向前25mm×12mm×12mm(长×宽×高)
7.输出接口:6线制接口(1234为4路信号输出端,+为正电源,-为负电源也就是地线)
8.输出信号:TTL电平(可直接连接单片机I/0号,感应到传感器反射回来的红外光时,指示灯亮,输出低电平;没有红外光时,指示灯不亮,输出高电平。
应用范围:
1.智能小车或机器人寻线(包括黑线和白线),沿着黑线路径走,又称寻迹。
2.智能小车避悬崖,防跌落。
3.智能小车避障碍

传感器原理

一张图就差不多能了解了。
在这里插入图片描述

接线说明

开发板寻迹模块
VCC5v
GNDGND
C0xun2
C1xun3
C2xun4
C3xun1

参考图
在这里插入图片描述

基本使用方法:
定义引脚即可

# main.py -- put your code here!

from pyb import Pin, Timer,delay
from time import sleep_us,ticks_us,sleep
#定义引脚
xun1 = Pin(("C3"),Pin.IN)
xun4 = Pin(("C2"),Pin.IN)
xun3 = Pin(("C1"),Pin.IN)
xun2 = Pin(("C0"),Pin.IN)
while True:
	pyb.delay(1000)
	print('xun1:%d,xun2:%d,xun3:%d,xun4:%d' %(xun1.value(),xun2.value(),xun3.value(),xun4.value()))

使用串口调试工具可查看。
在这里插入图片描述

注意
寻迹模块蓝色灯亮表示低电平 0
寻迹模块蓝色不亮表示高电平 1

Created with Raphaël 2.3.0 导入模块 定义控制引脚,设置LED 获取电平值,控制LED 电平值为1对应LED灯亮 yes

注意:旋转黑色旋钮可以调节灵敏度。根据需求来哦。
在这里插入图片描述

# main.py -- put your code here!
from pyb import Pin, Timer,LED
from time import sleep_us,ticks_us,sleep
#定义引脚
xun1 = Pin(("C3"),Pin.IN)
xun4 = Pin(("C2"),Pin.IN)
xun3 = Pin(("C1"),Pin.IN)
xun2 = Pin(("C0"),Pin.IN)
while True:
	pyb.udelay(1000)
	#循环打印电平值	
	print('xun1:%d,xun2:%d,xun3:%d,xun4:%d' %(xun1.value(),xun2.value(),xun3.value(),xun4.value())) 
	#当寻迹模块监测到东西时,电平值为1,获取电平控制LED灯。
	#下面是个简单的测试                    
	if(xun1.value()==1):
		pyb.LED(1).on()
		pyb.delay(500)
		pyb.LED(1).off()
	elif(xun2.value()==1):
		pyb.LED(2).on()
		pyb.delay(500)
		pyb.LED(2).off()
	elif(xun3.value()==1):
		pyb.LED(3).on()
		pyb.delay(500)
		pyb.LED(3).off()
	elif(xun4.value()==1):
		pyb.LED(4).on()
		pyb.delay(500)
		pyb.LED(4).off()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习心得】Virtual Studio Code下载安装与简单设置

一、下载 1、vs code 官网:https://code.visualstudio.com/ 二、安装 1、双击安装文件开始安装。 2、同意协议开始下一步。 3、选择你自己想要安装的路径。 4、勾选这三个,方便右键在vs code 中打开文件或文件夹。 5、安装步骤几乎没有坑,直…

探究低代码开发平台的价值所在,为企业带来哪些优势?

随着数字化转型的加速,企业和组织需要以更快的速度交付新的软件应用程序,以保持竞争力和创新性。然而,传统的软件开发模式已经不再适用于当前的快节奏商业环境。在这种背景下,低代码开发平台日益成为软件开发的热门趋势&#xff0…

【JavaWeb基础】三层架构

一、知识点整理 三层架构的含义 Controller: 控制层,接收前端发送的请求,对请求进行处理,并响应数据。 Service:业务逻辑层,处理具体的业务逻辑。 Dao(Data Access Object): 数据访问层(持久层),负责数据访问操作,包括数据的增、删、改、查。 二、代码实现 原EmpController.…

spring整合logBack日志框架:

1. SLF4J简介 SLF4J(Simple Logging Facade for Java)是一种日志规范,类似于JDBC,我们常用的日志log4j、logback等都实现了这个规范,所以我们可以直接使用SLF4J的规范来使用日志。 2. logback和log4j 它们是同一个作…

【hadoop】大数据的几个基本概念

大数据的几个基本概念 数据仓库的基本概念数据仓库与大数据OLTP与OLAP 数据仓库的基本概念 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。 本…

堆排序算法及其稳定性分析

堆排序算法及其稳定性分析 什么是堆排序? 堆排序是利用数据结构堆而设计的一种排序算法。 堆分为两种,大顶堆和小顶堆。 所谓大顶堆就是每个节点的值都大于或者等于其左右孩子节点的值。 小顶堆则是相反的,每个节点的值都小于或者等于其…

超全整理,接口测试实战详细(实例)一篇打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、接口测试范围 …

Git无法上传删除 Commit里面有大文件

1.Bug描述 因为在一次提交中不小心把一个打包的aab文件弄到commit文件里了,于是在上传的时候push rejected 了。 因为GitHub的文件上限是100M,但是打的包太大了,有170M,所以是不能上传的,但是又是已经在Commit历史中了…

rsync增量备份工具

目录 一、概述 二、配置 rsync 源服务器 1.查看rsync配置文件位置 2.修改 /etc/rsync.conf 配置文件 3.为备份账户创建数据文件 4.保证所有用户对源目录都有读取权限 5.启动 rsync 服务 三、发起端 1.rsync命令 2.将指定的资源远程同步到本地/opt 目录下进行备份。 3.将…

【Docker】docker安装nginx及端口映射相关配置

前言: 最近,在一台新服务器上准备运行一个前端vue项目,服务器上安装了docker,想要尝试试通过docker安装nginx的并运行项目,以下是操作步骤 操作步骤: 一、安装nginx 1、拉取镜像 从docker仓库里拉取最…

unaipp打包app启动界面配置

1、配置代码 2、IOS端启动界面demo参考 iOS平台自定义storyboard启动界面 - DCloud问答

面试官当面夸奖了我,反手却把我挂了,这是什么套路?

最近几个朋友找我聊天,给我讲述了面试过程中遇到的一些不太理解的事情。我有个朋友作为一个技术面试官,今天来分享 10 个面试相关的套路。 1.自我介绍 自我介绍是一个重要的开始,好的开始是成功的一半。不需要太多花里胡哨的东西&#xff0…

SpringBoot05:自动配置原理

一、自动配置原理 SpringBoot官网 1、分析自动配置原理 以HttpEncodingAutoConfiguration(Http编码自动配置)为例解释自动配置原理 //表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件 Configuration(prox…

解决阿里qiankun微应用资源无法加载

公司老项目多了,却想用新版本的框架,最好的解决办法就是用微前端。 本文说下我们在用阿里微前端框架qiankun,遇到的一些问题,以及一些巧妙的解决办法。 背景 因为接入微前端很长时间了,导致现在的微应用变成了实际意…

Python接口自动化测试之UnitTest详解

基本概念 UnitTest单元测试框架是受到JUnit的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。 它分为四个部分test fixture、TestC…

【LeetCode】149. 直线上最多的点数

149. 直线上最多的点数(困难) 枚举直线 哈希表统计 思路 遍历每两个点之间的连线,然后计算这条连线上有多少个点。 具体步骤如下: 初始化最大点数为 0。遍历每个点,用它和其他点计算斜率。如果两个点的x坐标相同&…

7月大概率加息25bp!美股螺旋式下跌,加密市场“迎难而上”!

今年6月,美股标普500指数走出了自1948年以来最长的熊市,进入新的牛市,美联储暂停加息给全球资本市场一个喘息的机会。尽管如此,美国目前经济基本面的情况仍不及预期,股市其上涨态势恐怕将会迎来一轮调整。 以Solita Ma…

资深开发竟然不清楚int(1)和int(10)的区别

一、困惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx ADD user_id int(1)。领导看到我的sql工单,于是说:这int(1)怕是不够用吧,接下来是一通解释。…

做一个小程序需要多少钱

做一个小程序要多少钱,这种分2种类型 定制版 定制版就是按着客户的需求来做了。首先是聊需求,然后画思维导图,做原型图,做完原型图,就是做UI设计,然后做前端,后端。这个费用下来大概几千元到几…