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

这篇具有很好参考价值的文章主要介绍了制作一个舵机云台【内附资料下载链接】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.运动功能说明

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

arduino控制云台,机器人

2.结构说明

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

arduino控制云台,机器人

arduino控制云台,机器人 

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舵机接口上。

arduino控制云台,机器人

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.扩展样机

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

arduino控制云台,机器人文章来源地址https://www.toymoban.com/news/detail-669336.html

5.资料下载 

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

到了这里,关于制作一个舵机云台【内附资料下载链接】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包