MicroPython怎么DIY红外寻迹小车

今天小编给大家分享一下MicroPython怎么DIY红外寻迹小车的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

柳江网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

1.实验目的

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

2.实验材料

TPYBoard开发板1块(能跑python语言的开发板,小车的大脑。)

MicroPython怎么DIY红外寻迹小车

四路红外感应探头(小车的眼睛)。

数据线一根。

充电宝一个(给整个系统供电)。

智能小车底盘(包括驱动模块)。

杜邦线若干。

实验目的和实验材料准备齐了,先来介绍一下各个主要部件。

2.1PYBoard开发板

MicroPython是在单片机上可以跑的Python,也就是说,你可以通过Python脚本语言开发单片机程序。由剑桥大学的理论物理学家乔治·达明设计。和Arduino类似,但MicroPython更强大。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图和原理图的)。


 MicroPython怎么DIY红外寻迹小车

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

MicroPython怎么DIY红外寻迹小车


  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)

以上就是“MicroPython怎么DIY红外寻迹小车”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。

分享标题:MicroPython怎么DIY红外寻迹小车
分享路径:https://www.cdcxhl.com/article36/iieosg.html

成都网站建设公司_创新互联,为您提供网站设计公司网站设计品牌网站设计用户体验定制网站软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司