原创 机器人制作方案 | 机器鱼

2023-7-9 13:19 506 6 6 分类: 机器人/ AI

1. 运动功能说明

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

2. 结构说明

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



3. 电子硬件

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


     电路连接:将舵机连接在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文件详见:机器鱼-概述 https://www.robotway.com/h-col-236.html

     

    作者: 机器谱, 来源:面包板社区

    链接: https://mbb.eet-china.com/blog/uid-me-4052389.html

    版权声明:本文为博主原创,未经本人允许,禁止转载!

    PARTNER CONTENT

    文章评论0条评论)

    登录后参与讨论
    EE直播间
    更多
    我要评论
    0
    6
    关闭 站长推荐上一条 /3 下一条