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文件
资料下载地址:棘轮小车



















![[MoeCTF 2023] web题解](https://img-blog.csdnimg.cn/e1acba4f828942d9b3b7bb6ef3bc4b98.png)