制作一个舵机云台【内附资料下载链接】
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.运动功能说明 舵机关节模组的主要运动方式为用舵机带动U型支架摆动,从而模仿生物关节运动的效果. 2.结构说明 构成本模组的零部件主要是舵机(行程0度~180度).舵机支架.舵机输出头.舵机双折弯( ...
- 制作一个轮式机械臂小车【内附资料下载链接】
1. 运动功能说明 轮式机械臂小车是一款搭载了机械臂的双轮小车.它的底盘具备基本的行驶和原地转向功能,机械臂具备抬升.放下.抓取等功能.整体上可以实现抓取.搬运.码放等功能,可作为搬运机器人.排爆机器 ...
- 制作一个前轮转向(阿克曼)底盘【内附资料下载链接】
1.运动功能说明 前轮转向(阿克曼)底盘可以通过后轮进行驱动,通过前轮控制方向,前轮转向结构和汽车类似,可以做到前进.后退.大半径转向等基本行驶功能,但不能实现原地转向. 2.结构说明 样机包含一个直 ...
- 制作一个小型三节履带底盘【内附资料下载链接】
1.运动功能说明 双节履带车可以通过两个驱动轮的差速运动来实现前进.后退.原地转向.大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下.通过底盘运动与小臂运行的结合,实现上台阶.通过坑 ...
- 制作一个小型双节履带底盘【内附资料下载链接】
1.运动功能说明 双节履带车可以通过两个驱动轮的差速运动来实现前进.后退.原地转向.大半径转向等基本行驶功能,并可通过舵机关节模块进行小臂的抬起和落下.通过底盘运动与小臂运行的结合,实现上台阶.通过坑 ...
- 制作一个月球车底盘【内附资料下载链接】
1.运动功能说明 月球车底盘可以通过左侧3个驱动轮和右侧3个驱动轮的差速运动配合来实现前进.后退.原地转向.大半径转向等基本行驶功能.由于摇臂的作用,机构的抓地力更强,因此具有极强的牵引能力和爬坡能力 ...
- 制作一个四轮四驱底盘【内附资料下载链接】
1.运动功能说明 底盘可以通过左侧2个驱动轮和右侧2个驱动轮的差速运动配合来实现前进.后退.原地转向.大半径转向等基本行驶功能. 前进与后退 原地转向 大半径转向 2.结构说明 样机由四个小型驱动轮模 ...
- 制作一个偏心轮连杆简易六足【内附资料下载链接】
1. 运动功能说明 简易六足机器人可以通过两侧仿生腿的差速运动来实现前进.后退.原地转向.大半径转向等基本行走功能. 2.结构说明 该样机由两组仿生腿构成,仿生腿由直流电机驱动,包含1个偏心轮滑块机构 ...
最新文章
- 伍六七带你学算法 入门篇-链表的中间节点
- 数学与编程:“概率论”总结
- AC自动机-洛谷3121 [USACO15FEB]审查(黄金)Censoring (Gold)
- Queue接口中add()与offer(),remove()与poll(),element()与peek()方法区别
- C#开发的高性能EXCEL导入、导出工具DataPie(支持MSSQL、ORACLE、ACCESS,附源码下载地址)...
- php中数组生成下拉选项,php数组生成html下拉列表的方法
- Vant 1.0 发布:轻量、可靠的移动端 Vue 组件库
- idea插件Iedis 2安装与使用
- 网易有数的“正确”使用方式——洞察数据中隐藏的故事
- XOR 异或加密简介
- 毕业三年,同学基本都辞职了,大部分人看完很有同感~
- 每天花30分钟看OGRE--(13)Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析...
- 不能创建对象qmdispatch_win7系统打开某些软件提示“Activex部件不能创建对象”的解决方法...
- Java之常用类File、IO流的中的字节流、字符流以及缓冲流的学习
- 能提升自己能力的几个经典项目
- 养成备份的习惯的重要性
- 【图像去模糊】SDWNet: A Straight Dilated Network with Wavelet Transformation for image Deblurring
- V4L2文档翻译(十一)
- a += a-= a*a
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
热门文章
- 是时候 Get 新技能了:使用 Java 爬取网页信息
- Linux-nohup和的作用
- R优雅的绘制(进阶版树状图)
- 吴恩达机器学习,监督学习线性回归与梯度下降(MATLAB实现)
- 透过 Delphi 使用二进位金钥做 AES 加密.
- 华为搜索引擎面世:用不了谷歌,试试“花瓣搜索”?
- Android 刘海屏适配方案---NotchTools,适配国内四大厂商(华为、小米、oppo、vivo)刘海屏手机,根据自己业务需求,提供多种接入方式适配刘海屏
- 没有树莓派,零花销也能畅玩网络机器人
- 公众号800篇文章数据统计
- SpringBoot项目集成xxljob全纪录(图文详解)