1.运动功能说明
小型双轮差速底盘可以通过两个驱动轮的 差速运动 来实现前进、后退、原地转向、大半径转向等基本行驶功能。
2.结构说明
该样机由两个 直流驱动轮模组 构成,驱动轮模组呈轴对称分布在车架上,再使用万向轮对车尾进行支撑,保持车身水平。
3.运动功能实现
3.1 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
将TT马达接在两个直流电机接口上,两个直流电机接口的针脚号分别为(D5,D6)以及(D9,D10),并将主控板和电池在车身固定好。
3.2 编写程序
前进功能的代码
/*------------------------------------------------------------------------------------ 版权说明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
Distributed under MIT license.See file LICENSE for detail or copy at
https://opensource.org/licenses/MIT
by 机器谱 2022-5-26 https://www.robotway.com/
--------------------------------
实验功能:
实现小车前进.
--------------------------------
实验接线:
车头
.--------.
| |
| |
左轮 | | 右轮
D5, D6 *--------* D9, D10
----------------------------------------------------------------------------------*/
voidForward(); // 前进
//程序初始化部分.
voidsetup() {
pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
pinMode( 10 , OUTPUT); //将引脚10设置为输出模式
}
//主程序部分
voidloop()
{
Forward();
delay( 100 );
}
// forward子程序封装.
voidForward() {
digitalWrite( 5 , LOW ); //将引脚5设置为高电平
digitalWrite( 6 , HIGH ); //将引脚6设置为低电平
digitalWrite( 9 , LOW ); //将引脚9设置为高电平
digitalWrite( 10 , HIGH); //将引脚10设置为低电平
}
|
原地转向功能的代码
/*------------------------------------------------------------------------------------ 版权说明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
Distributed under MIT license.See file LICENSE for detail or copy at
https://opensource.org/licenses/MIT
by 机器谱 2022-5-26 https://www.robotway.com/
----------------------------------------------------------
实验功能:
实现小车原地转向.
----------------------------------------------------------
实验接线:
车头
.--------.
| |
| |
左轮 | | 右轮
D5, D6 *--------* D9, D10
----------------------------------------------------------------------------------*/
// 原地转向
voidturn_in_Place();
//程序初始化部分.
voidsetup() {
pinMode( 5 , OUTPUT); //将引脚5设置为输出模式
pinMode( 6 , OUTPUT); //将引脚6设置为输出模式
pinMode( 9 , OUTPUT); //将引脚9设置为输出模式
pinMode( 10 , OUTPUT); //将引脚10设置为输出模式
}
//主程序部分
voidloop() {
turn_in_Place();
delay( 100 );
}
//原地转向子程序封装.
voidturn_in_Place()
{
digitalWrite( 5 , LOW ); //将引脚5设置为高电平
digitalWrite( 6 , HIGH ); //将引脚6设置为低电平
digitalWrite( 9 , HIGH ); //将引脚9设置为高电平
digitalWrite( 10 , LOW); //将引脚10设置为低电平
}
|
4.扩展样机
本样机也有一些扩展,如使用多个万向轮做支撑的版本,如下图所示。
5.资料内容
样机3D文件
例程源代码
|