PHP控制SG90舵机角度技巧
文章不知道大家是否熟悉?今天我将给大家介绍《PHP控制SG90舵机角度方法》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!
PHP无法直接控制SG90舵机,需通过pigpio等外部工具间接驱动;推荐使用pigs命令(如pigs s 18 1500),配合角度-脉宽映射公式及外接供电。

PHP 不能直接控制 SG90 舵机
PHP 是服务端脚本语言,没有硬件 GPIO 访问能力,无法直接输出 PWM 信号驱动 SG90。所谓“PHP 控制舵机”,本质是 PHP 作为逻辑层,通过调用底层系统命令(如 gpio、servo 工具)或与 C/Python 进程通信来间接控制。硬要让 PHP 发 PWM,必须依赖外部硬件接口程序(如树莓派上的 pigpio daemon 或 wiringPi)。
树莓派上用 PHP 调用 pigpio 控制 SG90 的实际路径
推荐使用 pigpio 库:它提供守护进程 pigpiod,支持网络接口,PHP 可通过 socket 连接发送 PWM 指令。SG90 标准脉宽范围是 500–2400 μs,对应 0°–180°,但实际有效范围常为 600–2300 μs(需校准)。
- 先启动守护进程:
sudo pigpiod - PHP 中用 socket 连接
localhost:8888,调用set_servo_pulsewidth函数(注意:pigpio 协议需按二进制格式构造请求,不建议手写;更稳妥是用现成封装) - 更简单做法:用 PHP 执行 shell 命令调用
gpio工具(如果已安装 wiringPi)——但 wiringPi 已停止维护,且新版树莓派系统默认不兼容
所以真正可行的最小闭环是:
exec('pigs s 18 1500'); // 将 GPIO 18 的脉宽设为 1500μs(约 90°)其中 pigs 是 pigpio 提供的命令行工具,s 表示 servo 模式,18 是 BCM 编号引脚,1500 是微秒值。注意:SG90 的中位(90°)通常在 1450–1550 之间,需实测调整。
PHP 计算角度到脉宽的映射公式及常见偏差
线性换算公式为:pulse = 500 + (angle / 180.0) * 1900(理论 500–2400),但 SG90 个体差异大,实际常用:pulse = 600 + (angle / 180.0) * 1700(即 600–2300)。关键点:
- 角度输入必须限制在
0–180,否则可能烧舵机或触发保护 - 不要用浮点运算直接传给
pigs,它只接受整数微秒值,需(int)round($pulse) - 连续转动时,避免突变(如从 0° 直跳 180°),应分步延迟,否则舵机可能抖动或失步
- 部分廉价 SG90 实际只能转 120°–150°,标称 180° 是理想值
示例 PHP 函数:
function angle_to_pulse($angle) {
$angle = max(0, min(180, (int)$angle));
return (int)round(600 + ($angle / 180.0) * 1700);
}
exec('pigs s 18 ' . angle_to_pulse(180)); // 转到 180°绕过 PHP 直接控制的更稳方案
如果项目允许,把控制逻辑下沉:用 Python 写一个常驻进程监听本地 socket 或 Redis 队列,PHP 只负责发指令(如写 Redis key servo:target),Python 进程读取后调用 RPi.GPIO 或 gpiozero 输出精确 PWM。这样既避开 PHP 的实时性短板,又规避了 exec() 安全风险和并发阻塞问题。尤其当需要多舵机同步、加速度曲线或位置反馈时,PHP 层几乎无法胜任。
真正容易被忽略的是供电——SG90 空载电流约 10mA,堵转可达 500mA+。树莓派 GPIO 无法直供,必须外接 5V 电源,并共地。没共地,pigs 命令看似成功,舵机却不动。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《PHP控制SG90舵机角度技巧》文章吧,也可关注golang学习网公众号了解相关技术文章。
CSShover移动端不生效?触屏设备悬停失效解析
- 上一篇
- CSShover移动端不生效?触屏设备悬停失效解析
- 下一篇
- 2025最火TWA短发怎么剪
-
- 文章 · php教程 | 6分钟前 |
- PHP静态页添加面包屑导航动画教程
- 364浏览 收藏
-
- 文章 · php教程 | 7分钟前 |
- Chrome网页卡顿抖动怎么解决
- 341浏览 收藏
-
- 文章 · php教程 | 34分钟前 |
- PHP配置Nginx环境步骤详解
- 308浏览 收藏
-
- 文章 · php教程 | 1小时前 |
- Laravel动态参数验证技巧解析
- 460浏览 收藏
-
- 文章 · php教程 | 1小时前 |
- PHP5.4日期格式转换错误解决办法
- 154浏览 收藏
-
- 文章 · php教程 | 1小时前 |
- 短链接批量还原PHP工具教程
- 382浏览 收藏
-
- 文章 · php教程 | 1小时前 | PHP源码
- PHP源码如何快速搭建网站
- 337浏览 收藏
-
- 文章 · php教程 | 1小时前 | php怎么注释
- PHP常量注释怎么写?规范格式分享
- 397浏览 收藏
-
- 文章 · php教程 | 1小时前 |
- PHP网站模板下载技巧与获取方式
- 261浏览 收藏
-
- 文章 · php教程 | 2小时前 | php探针怎么用
- PHP探针中文界面设置教程
- 395浏览 收藏
-
- 文章 · php教程 | 2小时前 |
- PHPmysqli查询操作全解析
- 358浏览 收藏
-
- 文章 · php教程 | 2小时前 |
- 新手学PHP建电商系统,先掌握这些核心模块!
- 456浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ChatExcel酷表
- ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
- 3641次使用
-
- Any绘本
- 探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
- 3902次使用
-
- 可赞AI
- 可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
- 3847次使用
-
- 星月写作
- 星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
- 5015次使用
-
- MagicLight
- MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
- 4219次使用
-
- PHP技术的高薪回报与发展前景
- 2023-10-08 501浏览
-
- 基于 PHP 的商场优惠券系统开发中的常见问题解决方案
- 2023-10-05 501浏览
-
- 如何使用PHP开发简单的在线支付功能
- 2023-09-27 501浏览
-
- PHP消息队列开发指南:实现分布式缓存刷新器
- 2023-09-30 501浏览
-
- 如何在PHP微服务中实现分布式任务分配和调度
- 2023-10-04 501浏览

