TPYBoard开发板制作红外寻迹传感器小车

樱木花道a 樱木花道a 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言写。先给大家看一下最终的实体图,具体的视频演示可在下方留言。



1.实验目的

研究智能小车结合红外探头寻迹前进。

2.实验材料

TPYBoard开发板1块(能跑python语言的开发板,小车
的大脑。)
四路红外感应探头(小车的眼睛)
数据线一根。
充电宝一个(给整个系统供电)
智能小车底盘(包括驱动模块)
杜邦线若干。
实验目的和实验材料准备齐了,先来介绍一下各个主要部件。

2.1 PYBoard开发板

MicroPython是在单片机上可以跑的Python,也就是说,你可以通过Python脚本语言开发单片机程序。 由剑桥大学的理论物理学家乔治·达明设计。和Arduino类似,但Micro Python更强大。 MicroPython开发板让你可以通过Python代码轻松控制微控制器的各种外设,比如LED等,读取管脚电压,播放歌曲,和其他设备联网等等。TPYBoard是TurnipSmart公司制作的一款MicroPython开发板,这款开发板运行很流畅,关键是价格很便宜。

2.2 四路红外感应探头

1、当模块检测到前方障碍物信号时,电路板上红色指示灯点亮,同时OUT端口持续输出低电平信号,该模块检测距离2~60cm,检测角度35度,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
2、传感器属于红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。
3、 传感器模块输出端口OUT可直接与单片机IO口连接即可, 也可以直接驱动一个5V继电器模块或者蜂鸣器模块;连接方式: VCC-VCC;GND-GND;OUT-IO
4、比较器采用LM339,工作稳定;
5、可采用3.3V-5V直流电源对模块进行供电。当电源接通时, 绿色电源指示灯点亮。
2.3 智能小车底盘
双电机驱动,万向轮改变方向。这是实验中最常用到的小车底盘,使用差速的方法进行转弯。配合使用L298N电机驱动模块,使用方法很简单,不多做介绍。

3.寻迹原理

说完了原料的问题,下面说一下小车寻迹的原理。

3.1红外探头的安装

小车寻迹的原理其实就光的吸收,反射和散射。大家都知道,白色反射所有颜色的光,而黑色吸收所有颜色的光,这就为小车寻迹提供了有力的科学依据。在小车的车头上安装上红外探头(我是安装了四个),一字顺序排开。哪个探头接收不到反射或者散射回来的光时,说明这个探头此时正在黑色的寻迹带上。

3.2返回信号的判断

如果要是正前方的探头接收不到光,那么说明小车此时走在黑色的寻迹带上。可以使小车直线行走。如果左面的探头接收不到光,那么说明小车左面出现了黑色寻迹带,此时小车应该执行左转弯。右转弯同左转弯原理。

如果要是小车前面,左面,右面三个方向全都接收不到光,或者是两个方向上的探头都接收不到光,到底是左转弯,右转弯还是继续直行,这个就要看你自己在程序里怎么做判断了。

4.硬件接线

接线其实很简单四路红外探头接线很简单,虽然有十八根线,但是有十二根是三根三根的分成四组的,对应着很好接线,剩下的六根,VCC和GND不多说了,还有四根是直接接到单片结IO口上就可以的。L298N的接线更简单了,这里不多介绍。

上个简单的帮助理解的原理图 (其实我们做实验都是插线,不做PCB图和原理图的)。

原理图

再上个实物图给大家看看。


实物图


5.运行与调试

制作完成后,剩下的就是该调试了,调试中应该注意细节和小车稳定性的优化。

6.代码编写

再把我写的程序给大家看一下,有需要的可以看一下。

源代码:
import pyb
from pyb import UART
from pyb import Pin

M0 = Pin('X1', Pin.IN)
M1 = Pin('X2', Pin.IN)
M2 = Pin('X3', Pin.IN)
M3 = Pin('X4', Pin.IN)
N1 = Pin('Y1', Pin.OUT_PP)
N2 = Pin('Y2', Pin.OUT_PP)
N3 = Pin('Y3', Pin.OUT_PP)
N4 = Pin('Y4', Pin.OUT_PP)

print('while')
while True:
print('while')
pyb.LED(4).off()
pyb.LED(3).off()
pyb.LED(2).off()
if(M0.value()==1):#检测到物体返回0。
pyb.LED(4).on()
pyb.delay(50)
N1.low()
N2.high()
N3.low()
N4.high()
pyb.delay(30)
#pyb.delay(5000)
if(M3.value()==1):#检测到物体返回0。
pyb.LED(3).on()
pyb.delay(50)
N1.high()
N2.low()
N3.high()
N4.low()
pyb.delay(30)
if(M2.value()&M1.value()==1):
pyb.LED(2).on()
N1.low()
N2.high()
N3.high()
N4.low()
pyb.delay(70)

...全文

相关推荐

熊数据集集2983张VOC+YOLO格式.zip

数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:2983 Annotations文件夹中xml文件总计:2983 labels文件夹中txt文件总计:2983 标签种类数:1 标签名称:["bear"] 每个标签的框数(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准): bear 框数 = 3021 总框数:3021 图片清晰度(分辨率:像素):清晰 图片是否增强:否 标签形状:矩形框,用于目标检测识别 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

不会仰游的河马君

vue+springboot_基于Java语言的茶叶销售商城电商系统_176brjo7毕业设计源码数据库.zip

vue+springboot_基于Java语言的茶叶销售商城电商系统_176brjo7毕业设计源码数据库.zip

源码论文专家

43一个强到且很实用的Linux网络管理工具.docx

43一个强到且很实用的Linux网络管理工具

云计算练习生

【计量经济学】基于Oster无工具变量法的内生性处理:遗漏变量偏差敏感性分析与稳健因果效应界估算

内容概要:本文介绍了基于Oster(2019)提出的无工具变量法处理内生性问题的实现方法,核心是通过系数稳定性与拟合优度变化进行敏感性分析,量化遗漏变量偏差的影响,并估计在控制不可观测变量后的稳健因果效应β(beta tilde)。该方法利用两步回归(有无控制变量)之间的系数和R²变化,结合不可观测选择强度参数δ与最大潜在R²(Rmax),外推可能的因果效应边界,从而判断基准结果是否对遗漏变量稳健。文中提供了Stata(psacalc)、R(ooster包)和Python三种主流语言的具体实现代码与操作示例,强调结果依赖于参数设定,需进行敏感性扫描以增强说服力。 适合人群:经济学、管理学、社会学、公共卫生、教育等领域的实证研究者,尤其是正在撰写论文、面临审稿人关于内生性质疑的研究生与青年学者。 使用场景及目标:①在缺乏有效工具变量时,评估OLS回归结果对遗漏变量的敏感性;②生成稳健因果效应的点估计与置信区间,回应审稿人对内生性问题的质疑;③通过δ与Rmax的多值扫描,可视化展示结论稳健性。 阅读建议:此方法属于敏感性分析而非因果识别工具,应与IV、DID、固定效应等方法结合使用;使用者需确保两步回归样本一致,并替换示例中的变量名为实际数据变量,同时务必对关键参数开展敏感性测试,避免过度解读单一结果。

王大师王文峰

园区管理者如何通过数据分析精准培育创新主体?.docx

园区管理者如何通过数据分析精准培育创新主体?

BIZKEEN
评论
收藏 已收藏
分享
返回顶部
樱木花道a
单片机/工控 27,522 成员 28,796 内容