【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.智能小车避障碍
传感器原理
一张图就差不多能了解了。
接线说明
开发板 | 寻迹模块 |
---|---|
VCC | 5v |
GND | GND |
C0 | xun2 |
C1 | xun3 |
C2 | xun4 |
C3 | xun1 |
参考图:
基本使用方法:
定义引脚即可
# 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
注意:旋转黑色旋钮可以调节灵敏度。根据需求来哦。
# 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()