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

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

1. 运动功能说明

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

2. 结构说明

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



3. 电子硬件

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


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

      4.运动功能实现
            编程环境:Arduino 1.8.19
            下面提供一个机器鱼胸鳍上下摆动的参考例程(fishQi.ino),实验效果可参考演示视频。
  1. /*------------------------------------------------------------------------------------
  2. 版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
  3. Distributed under MIT license.See file LICENSE for detail or copy at
  4. https://opensource.org/licenses/MIT
  5. by 机器谱 2023-05-23 https://www.robotway.com/
  6. ------------------------------*/
  7. #include <Servo.h>
  8. int _ABVAR_1_angle_current2 = 0 ;
  9. int _ABVAR_2_num = 0 ;
  10. Servo servo_pin_4;
  11. int _ABVAR_3_angle_current1 = 0 ;
  12. void up_down();
  13. void down_up();
  14. void setup()
  15. {
  16. servo_pin_4.attach(4);
  17. }
  18. void loop()
  19. {
  20. down_up();
  21. up_down();
  22. }
  23. void down_up()
  24. {
  25. _ABVAR_1_angle_current2 = 30 ;
  26. for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 16 ); _ABVAR_2_num++ )
  27. {
  28. _ABVAR_1_angle_current2 = ( _ABVAR_1_angle_current2 + 5 ) ;
  29. servo_pin_4.write( _ABVAR_1_angle_current2 );
  30. delay( 50 );
  31. }
  32. }
  33. void up_down()
  34. {
  35. _ABVAR_3_angle_current1 = 110 ;
  36. for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 16 ); _ABVAR_2_num++ )
  37. {
  38. _ABVAR_3_angle_current1 = ( _ABVAR_3_angle_current1 - 5 ) ;
  39. servo_pin_4.write( _ABVAR_3_angle_current1 );
  40. delay( 50 );
  41. }
  42. }

     下面再给大家提供一个机器鱼鱼尾摆动的参考例程(fishTail.ino),大家可以尝试改写一下舵机摆动角度参数,让机器鱼尾能够灵活的摆动。
  1. /*------------------------------------------------------------------------------------
  2. 版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
  3. Distributed under MIT license.See file LICENSE for detail or copy at
  4. https://opensource.org/licenses/MIT
  5. by 机器谱 2023-05-23 https://www.robotway.com/
  6. ------------------------------*/
  7. #include <Servo.h>
  8. int _ABVAR_1_angle_right = 0 ;
  9. int _ABVAR_2_num = 0 ;
  10. Servo servo_pin_4;
  11. int _ABVAR_3_angle_left = 0 ;
  12. void Right_Left();
  13. void left_Right();
  14. void setup()
  15. {
  16. servo_pin_4.attach(4);
  17. }
  18. void loop()
  19. {
  20. left_Right();
  21. Right_Left();
  22. }
  23. void Right_Left()
  24. {
  25. _ABVAR_1_angle_right = 70 ;
  26. for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 8 ); _ABVAR_2_num++ )
  27. {
  28. _ABVAR_1_angle_right = ( _ABVAR_1_angle_right + 5 ) ;
  29. servo_pin_4.write( _ABVAR_1_angle_right );
  30. delay( 100 );
  31. }
  32. }
  33. void left_Right()
  34. {
  35. _ABVAR_3_angle_left = 110 ;
  36. for (_ABVAR_2_num= 1; _ABVAR_2_num<= ( 8 ); _ABVAR_2_num++ )
  37. {
  38. _ABVAR_3_angle_left = ( _ABVAR_3_angle_left - 5 ) ;
  39. servo_pin_4.write( _ABVAR_3_angle_left );
  40. delay( 100 );
  41. }
  42. }
      程序源代码及样机3D文件详见:机器鱼-概述 https://www.robotway.com/h-col-236.html

 

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

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

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

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条