1. 运动功能说明
棘轮小车(Ratchet Car)是一种基于棘轮原理设计的小型车辆,它结合了棘轮机制和移动装置,用于特定的应用场景,这种设计使得小车能够实现单向移动或防止逆向移动。棘轮小车的主要特点包括:
① 棘轮驱动:棘轮小车通常配备一个或多个棘轮装置,用于驱动车辆的轮子。棘轮的设计使得小车可以在一个方向上自由移动,而在反方向上则会被阻止。
② 移动装置:棘轮小车通常配备轮子或履带等移动装置,在平坦的表面上进行移动,移动装置的设计取决于具体的应用需求和地形环境。
③ 稳定性和安全性:棘轮小车的稳定性和安全性也是考虑的重要因素,适当的重心分布、抓地力和结构强度等都需要考虑,以确保小车在使用过程中稳定可靠。
本文示例将实现R283样机棘轮小车运动行走的功能。
2. 结构说明
该样机主要由四个 棘轮模组【https://www.robotway.com/h-col-273.html】 和一个 舵机关节模组【https://www.robotway.com/h-col-121.html】 构成。
3. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
主控板 |
Basra主控板(兼容Arduino Uno)
|
扩展板 |
Bigfish2.1扩展板
|
电池 | 7.4V锂电池 |
4. 运动功能实现
编程环境:Arduino 1.8.19
下面提供一个实现棘轮小车运动行走的参考程序(sketch_sep15b.ino):
/*------------------------------------------------------------------------------------
版权说明:Copyright 2023 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 机器谱 2023-09-20 https://www.robotway.com/
------------------------------*/
#include<Servo.h> //调用舵机库
#define Servo_Pin 3 //定义舵机引脚号
#define Claw_Open_Angle 165
#define Claw_Close_Angle 30
Servo myservo; //声明舵机对象
//程序初始化部分:使能舵机引脚
void setup() {
myservo.attach(Servo_Pin); //设置舵机引脚
}
void loop() {
myservo.write(Claw_Open_Angle);
delay(1000); //等待1秒
myservo.write(Claw_Close_Angle);
delay(1000); //等待1秒
}
5. 资料下载
资料内容:
①程序源代码
②样机3D文件
资料下载地址:棘轮小车