1.运动功能说明

舵机云台下方的舵机可以提供一个左右摆动的动作,同时上方横置的关节模组可以提供一个上下摆动的动作。在这两部分的配合下,云台的执行端端(即:关节模组的U型支架)可以灵活地走出一个近似半球的运动轨迹。

2.结构说明

该样机由一个舵机加一个舵机关节模组构成。

3.运动功能实现

3.1 电子硬件

本实验中采用如下硬件:
Basra主控板(基于Arduino开源方案设计的一款开发板)、Bigfish扩展板、7.4V锂电池

【Basra主控板的相关介绍可点击查看https://www.robotway.com/h-col-135.html;Bigfish扩展板的相关介绍可点击查看https://www.robotway.com/h-col-136.html】

将两个舵机接在扩展板的D3以及D4舵机接口上。

3.2 编写程序

编程环境:Arduino 1.8.19

舵机云台的控制关键是驱动舵机舵机关节模组

云台运动的代码(点击查看:SimultaneousMovement.ino

/*------------------------------------------------------------------------------------

版权说明:Copyright 2022 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 机器谱 2022-5-31 https://www.robotway.com/

----------------------------------

实验功能:

实现云台模组的两个舵机同时运动.

-----------------------------------------------

实验接线:

云台

.-----.

| | 控制云台上下的舵机接:D3

.---------.

| | 控制云台左右转动的舵机接:D4

| |

-----------------

------------------------------------------------------------------------------------*/

#include <Servo.h> //调用舵机库函数

Servo servo_pin_3; //声明控制云台上下转动的舵机

Servo servo_pin_4; //声明控制云台左右转动的舵机

//程序初始化部分:使能舵机引脚,并设置舵机初始角度

void setup() {

servo_pin_3.attach(3); //使能3号舵机

servo_pin_4.attach(4); //使能4号舵机

servo_pin_3.write(0); //3号舵机初始转到0度

servo_pin_4.write(0); //4号舵机初始转到0度

}

void loop() {

Servo_Move( 0,95, 0,180); //D4舵机缓慢从0度转到180度,同时D3舵机缓慢从0度转到95度

Servo_Move( 95,0, 180,0); //D4舵机缓慢从180度转到0度,同时D3舵机缓慢从95度转到0度

}

/*两舵机同时转动子函数.使用方法如下所示:

servo_loop_count:表示舵机从A角度转到B角度分成了多少份.

delay(20);表示每一份需要的延时时间.

Servo_Move( 30, 45, 23, 80 );表示的意识是:D4舵机缓慢从23度转到80度,同时D3舵机缓慢从30度转到45度

Servo_Move( 45, 30, 80, 23 );表示的意识是:D4舵机缓慢从80度转到23度,同时D3舵机缓慢从45度转到30度

*/

void Servo_Move(float servo3_start_angle, float servo3_end_angle, float servo4_start_angle, float servo4_end_angle){

servo_pin_3.write( servo3_start_angle ); //设置3号舵机初始角度

servo_pin_4.write( servo4_start_angle ); //设置4号舵机初始角度

float xunhuan_count = 30.0;

float delta_servo3 = 0;

float delta_servo4 = 0;

float servo3_calculate_angle = 0;

float servo4_calculate_angle = 0;

int servo3_really_angle = 0;

int servo4_really_angle = 0;

delta_servo3 = - ( ( servo3_start_angle - servo3_end_angle ) / xunhuan_count );

delta_servo4 = - ( ( servo4_start_angle - servo4_end_angle ) / xunhuan_count );

for( float i = 0; i< xunhuan_count; i++ )

{

servo3_calculate_angle = servo3_calculate_angle + delta_servo3;

servo4_calculate_angle = servo4_calculate_angle + delta_servo4;

servo3_really_angle = int(servo3_calculate_angle);

servo4_really_angle = int(servo4_calculate_angle);

servo_pin_4.write(servo4_really_angle);

servo_pin_3.write(servo3_really_angle);

delay(20);

}

}

4.扩展样机

使用不同的舵机和支架,可以构建出不同形态的云台,如图所示:

5.资料下载

资料内容 样机3D文件、例程源代码
下载链接 https://www.robotway.com/h-col-126.html

制作一个舵机云台【内附资料下载链接】相关推荐

  1. 制作一个机器螳螂【内附资料下载链接】

    1. 运动功能说明 机器螳螂可以通过两侧仿生腿的差速运动来实现前进.后退.原地转向.大半径转向等基本行走功能.行走时在传动机构的作用下,两个前肢也会一起运动.颈部的关节模组可以驱动头部和前肢做上.下运 ...

  2. 制作一个舵机关节模组【内附资料下载链接】

    1.运动功能说明 舵机关节模组的主要运动方式为用舵机带动U型支架摆动,从而模仿生物关节运动的效果. 2.结构说明 构成本模组的零部件主要是舵机(行程0度~180度).舵机支架.舵机输出头.舵机双折弯( ...

  3. 制作一个轮式机械臂小车【内附资料下载链接】

    1. 运动功能说明 轮式机械臂小车是一款搭载了机械臂的双轮小车.它的底盘具备基本的行驶和原地转向功能,机械臂具备抬升.放下.抓取等功能.整体上可以实现抓取.搬运.码放等功能,可作为搬运机器人.排爆机器 ...

  4. 制作一个前轮转向(阿克曼)底盘【内附资料下载链接】

    1.运动功能说明 前轮转向(阿克曼)底盘可以通过后轮进行驱动,通过前轮控制方向,前轮转向结构和汽车类似,可以做到前进.后退.大半径转向等基本行驶功能,但不能实现原地转向. 2.结构说明 样机包含一个直 ...

  5. 制作一个小型三节履带底盘【内附资料下载链接】

    1.运动功能说明 双节履带车可以通过两个驱动轮的差速运动来实现前进.后退.原地转向.大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下.通过底盘运动与小臂运行的结合,实现上台阶.通过坑 ...

  6. 制作一个小型双节履带底盘【内附资料下载链接】

    1.运动功能说明 双节履带车可以通过两个驱动轮的差速运动来实现前进.后退.原地转向.大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下.通过底盘运动与小臂运行的结合,实现上台阶.通过坑 ...

  7. 制作一个月球车底盘【内附资料下载链接】

    1.运动功能说明 月球车底盘可以通过左侧3个驱动轮和右侧3个驱动轮的差速运动配合来实现前进.后退.原地转向.大半径转向等基本行驶功能.由于摇臂的作用,机构的抓地力更强,因此具有极强的牵引能力和爬坡能力 ...

  8. 制作一个四轮四驱底盘【内附资料下载链接】

    1.运动功能说明 底盘可以通过左侧2个驱动轮和右侧2个驱动轮的差速运动配合来实现前进.后退.原地转向.大半径转向等基本行驶功能. 前进与后退 原地转向 大半径转向 2.结构说明 样机由四个小型驱动轮模 ...

  9. 制作一个偏心轮连杆简易六足【内附资料下载链接】

    1. 运动功能说明 简易六足机器人可以通过两侧仿生腿的差速运动来实现前进.后退.原地转向.大半径转向等基本行走功能. 2.结构说明 该样机由两组仿生腿构成,仿生腿由直流电机驱动,包含1个偏心轮滑块机构 ...

最新文章

  1. 伍六七带你学算法 入门篇-链表的中间节点
  2. 数学与编程:“概率论”总结
  3. AC自动机-洛谷3121 [USACO15FEB]审查(黄金)Censoring (Gold)
  4. Queue接口中add()与offer(),remove()与poll(),element()与peek()方法区别
  5. C#开发的高性能EXCEL导入、导出工具DataPie(支持MSSQL、ORACLE、ACCESS,附源码下载地址)...
  6. php中数组生成下拉选项,php数组生成html下拉列表的方法
  7. Vant 1.0 发布:轻量、可靠的移动端 Vue 组件库
  8. idea插件Iedis 2安装与使用
  9. 网易有数的“正确”使用方式——洞察数据中隐藏的故事
  10. XOR 异或加密简介
  11. 毕业三年,同学基本都辞职了,大部分人看完很有同感~
  12. 每天花30分钟看OGRE--(13)Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析...
  13. 不能创建对象qmdispatch_win7系统打开某些软件提示“Activex部件不能创建对象”的解决方法...
  14. Java之常用类File、IO流的中的字节流、字符流以及缓冲流的学习
  15. 能提升自己能力的几个经典项目
  16. 养成备份的习惯的重要性
  17. 【图像去模糊】SDWNet: A Straight Dilated Network with Wavelet Transformation for image Deblurring
  18. V4L2文档翻译(十一)
  19. a += a-= a*a
  20. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历

热门文章

  1. 是时候 Get 新技能了:使用 Java 爬取网页信息
  2. Linux-nohup和的作用
  3. R优雅的绘制(进阶版树状图)
  4. 吴恩达机器学习,监督学习线性回归与梯度下降(MATLAB实现)
  5. 透过 Delphi 使用二进位金钥做 AES 加密.
  6. 华为搜索引擎面世:用不了谷歌,试试“花瓣搜索”?
  7. Android 刘海屏适配方案---NotchTools,适配国内四大厂商(华为、小米、oppo、vivo)刘海屏手机,根据自己业务需求,提供多种接入方式适配刘海屏
  8. 没有树莓派,零花销也能畅玩网络机器人
  9. 公众号800篇文章数据统计
  10. SpringBoot项目集成xxljob全纪录(图文详解)