1. 功能说明
本文示例将实现R329样机机器鸟摆动尾巴的功能。
2. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
主控板 | Basra主控板(兼容Arduino Uno) |
扩展板 | Bigfish2.1扩展板 |
电池 | 7.4V锂电池 |
电路连接:将两个舵机分别连接在Bigfish扩展板的D4、D3端口。
3. 功能实现
编程环境:Arduino 1.8.19
实现思路:实现机器鸟尾部从水平位置摆动到左上方,再恢复水平的过程。
下面提供一个参考例程(bridTail_leftSwing.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-05-24 https://www.robotway.com/
------------------------------*/
#include <Servo.h>
Servo servo_pin_3;
Servo servo_pin_4;
int _ABVAR_1_angle_first = 0 ;
int _ABVAR_2_num = 0 ;
int _ABVAR_3_angle_second = 0 ;
void swing_reset();
void leftUp_Swing();
void setup()
{
servo_pin_3.attach(3);
servo_pin_4.attach(4);
servo_pin_3.write( 100 );
servo_pin_4.write( 14 );
delay( 1000 );
}
void loop()
{
leftUp_Swing();
swing_reset();
}
void leftUp_Swing()
{
_ABVAR_1_angle_first = 100 ;
for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 14 ); _ABVAR_2_num++ )
{
_ABVAR_1_angle_first = ( _ABVAR_1_angle_first - 5 ) ;
servo_pin_3.write( _ABVAR_1_angle_first );
delay( 50 );
}
delay( 1000 );
}
void swing_reset()
{
_ABVAR_3_angle_second = 30 ;
for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 14 ); _ABVAR_2_num++ )
{
_ABVAR_3_angle_second = ( _ABVAR_3_angle_second + 5 ) ;
servo_pin_3.write( _ABVAR_3_angle_second );
delay( 50 );
}
delay( 1000 );
}
程序源代码及样机3D文件资料内容详见 机器鸟-摆动尾巴