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

news2024/11/13 8:46:56

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

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

在这里插入图片描述
云台参数说明:
该模块包含两个SG90 9g舵机+1个FPV尼龙云台
上下转动180度,左右转动180度
总高度:7.2cm
模块自重:约35g
底座长宽:37mm33mm
架台(载物台)长宽:28mm28mm
安装孔径尺寸: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

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人
实验开源图形编程(Mind+、编玩边学)
在这里插入图片描述

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人
项目:通过串口驱动二轴云台
说明:当你在串口监视器上输入‘u’时,云台将向上转动5°。输入‘d’,‘r’,‘l’同理。
Arduino实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人
项目:在串口下通过输入不同的指令代码来调整上下舵机的角度
说明:当你在串口监视器上输入‘u’时,云台将向上转动60°。输入‘d’,‘r’,‘l’同理。
*/

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

Servo up, down;
int a = 60, b = 30;  //上下舵机初始角度


void setup()  //初始化
{
  up.attach(10, 1000, 2000);   //上面的舵机附加到引脚10
  down.attach(9, 1000, 2000);  //下面的舵机附加到引脚9
  up.write(a);                 //上面的舵机初始角度为60°
  down.write(b);               //下面的舵机初始角度为30°
  Serial.begin(9600);
}

void loop() {
  while (Serial.available() > 0)  //当Serial.available()>0时,说明串口接收到了数据,可以读取。
  {
    char flag = Serial.read();
    delay(2);
    if (flag == 'u')  //当串口输入‘u’时,上舵机向上转动60°
      a = a + 60;
    if (flag == 'd')  //当串口输入‘d’时,上舵机向下转动60°
      a = a - 60;
    if (flag == 'l')  //当串口输入‘l’时,下舵机向左转动60°
      b = b + 60;
    if (flag == 'r')  //当串口输入‘r’时,下舵机向右转动60°
      b = b - 60;
  }
  up.write(a);
  down.write(b);
}

Arduino实验场景,串口输入“d”
在这里插入图片描述

Arduino实验场景图
在这里插入图片描述

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人
项目:利用servo库和一个摇杆控制两个小舵机的云台
Arduino实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十三:SG90二自由度舵机云台塑料支架MG双轴机械手臂航模监控智能机器人
项目:利用servo库和一个摇杆控制两个小舵机的云台
*/

// 加载舵机库
#include <Servo.h>
Servo a;
Servo b;
int i, p, j, k;

void setup() {
  a.attach(9);   //指定舵机a的OUT引脚为9号引脚
  b.attach(10);  //指定舵机b的OUT引脚为10号引脚
  Serial.begin(9600);
}

void loop() {
  i = analogRead(A0);  //获取A0引脚的输入值,即PS2摇杆X轴的数值
  j = analogRead(A1);  //获取A1引脚的输入值,即PS2摇杆Y轴的数值
  Serial.print("映射前x轴:");
  Serial.print(i);
  Serial.print(" ");
  Serial.print("映射前y轴:");
  Serial.print(j);
  Serial.print(" ");
  p = map(i, 0, 1023, 0, 180);  //将0到1023的值映射成0到180
  k = map(j, 0, 1023, 0, 180);
  Serial.print("映射后x轴:");
  Serial.print(p);
  Serial.print(" ");
  Serial.print("映射后y轴:");
  Serial.println(k);
  a.write(p);  //设置舵机a角度为p
  b.write(k);  //设置舵机b角度为k
}

在这里插入图片描述
在这里插入图片描述

Arduino实验场景图

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/822077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库事务--springboot事务处理

二、简单事务使用 模拟一 1、数据库 db.sql drop database if exists supermarket; create database supermarket; use supermarket; drop table if exists order_item; CREATE TABLE order_item (item_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 订单ID,order_no …

Linux 用户和权限

一、root 用户 root 用户(超级管理员) 无论是windows、Macos、Linux均采用多用户的管理模式进行权限管理。在Linux系统中&#xff0c;拥有最大权限的账户名为&#xff1a;root (超级管理员)。 root用户拥有最大的系统操作权限&#xff0c;而普通用户在许多地方的权限是受限的。…

一文教你吃透Git工具

目录 Git简介 git的安装和配置 新建仓库 工作区域和文件状态 git reset回退版本 使用git diff比较差异 Git简介 git是一个免费开源的分布式版本控制系统&#xff0c;它使用一个特殊的叫做仓库的数据库来记录文件的变化&#xff0c;仓库中的每个文件都有一个完整的版本历史…

windows10 wifi情况下修改静态IP

1.鼠标右击网络选择属性 2.选择更改适配器设置 3.在WLAN&#xff0c;右击选择属性 4. 双击Internet 协议版本4(TCP/IPv4) 5. 启用“使用下面的IP地址” 6.输入目标IP地址&#xff0c;子网掩码&#xff0c;默认网关 我以192.167.1.2为例&#xff1a; 7.cmd中ipconfig查询验证…

【驱动开发day8作业】

作业1&#xff1a; 应用层代码 #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <sys/ioctl.h>int main(int…

P3855 [TJOI2008] Binary Land

[TJOI2008] Binary Land 题目背景 Binary Land是一款任天堂红白机上的经典游戏&#xff0c;讲述的是两只相爱的企鹅Gurin和Malon的故事。两只企鹅在一个封闭的迷宫中&#xff0c;你可以控制他们向上下左右四个方向移动。但是他们的移动有一个奇怪的规则&#xff0c;即如果你按…

【技术讨论】RF环境搭建手册

简要整理下环境搭建的步骤&#xff0c;以便快速、准确的搭建测试环境。 一、环境搭建 一、Python 2.7 1、 不要用Python3.6&#xff0c;很多库3.6中还没有&#xff0c;wxPython官方只支持Python 2。 2、 环境变量配置后需要重启才能生效。 3、 环境变量添加C:\Python27\Sc…

k8s概念-deployment

deployment用于部署无状态应用 Deployment集成了上线部署、滚动升级、创建副本、回滚等功能 Deployment里包含并使用了ReplicaSet Replicaset 通过改变Pod副本数量实现Pod的扩容和缩容 参考文档 https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/ …

go Channel

channel 单纯地将函数并发执行是没有意义的。函数与函数之间需要交换数据才能体现出并发执行函数的意义。 虽然可以使用共享内存进行数据交换&#xff0c;但是共享内存在不同的goroutine中很容易发生竞态问题。为了保证数据交换的准确性&#xff0c;必须使用互斥量对内存进行…

ptyhon——案例五:设定:list=[0,1,2,3,4,5] 列表,翻转列表

案例五&#xff1a;设定&#xff1a;list[0,1,2,3,4,5] 列表&#xff0c;翻转列表def Reverse(lst):return [ele for ele in reversed(lst)] #翻转列表 lst[0,1,2,3,4,5] print(Reverse(lst))

insert into select用法

文章目录 一、insert into select二、insert into select插入失败 本篇文章主要讲解insert into select 的用法&#xff0c;以及insert into select的坑或者注意事项。本篇文章中的sql基于mysql8.0进行讲解 一、insert into select 该语法常用于从另一张表查询数据插入到某表中…

hcip——BGP实验

要求 1.搭建toop 2.地址规划 路由器AS接口地址R11 loop0:1.1.1.1 24 loop1 : 192.168.1.1 24 g0/0/0 12.0.0.1 24 R22 64512 g0/0/0: 12.0.0.2 24 g/0/01: 172.16.0.2 19 g0/0/2: 172.16.96.2 19 R32 64512g0/0/0: 172.16.0.3 19 g0/0/1:1…

【LeetCode】88. 合并两个有序数组

这道题我总共想了三种解法。 1.将nums2中的元素依次放入nums1有效元素的后面&#xff0c;再总体进行排序。 import java.util.*; class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int j 0;for(int i m;i<mn;i){nums1[i] nums2[j];j;}Arrays…

【PostgreSQL】系列之 一 CentOS 7安装PGSQL15版本(一)

目录 一、何为PostgreSQL&#xff1f; 二、PostgreSQL安装 2.1安装依赖 2.2 执行安装 2.3 数据库初始化 2.4 配置环境变量 2.5 创建数据库 2.6 配置远程 2.7 测试远程 三、常用命令 四、用户创建和数据库权限 一、何为PostgreSQL&#xff1f; PostgreSQL是以加州大学…

2023.08.01 驱动开发day8

驱动层 #include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_irq.h> #include <linux/interrupt.h> #include <linux/fs.h> #include <linux/gpio.h> #include <linux/of_gpio.h>#…

【从零开始学习JAVA | 三十四篇】IO流

目录 前言&#xff1a; IO流介绍&#xff1a; IO流的常见方法&#xff1a; 1.字节流类&#xff1a; 2.字符流类&#xff1a; 总结&#xff1a; 前言&#xff1a; IO流就是存入和读取数据的解决方案&#xff0c;并且他是一个知识点很多的章节&#xff0c;因此我们关于IO流…

mysql--InnoDB存储引擎--逻辑结构、内存架构、磁盘架构

MySQL进阶篇 文章目录 1、逻辑结构2、架构2、1 内存架构2、2 磁盘架构 1、逻辑结构 InnoDB 逻辑存储单元主要分为&#xff1a;表空间、段、区、页。层级关系如下图&#xff1a; 2、架构 2、1 内存架构 内存架构由四个部分组成&#xff0c;缓存池&#xff08;Buffer Pool&…

Autosar通信入门系列05-聊聊一帧Can/CanFD报文发送时间?

本文框架 1. 概述2. 一帧CAN报文发送时间计算3. 一帧CanFD报文的传输时间计算3.1 标准CAN与CANFD两者间的区别3.2 CANFD报文传输时间计算 1. 概述 本篇我们一起看下一帧Can报文发送需要多长时间&#xff0c;下述文章里我们会首先计算下Can分别对应的字节数&#xff0c;再根据传…

泛微oa 二次开发指南(ecology)

目录标题 一、环境搭建&#xff08;一&#xff09;先下载安装泛微oa&#xff08;ecology&#xff09;&#xff08;二&#xff09;idea环境搭建二、官方文档三、开发规范&#xff08;里面有入门案例&#xff09;四、三方系统调用oa系统接口五、oa系统所有接口文档六、ecology的一…

EAP设备自动化控制:新能源行业智能化生产的重要工具

随着全球对可再生能源需求的不断增长&#xff0c;新能源行业如锂电池和光伏发电等得到了蓬勃发展。为了满足市场需求&#xff0c;新能源行业需要不断提高生产效率、降低生产成本、改善产品质量。在这个过程中&#xff0c;EAP设备自动化控制成为了新能源行业智能化生产的重要工具…