这里是普通文章模块栏目内容页
Micropython之DIY循迹智能小车

timg.jpg

AI作为现代社会发展的主流,也是未来发展的方向,它可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。很多快递公司已经能够实现机器人自动搬运,自动扫码,自动运输的功能,送餐机器人相信大家已经见到过,大大的减少了人力成本,而且减少了送错餐的机率,下面带大家了解一下送餐机器人的原理,带大家做一个循迹智能小车。这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它上面装上摄像机,代替人们进行许多无法进行的工作。那么,我们就搞起来吧!!!(*^▽^*)

timg.jpg

AI作为现代社会发展的主流,也是未来发展的方向,它可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。很多快递公司已经能够实现机器人自动搬运,自动扫码,自动运输的功能,送餐机器人相信大家已经见到过,大大的减少了人力成本,而且减少了送错餐的机率,下面带大家了解一下送餐机器人的原理,带大家做一个循迹智能小车。这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它上面装上摄像机,代替人们进行许多无法进行的工作。那么,我们就搞起来吧!!!(*^▽^*)

一、实验器材

1TPYBoard v 102开发板   1

2、电机驱动模块L298N      1

3、直流电机 2个

4、小车底盘 1个

5、4路循迹模块 1个

6、电源开关 1

7、5号电池 4节

v102_蓝.png

v102_蓝.png

二、4路循迹模块 1、什么是循迹

循迹模块检测黑线的原理是红外发射管发射光线到路面,红外光遇到白底则被反射,红外接收管接收到反射光,此时接收管导通,模块的输出端为低电平,即引脚的IO电平输出0,模块的红色发光二极管处于点亮状态;当红外光遇到黑线时则被吸收,红外接收管没有接收到反射光,此时接收管一直处于关闭状态,模块的输出端为高电平,即引脚的IO电平输出1,模块的红色发光二极管处于熄灭状态。模块的检测灵敏度可以通过循迹模块上的电位器进行调节。4路循迹模块输出端口OUT可直接与单片机IO口连接即可,连接方式:首先,把循迹模块跟中间驱动板连接起来,一共有4路,按照顺序接起来就行;

图片.png

其次,将控制板跟TPYBoard v102连接起来VCC-VCC;GND-GND;OUT1-X1;OUT2-X2;OUT3-X3;OUT4-X4。注意四路循迹模块的IN1-IN4是和OUT1-OUT4一一对应的。

图片.png

其次,将控制板跟TPYBoard v102连接起来VCC-VCC;GND-GND;OUT1-X1;OUT2-X2;OUT3-X3;OUT4-X4。注意四路循迹模块的IN1-IN4是和OUT1-OUT4一一对应的。

图片.png

图片.png

三、电机驱动模块

1、什么是电机驱动模块

电机驱动模块主要是可以控制电机的运行:调速、运行、停止、步进、匀速等操作。

2、L298N的连接及使用方法

#p#分页标题#e#

L298N模块是2路的H桥驱动,所以可以同时驱动两个电机,接法如图所示使能ENA ENB之后,可以分别从IN1 IN2输入PWM信号驱动电机1的转速和方向,可以分别从IN3 IN4输入PWM信号驱动电机2的转速和方向。我们将电机1接口的OUT1与OUT2与小车的一个电机的正负极连接起来,将电机2接口的OUT3与OUT2与小车的另一个电机的正负极连接起来。接线端子+5v连接TPYboard的VIN,+12v连接TPYBoard的VIN,中间的接线端子GND连接板子GND,In1-In4连接TPYBoard的Y1,Y2,Y3,Y4,通过Y1,Y2与Y3,Y4的高低电平,来控制电机的转动,从而让小车前进,后退,向左,向右。

图片.png

图片.png

四、硬件接线图

TPYBoard v102 4路循迹模块 L298N驱动模块
VIN   VCC      
GND   GND      
X1   OUT1      
X2   OUT2      
X3   OUT3      
X4   OUT4      
Y1       In1  
Y2       In2  
Y3       In3  
Y4       In4  
VIN       +12V  
GND       GND  
VIN       +5V  

五、实演视频

六、源代码

下面是main.py的主程序代码,搭好环境以后,不需要任何类库,只要接好线,把main.py复制进去,小车就可以直接跑起来了

QQ截图20180619164422.png

QQ截图20180619164422.png

import pyb from pyb import UART from pyb import Pin y1 = Pin('Y1', Pin.OUT_PP) y2 = Pin('Y2', Pin.OUT_PP) y3 = Pin('Y3', Pin.OUT_PP) y4 = Pin('Y4', Pin.OUT_PP) x1 = Pin('X1', Pin.IN) x2 = Pin('X2', Pin.IN) x3 = Pin('X3', Pin.IN) x4 = Pin('X4', Pin.IN) def go(): y1.high() y4.high() y2.low() y3.low() def left(): y2.high() y4.high() y1.low() y3.low() def right(): y1.high() y3.high() y2.low() y4.low() def back(): y2.high() y3.high() y1.low() y4.low() #检测到返回1 print(x1.value()) while True: if(x1.value()==1):#检测到物体返回1。 left() pyb.delay(50) if(x4.value()==1):#检测到物体返回1。 right() pyb.delay(50) if(x2.value()&x3.value()==1): go() pyb.delay(50)

收藏
0
有帮助
0
没帮助
0