1. 运动功能说明
本文示例将实现R330样机机器鱼胸鳍能够灵活的上下摆动的功能。
2. 结构说明
本样机采用舵机模块来进行仿生机器鱼结构的设计。
胸鳍 整机
在这个示例中,我们采用了以下硬件,请大家参考:
主控板 | Basra主控板(兼容Arduino Uno) |
扩展板 | Bigfish2.1扩展板 |
电池 | 7.4V锂电池 |
电路连接:将舵机连接在Bigfish扩展板的D4端口。
4. 运动功能实现
编程环境:Arduino 1.8.19
下面提供一个机器鱼胸鳍上下摆动的参考例程(fishQi.ino),例程源代码详见(https://www.robotway.com/h-col-236.html),实验效果可参考网站演示视频。
/*------------------------------------------------------------------------------------ 版权说明: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 ); } }
审核编辑黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
机器鱼
+关注
关注
0文章
11浏览量
3159
发布评论请先 登录
相关推荐
富唯智能案例|3D视觉引导机器人抓取鞋垫上下料
随着制造业对自动化、智能化需求的不断提升,如何实现鞋垫上下料的精准、高效操作成为了企业亟待解决的问题。传统的上下料方式往往依赖人工,存在效率低下、精度不足等问题。而富唯智能的3D视觉引导机器
机器人上下料为汽车制造车间实现高效自动化
在汽车制造领域,上下料环节一直是生产线上的重要环节,也是提高生产效率和质量的关键所在。传统的上下料方式往往依赖于人工操作,不仅效率低下,还存在安全风险。然而,随着富唯智能复合机器人的引入,许多汽车零部件制造企业成功
PLC远程上下载功能实现的基本原理
PLC远程上下载功能实现的基本原理 首先,需要一个支持PLC远程上下载的物联网网关,该网关通常具有网口、RS485、232等接口,以连接PLC和其他物联网设备。远程
PLC远程上下载物联网网关的功能
PLC远程上下载物联网网关的功能 设备远程监控:通过物联网网关,可以实时监控PLC设备的运行状态,获取设备的各种参数信息,以便及时发现和解决设备故障。 数据采集与传输:蓝蜂物联网PLC远程网关可以
labview上下限设置能用什么方法实现
在LabVIEW中,你可以使用以下几种方法来设置上下限: 使用图形编程:LabVIEW是一款图形化编程语言,你可以直接拖拽和连接不同的功能块来构建程序。对于上下限的设置,你可以使用控件库中的数值范围
机器人摆动相轨迹设计
1、摆动相轨迹设计 基于第二节中提到的原则,文献[1]中提出了一种基于复合摆线形式的轨迹规划方法,并在文献[2]中得到了验证和使用。 针对机器人足底与地面接触时会产生滑动和行走过程中拖地问题,文献
为什么要测试芯片上下电功能?芯片上电和下电功能测试的重要性
为什么要测试芯片上下电功能?芯片上电和下电功能测试的重要性 芯片上下电功能测试是集成电路设计和制造过程中的一个重要环节。它是确保芯片在正常
评论