基于Arduino的SG90舵机驱动
一.SG90舵机引脚说明
SG90舵机三根线的连接方法:
1.红色线:电源线(VCC),接入5v电源
2.棕色线:地线(GND),接地
3.黄色线:信号线(SIG),接收控制信号,连接核心控制板的PWM输出引脚。
二. 舵机控制原理
1)舵机是一种位置伺服的驱动器,具有闭环控制系统的机电结构,由小型直流电机、变速齿轮组、可调电位器、控制板等部件组成。由于可以方便地控制舵机旋转的角度(舵角,但是舵角一般不超过 180°),因此,舵机在要求角度不断变化的控制系统中得到了广泛应用。
2)舵机在工作中,控制器发出脉冲宽度调制(PWM)信号给舵机,获得直流偏置电压。舵机内部有一个基准电路,产生周期为 20ms,宽度为 1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出到电机驱动芯片,驱动芯片根据电压差的正负控制电机的正反转。
3)舵机转动的角度是通过调节 PWM 信号的占空比来实现的,标准 PWM 信号的周期固定为 20ms,理论上脉宽(脉冲的高电平部分)范围在 1ms~2ms之间,但实际上脉宽可以在 0.5ms~2.5ms 之间,脉宽和舵机的转角 0°~180°相对应以脉宽为 0.5ms~2.5ms 范围控制舵机的角度转动,转动范围为0°~180°。
三. 源代码
1)说明
使用Servo库进行舵机驱动开发,Arduino Servo 库是一个开源库,专门用于控制伺服电机。该库允许用户通过Arduino UNO板轻松控制各种类型的伺服电机,从而实现精确的角度控制。Servo 库是Arduino官方库之一,广泛应用于机器人、自动化控制和DIY项目中。
2)代码:
#include <Servo.h>
#define pwmPin 9Servo myServo;
void setup() {// put your setup code here, to run once:myServo.attach(pwmPin);//9号引脚输出舵机控制信号 仅能使用9、10号引脚
}void loop() {// put your main code here, to run repeatedly:int angle = 90;//侍服电机旋转的角度取值范围myServo.write(angle);//设定私服电机的位置delay(15);//等待电机转到目标角度
}
3)Servo库接口
控制舵机转动到0~180°的任意位置。
关于Servo库提供的几个常用函数(用法都形如:servo.xx()):
attach(接口)—— 设定舵机的接口,只有9或10接口可利用。
a. 基本格式: name.attach(pin)
b. 解释:name:表示舵机名 ; pin:表示arduino上面舵机数据线连接的引脚
write(角度)—— 用于设定舵机旋转角度的语句,可设定的角度范围是0°到180°。
a. 基本格式: name.write(angle)
b. 解释:name:表示舵机名;angle:旋转角度
四.运行效果:
控制舵机旋转到0°~180°的任意位置。
应用:可配合超声波传感器使用,旋转到不动位置,获取不同位置距离障碍物的距离,配合控制算法,进行基于超声波智能避障小车的制作。
相关文章:

基于Arduino的SG90舵机驱动
一.SG90舵机引脚说明 SG90舵机三根线的连接方法: 1.红色线:电源线(VCC),接入5v电源 2.棕色线:地线(GND),接地 3.黄色线:信号线(SIG)…...

大模型泡沫破了?| 转行建筑师混战大模型圈
最近秋招惨淡卷动,**地产天坑不敢进,科技大厂不可期。**阿里直裁应届生、腾讯拉长职级晋升时间,字节一家繁荣,但也在和美国政府大打官司。此前「大模型」风生水起,但近期融资、应用双双预冷。 GPT-5迟迟不出࿰…...

Windows开发工具使用技巧
Windows开发工具使用技巧 在Windows系统下进行软件开发时,掌握并熟练使用合适的开发工具可以极大地提高工作效率和代码质量。本篇文章将介绍几款常见的Windows开发工具及其使用技巧,涵盖集成开发环境(IDE)、命令行工具、版本控制…...
【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速...
【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速… 文章目录 【PyTorch学习-1】张量操作|自动求导|神经网络模块|优化器|数据加载与处理|GPU 加速...前言…...

Leecode热题100-560.和为k的子数组
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入:nums [1,2,3], k…...

Mac 卸载 IDEA 流程
1、现在应用程序中删除Idea 2、进入Library目录 cd /Users/zhengzhaoxiang/Library 3、删除IntelliJIdea2023.3(根据自己的版本而定)记得进去看下是否删除干净了 rm -rf Logs/JetBrains/IntelliJIdea2023.3 rm -rf Preferences/com.jetbrains.intel…...

vue3 antdv3/4 Modal显示一个提示,内容换行显示。
1、官网地址: Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 2、显示个信息: Modal.info({title: This is a notification message,content: h(div, {}, [h(p, some messages...some messages...),h(p, some …...
Jgit的使用
Jgit的使用 文章目录 Jgit的使用一,git操作的对应代码1.1 查看操作1.1.1 打开仓库1.1.3 获取状态信息 1.2 添加操作1.2.1 初始化本地仓库1.2.2 创建一个新文件并写入内容1.2.3 添加指定(所有)文件到暂存区1.2.4 提交操作1.2.5 连接并推送到远…...
SQL Server—约束和主键外键详解
SQL Server—约束和主键外键详解 约束和主键外键 主键 和 外键 -- 主键: 关系型数据库中一条记录有若干个属性,若其中某一个属性能够位置标识这条记录,这个属性就可以设置为表的主键,主键是确定一条记录的唯一标识,有可能作为主键…...

信息学奥赛复赛复习14-CSP-J2021-03网络连接-字符串处理、数据类型溢出、数据结构Map、find函数、substr函数
PDF文档回复:20241007 1 P7911 [CSP-J 2021] 网络连接 [题目描述] TCP/IP 协议是网络通信领域的一项重要协议。今天你的任务,就是尝试利用这个协议,还原一个简化后的网络连接场景。 在本问题中,计算机分为两大类:服务机&#x…...

Allegro如何合并同名网络铜皮操作指导
Allegro如何合并同名网络铜皮操作指导 Allegro可以将同名网络的铜皮合并起来,如下图,需要把下面两块铜皮合并成一块铜皮 具体操作如下 选择Shape 选择merge shapes Find选择shapes 点击其中一块铜皮,会被亮起来 再点击另外一块铜皮 两块铜皮…...

【探测器】线阵相机中的 TDI 技术
【探测器】线阵相机中的 TDI 技术 1.背景2.TDI相机3.场景应用 1.背景 TDI 即Time Delay Integration时间延迟积分。 TDI相机是线阵相机的一种特殊类型,带有独特的时间延迟积分(TDI)技术。 换句话说,TDI相机是线阵相机的一个高级版…...

k8s 之安装metrics-server
作者:程序那点事儿 日期:2024/01/29 18:25 metrics-server可帮助我们查看pod的cpu和内存占用情况 kubectl top po nginx-deploy-56696fbb5-mzsgg # 报错,需要Metrics API 下载 Metrics 解决 wget https://github.com/kubernetes-sigs/metri…...

java学习-idea编辑器基础使用设置
首先打开电脑中的idea编辑器,点击头部:File按钮 → Settings… 打开设置界面; 设置idea的主题 设置idea代码注释的字体颜色 设置idea编辑器的字体和字体大小 设置idea通过提示回车自动导入包 设置idea输入忽略大小写进行提示...

PDSCH(物理下行共享信道)简介
文章目录 PDSCH(物理下行共享信道)简介1. Transport block CRC attachment2. LDPC base graph selection3. Code block segmentation And Code Block CRC Attachment4. Channel Coding5. Rate Matching6. Code Block Concatenation7. Scrambling8. Modul…...
hutool bug
Hutool参考文档 不用随便升级版本 版本5.8 1: 不要用 ReflectUtil.newInstance(cName); * 和spring 部分框架整合 ,子类转换为父类或者接口失败,报转换失败的错误 https://gitee.com/dromara/hutool/issues/I18NCR?skip_mobiletrue 改成使…...
69.x的平方根 367.完全有效的平方数
题目:69. x 的平方根 - 力扣(L69eetCode) 经典平方根问题,用二分法慢慢逼近找开方值,注意mid*mid要用long long值,不然会溢出 class Solution { public:int mySqrt(int x) {int left 0; int right x;int ans -1; w…...

Android Automotive(一)
目录 什么是Android Automotive Android Automotive & Android Android Automotive 与 Android Auto 什么是Android Automotive Android Automotive 是一个基础的 Android 平台,它能够运行预装的车载信息娱乐系统(IVI)应用程序,以及可选的二方和三方 Android 应用程…...
命令设计模式
简介 命令模式(Command Pattern)是对命令的封装,每一个命令都是一个操作:请求方发出请求要求执行一个操作;接收方收到请求,并执行操作。命令模式解耦了请求方和接收方,请求方只需请求执行命令&…...
探索智能新境界:最好用的AI工具盘点
你用过最好用的AI工具有哪些? 在人工智能技术飞速发展的今天,AI工具正逐渐成为我们工作和生活中不可或缺的助手。它们不仅提高了效率,还为我们提供了创新的解决方案。作为一名对AI充满热情的用户,我有幸体验了许多优秀的AI工具。…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...