机器鱼的制作分享

本文介绍了如何使用舵机和Arduino控制R330样机的机器鱼胸鳍和鱼尾进行上下、左右摆动。通过Basra主控板、Bigfish2.1扩展板以及7.4V锂电池供电,连接舵机并编写fishQi.ino和fishTail.ino两个程序,实现了灵活的运动功能。
摘要由CSDN通过智能技术生成

1. 运动功能说明

      本文示例将实现R330样机机器鱼胸鳍能够灵活的上下摆动的功能。

2. 结构说明

      本样机采用舵机模块来进行仿生机器鱼结构的设计。

胸鳍
整机

 3. 电子硬件

      在这个示例中,我们采用了以下硬件,请大家参考:

主控板

Basra主控板(兼容Arduino Uno)

扩展板

Bigfish2.1扩展板

电池7.4V锂电池

      电路连接:将舵机连接在Bigfish扩展板的D4端口。

4. 运动功能实现

      编程环境:Arduino 1.8.19

下面提供一个机器鱼胸鳍上下摆动的参考例程(fishQi.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-23 https://www.robotway.com/

  ------------------------------*/

#include <Servo.h>


int _ABVAR_1_angle_current2 = 0 ;

int _ABVAR_2_num = 0 ;

Servo servo_pin_4;

int _ABVAR_3_angle_current1 = 0 ;


void up_down();

void down_up();


void setup()

{

  servo_pin_4.attach(4);

}


void loop()

{

  down_up();

  up_down();

}


void down_up()

{

  _ABVAR_1_angle_current2 = 30 ;

  for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 16 ); _ABVAR_2_num++ )

  {

    _ABVAR_1_angle_current2 = ( _ABVAR_1_angle_current2 + 5 ) ;

    servo_pin_4.write( _ABVAR_1_angle_current2 );

    delay( 50 );

  }

}


void up_down()

{

  _ABVAR_3_angle_current1 = 110 ;

  for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 16 ); _ABVAR_2_num++ )

  {

    _ABVAR_3_angle_current1 = ( _ABVAR_3_angle_current1 - 5 ) ;

    servo_pin_4.write( _ABVAR_3_angle_current1 );

    delay( 50 );

  }

}

       下面再给大家提供一个机器鱼鱼尾摆动的参考例程(fishTail.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-23 https://www.robotway.com/

  ------------------------------*/

#include <Servo.h>


int _ABVAR_1_angle_right = 0 ;

int _ABVAR_2_num = 0 ;

Servo servo_pin_4;

int _ABVAR_3_angle_left = 0 ;


void Right_Left();

void left_Right();


void setup()

{

  servo_pin_4.attach(4);

}


void loop()

{

  left_Right();

  Right_Left();

}


void Right_Left()

{

  _ABVAR_1_angle_right = 70 ;

  for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 8 ); _ABVAR_2_num++ )

  {

    _ABVAR_1_angle_right = ( _ABVAR_1_angle_right + 5 ) ;

    servo_pin_4.write( _ABVAR_1_angle_right );

    delay( 100 );

  }

}


void left_Right()

{

  _ABVAR_3_angle_left = 110 ;

  for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 8 ); _ABVAR_2_num++ )

  {

    _ABVAR_3_angle_left = ( _ABVAR_3_angle_left - 5 ) ;

    servo_pin_4.write( _ABVAR_3_angle_left );

    delay( 100 );

  }

}

程序源代码及样机3D文件资料内容详见 机器鱼-概述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值