热度 6
2023-7-9 13:19
478 次阅读|
0 个评论
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 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 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