实验一、小车运动起来
一、实验简介
本实验设计一个无线遥控的小车,小车通过树莓派无线连接至摇杆,通过摇杆控制小车运动方向,让小车可以前进、后退、左转、右转、左转圈、右转圈。
二、实验目的
通过本实验掌握:
- 蜂鸣器驱动
- 舵机驱动
- 单独轮子控制方法
- 摇杆模式控制方法
- 小车运动起来
- 摇杆模式控制方法
- 正方形平移
- 环绕模式
- PS2手柄简单测试
三、实验步骤
1. 通过手柄控制Raspblock蜂鸣器,按下数字1键鸣笛,抬起关闭鸣笛。
实验步骤
- 手柄连接电脑,获取其索引值
- 编写相关程序代码,使按下手柄的数字1时开启蜂鸣器,按键抬起时关闭蜂鸣器
实验分析
通过网页来获取手柄操作对象及其按键状态controller.buttons[i]
,蜂鸣器的操作需要调用 Raspblock 库内的 Raspblock 方法,将手柄的按键状态传入来控制蜂鸣器的开关状态。
实验结果
按下按键1,蜂鸣器开始工作,抬起按键1,蜂鸣器停止工作。
2. 通过PS2手柄控制小车运动。
实验步骤
- 手柄连接电脑,获取其索引值,并将手柄工作模式调整为模拟模式
- 编写相关程序代码,使左侧遥感控制全向车运动,右侧遥感控制摄像头云
实验分析
- 通过网站获取手柄各按键状态并通过函数接受,该函数接收x,y两个参数,将手柄摇杆读取的x,y模拟量映射到函数参数上。
- 涉及到控制小车轮子移动的函数,只有在不断被执行的过程中才生效,因此,涉及手动控制小车移动时,应不断执行相应移动函数。
- 当摇杆模拟量绝对值不为0,表明摇杆正在被推动,应不断调用相应的移动函数使小车移动。
实验结果
左侧摇杆可控制小车向不同方向前进,右侧摇杆可控制小车摄像头云台向不同方向偏转,按下右侧摇杆可复位云台,数字4:左旋。数字2:右旋。
3. 控制小车按照手绘五角星路线行走并转向
实验代码
▶
Code
1 |
|
实验分析
定义直线运动和转弯的函数,通过控制运动时间来调整转弯角度,通过不断的进行直行和转弯的函数循环来绘制小车轨迹。
实验结果
小车按照手柄十字键的轨迹行动。
四、思考分析
-
实验总结与收获:
会了控制小车运动的相关程序。 -
实验失败/待改进:
小车运动轨迹比较简单,需要进行更精细的操作。
实验一、小车运动起来
https://flowerdown.org/posts/20221012-094806.html