首页 > 其他分享 >机器鱼的制作分享

机器鱼的制作分享

时间:2023-06-12 13:23:51浏览次数:53  
标签:机器 int void ABVAR num angle 分享 制作

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 );

  }

}

5. 资料下载

资料内容:
①程序源代码
②样机3D文件
资料下载地址:机器鱼-概述

想了解更多机器人开源项目资料请关注 机器谱网站

标签:机器,int,void,ABVAR,num,angle,分享,制作
From: https://www.cnblogs.com/robotway/p/17469016.html

相关文章

  • Java XML教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介XML是一种简单的基于文本的语言,旨在以纯文本格式存储和传输数据。它代表可扩展标记语言。JavaXML入门教程-从基本到高级概念的简单步骤了解JavaXML,其中包括概述,JavaXML解析器,DOM解析器,解析XML文档,查询XML文档,创建XML文档,修改XML文档,SAX解析器,JDOMXMLParser,StAXP......
  • 机器学习模型训练全流程
    周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。同时,作者也对几张图进行了详细的讲解,学习之后,收获很多,于是将其翻译下来,和大家一起学习。地址:https://github.com/dataprofessor/infographic 全文如下......
  • 报表制作很复杂?用了这款报表制作工具轻松完成报表制作
    在企业管理中,报表是非常重要的一环。然而,很多人对于报表制作却感到十分困难和繁琐。事实上,报表制作并不需要太高深的技能,只要掌握了一些基本的操作技巧和使用工具,就可以轻松地完成报表制作。而VeryReport报表制作工具则是一款非常适合初学者使用的报表制作软件。编辑搜图请点击输入......
  • Excel制作三级下拉菜单
    Excel中的数据有效性(数据验证)大家并不陌生,今天我们就来说说Excel中利用数据验证和名称管理器制作多级下拉菜单!一级下拉菜单一级下拉菜单比较简单,直接利用数据验证功能即可实现,如下图中,在A列实现下拉展示大区,选中A列单元格,依次选择【数据】—【数据验证】—验证条件选择"序列"—来源......
  • qperf 监测机器之间的网络延迟
    ###################### yum-yinstallqperf#关闭网络防火墙qperf-t10--use_bits_per_sec10.10.10.10tcp_lat  安装javajdk#解包tar-xfjdk-8u111-linux-x64.tar.gz-C/usr/local/#设环境变量vim/etc/profileexportJAVA_HOME=/usr/local/jd......
  • 基于自己知识库的机器人试用
    使用了过一段chatGPT后,遇到一个问题,对于通用领域的问题,它能给出很好的解答,但是对于专业领域或者自己公司业务领域的问题,很难获得令人满意的回答。目前对于这类问题的比较好的做法使用本地知识库+chatGPT的方式让其能够回答指定范围内的问题,作为一个知识库的机器人来使用。chatba......
  • 2.5再探宝可梦、数码宝贝分类器 — 浅谈机器学习原理
    1.引入问题  在之前的课程中,我们对"参数过多就会导致过拟合"这个概念处于提出但没有证明的状态,现在来以宝可梦和数码宝贝的分类例子来说明这个问题.2.分类器定义  我们观察宝可梦和数码宝贝的图片可以发现,宝可梦的图片线条比较少,而数码宝贝的线条比较多.或许可以以边......
  • 【代码片段分享】比 url.QueryEscape 快 7.33 倍的 FastQueryEscape
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯做profile发现url.QueryEscape占用的CPU时间较多,于是搜索到了一个资料:net/url:optimizeunescapeandescape.于是在这个代码的基础上改了FastQueryString的版......
  • 一份55页Java性能调优PPT分享
    提起“肖桦”这个人,相信很多小伙伴对他比较陌生。除去现任唯品会资深技术专家头衔外,他更为技术圈所熟知的是他的著名开源项目:SpringSide。SpringSide是以springFramework为核心的,Pragmatic风格的JavaEE应用参考示例,是JavaEE世界中主流技术选型,最佳实践的总结与演示。到目前为......
  • 【视频】随机波动率SV模型原理和Python对标普SP500股票指数预测|数据分享|附代码数据
    全文链接:http://tecdat.cn/?p=22546最近我们被客户要求撰写关于随机波动率SV模型的研究报告,包括一些图形和统计输出。什么是随机波动率?随机波动率(SV)是指资产价格的波动率是变化的而不是恒定的“随机”一词意味着某些变量是随机确定的,无法精确预测。在金融建模的背景下,随......