【雕爷学编程】Arduino动手做(173)---SG90舵机双轴云台模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人

云台参数说明:

该模块包含两个SG90 9g舵机+1个FPV尼龙云台

上下转动180度,左右转动180度

总高度:7.2cm

模块自重:约35g

底座长宽:37mm 33mm

架台(载物台)长宽:28mm 28mm

安装孔径尺寸:32mm*27mm

舵机线长度:19-24cm

工作电压:4.8-6V

工作温度:0℃-55℃

引脚定义:橙线信号,红线正极,棕线负极

舵机参数说明:

产品扭矩:2.0kg/cm(4.8V),2.2kg/cm(6V)

产品速度:0.09s/60°(4.8V),0.08s/60°(6V)

齿轮形式:塑料齿轮

死区设定:7微秒

舵机参考资料:

【雕爷学编程】Arduino动手做(83)---模拟SG90舵机模块

https://blog.csdn.net/weixin_41659040/article/details/116923671

【雕爷学编程】Arduino动手做(83)---模拟SG90舵机模块2

https://blog.csdn.net/weixin_41659040/article/details/131758166

1、将舵机十字舵盘安装到底座上

2、把上下舵机装到上下机构上面

3、将舵机安装到水平旋转机构之上

4、组合上下与水平机构,固定好单臂舵盘

5、水平舵机连接到底座上,固定好十字舵盘

6、用四颗小螺丝将云台固定到实验底板上面

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人

项目:测试驱动二轴云台

cpp 复制代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人
项目:测试驱动二轴云台
*/

// 加载 舵机 库
#include <Servo.h>

Servo servo_1;  // 创建一个名为 servo_1 的 舵机实例 (名称可随你喜欢命名)
Servo servo_2;

void setup() {
  servo_1.attach(9);  // 配置myservo实例的引脚为9
  servo_2.attach(10);
}

void loop() {
  // 控制所有舵机 从 0度 到 179度 转动
  for (int i = 0; i < 180; i++) {
    servo_1.write(i);
    servo_2.write(i);
    delay(10);
  }
  delay(500);

  // 控制所有舵机 从 180度 到 1度 转动
  for (int i = 180; i > 0; i--) {
    servo_1.write(i);
    servo_2.write(i);
    delay(10);
  }
  delay(500);

  // 控制所有舵机转动至 90度 的位置
  servo_1.write(90);
  servo_2.write(90);
  delay(500);

  // 控制所有舵机转动至 180度 的位置
  servo_1.write(180);
  servo_2.write(180);
  delay(500);

  // 控制所有舵机转动至 90度 的位置
  servo_1.write(90);
  servo_2.write(90);
  delay(500);

  // 分别控制部分舵机转动至 0度 或 90度 的位置
  servo_1.write(0);
  servo_2.write(180);
  delay(500);

  // 同时分别控制 0度 位置的舵机,转向 179度 的位置
  // 同时分别控制 180度 位置的舵机,转向 1度 的位置
  for (int i = 0; i < 180; i++) {
    servo_1.write(0 + i);
    servo_2.write(180 - i);
    delay(10);
  }
  delay(500);

  // 同时分别控制 180度 位置的舵机,转向 1度 的位置
  // 同时分别控制 0度 位置的舵机,转向 179度 的位置
  for (int i = 0; i < 180; i++) {
    servo_1.write(180 - i);
    servo_2.write(0 + i);
    delay(10);
  }
  delay(500);
}

Arduino实验场景图


相关推荐
爱学习的小邓同学21 分钟前
c++ --- priority_queue的使用以及简单实现
c++
文火冰糖的硅基工坊43 分钟前
[硬件电路-123]:模拟电路 - 信号处理电路 - 常见的高速运放芯片、典型电路、电路实施注意事项
嵌入式硬件·架构·信号处理·电路·跨学科融合
终端域名2 小时前
虚实共生:元宇宙与物联网的融合实践与未来图景
物联网·元宇宙
ROS机器人学习与交流2 小时前
Jetson Orin NX/NANO+ubuntu22.04+humble+MAVROS2安装教程
机器人
清朝牢弟2 小时前
Ubuntu系统VScode实现opencv(c++)视频的处理与保存
c++·人工智能·vscode·opencv·ubuntu
oioihoii2 小时前
在macOS上使用VS Code和Clang配置C++开发环境
c++·macos·策略模式
科大饭桶3 小时前
C++入门自学Day5-- C/C++内存管理(续)
c语言·开发语言·c++
月阳羊3 小时前
【硬件-笔试面试题】硬件/电子工程师,笔试面试题-54,(知识点:硬件设计流程)
经验分享·笔记·嵌入式硬件·面试·职场和发展
lzb_kkk3 小时前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家