机器谱 发表于 2023-6-15 09:45:55

机器鱼的制作分享

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

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

https://28846868.s21i.faiusr.com/3/ABUIABADGAAgscjVowYoh4TDcTCwBDi7Ag.gif.webp
2. 结构说明
       本样机采用舵机模块来进行仿生机器鱼结构的设计。

https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg-8jVowYo__O84gYwhQY4gQQ!400x400.png.webp胸鳍
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgusDVowYowKqE5wQw3iI4miA!400x400.png.webp整机
3. 电子硬件
       在这个示例中,我们采用了以下硬件,请大家参考:


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

扩展板Bigfish2.1扩展板‍

电池7.4V锂电池

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

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

}

}
5. 资料下载
资料内容:
①程序源代码
②样机3D文件
资料下载地址:机器鱼-概述 https://www.robotway.com/h-col-236.html

想了解更多机器人开源项目资料请关注 机器谱网站 https://www.robotway.com
页: [1]
查看完整版本: 机器鱼的制作分享