【STM32智能车】小车状态
- 搭建智能车
- 65MM轮径小车
- 所选材料
- 安装说明
- 直行测试
- 智能车可能存在的状态
智能车功能丰富,我们从最基础的开始,先来搭建一个智能车吧~。
搭建智能车
我们之前用了一个测试板子去学习调试电机,是时候拼装一个简单的车来看看效果了。
实验材料如下,并且有安装说明。安装完成后我们就使用这个调试程序。
下面的小车只作为参考,可以自行设计。
65MM轮径小车
所选材料
如下表,其中的结构板,轮胎等都可以换掉。我们选的是65MM直径的轮胎。
安装说明
- 12V直流电机2个,加上连接套件
-
连接轴承
-
拧上!
6. 6. 6角对准小车
-
拧螺丝
-
轮胎安装到亚克力板上(2个轮子安装方法一样)
10.安装万向轮
11.将开发板安装到亚克力板上即可
直行测试
#main.py -- put your code here!
from pyb import Pin, Timer,delay
from time import sleep_us,ticks_us,sleep
cs = Pin('C8',Pin.OUT_PP) #C8设置为输出引脚输出高电平
cs(1)
ch1 =None
ch2 =None #初始化
A0= Pin('B12',Pin.OUT_PP) #右侧马达
A1 = Pin('B13',Pin.OUT_PP)
B0 = Pin('B14',Pin.OUT_PP) #左侧马达
B1 = Pin('B15',Pin.OUT_PP)
#A电机(右)
p1 = Pin('B8')
tim1 = Timer(10, freq=120)
ch1 = tim1.channel(1, Timer.PWM, pin=p1)
#B电机(左)
p2 = Pin('B9')
tim2 = Timer(4, freq=120)
ch2 = tim2.channel(4, Timer.PWM, pin=p2)
#小车状态
#小车右侧电机接到A处,且电机红线在A0;
#小车左侧电机接到B处,且电机红线在B1
def go(speed): #直行状态
ch1.pulse_width_percent(speed)
ch2.pulse_width_percent(speed)
A0(1)
A1(0) #此状态测试A电机正转
B0(0)
B1(1) #此状态B电机正转
while True: #调用
go(50) #括号里参数为数字0~100 PWM占空比 尽量大一些,小了可能没效果
智能车可能存在的状态
包括但不限于以下几种:
1.待机状态:车辆停止移动,等待指令。
2.运动状态:车辆正在移动,可按照指定路线或方向行驶。
3.避障状态:车辆在运动中检测到前方障碍物,自动调整路径或停止行进。
4.追踪状态:车辆跟随某个目标物体或人员行动。
5.充电状态:车辆需要充电,进入充电站并启动充电程序。
6.故障状态:车辆出现故障,需要进行维修或更换零部件。
7.手动控制状态:车辆由人工遥控进行操作。
8.自主控制状态:车辆由内置智能控制系统自主决策和执行任务。
我们后面的基础案例,包含:待机,运动,寻迹,避障。