机器谱 发表于 2023-6-16 09:34:47

机器鸟实现摆动尾巴功能

本帖最后由 机器谱 于 2023-6-16 09:34 编辑

1. 功能说明
       本文示例将实现R329样机机器鸟摆动尾巴的功能。

https://28846868.s21i.faiusr.com/3/ABUIABADGAAgqYf2owYouMXX-wYwsAQ4uwI.gif.webp
2. 电子硬件
       在这个示例中,我们采用了以下硬件,请大家参考:


主控板Basra主控板(兼容Arduino Uno)‍

扩展板Bigfish2.1扩展板‍

电池7.4V锂电池

       电路连接:将两个舵机分别连接在Bigfish扩展板的D4、D3端口。

https://28846868.s21i.faiusr.com/2/ABUIABACGAAgp4j2owYo_J7adDCAJDiAGw!600x600.jpg.webp
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 );

}
4. 资料下载
资料内容:摆动尾巴-程序源代码
资料下载地址:机器鸟-摆动尾巴 https://www.robotway.com/h-col-231.html

想了解更多机器人开源项目资料请关注 机器谱网站 https://www.robotway.com
页: [1]
查看完整版本: 机器鸟实现摆动尾巴功能