如何通过USB连接手机与Arduino Uno并实现识别后舵机转动
手机USB连接Arduino Uno触发舵机转动实现指南
一、先确认硬件清单
你需要准备这些硬件(可先向学校实验室确认库存):
- Arduino Uno 主板
- USB转Micro USB线(匹配Uno接口)
- 标准舵机(比如9g微型舵机)
- 公对公杜邦线3根
- 可选:外接5V电源(解决舵机供电不足问题)
二、硬件连接方式
按以下步骤接线,请勿接反引脚:
- 舵机红线(电源正)→ Arduino Uno的5V引脚
- 舵机棕/黑线(电源负)→ Arduino Uno的GND引脚
- 舵机橙/黄线(信号)→ Arduino Uno的数字引脚9(其他支持PWM的引脚如10也可)
三、Arduino代码实现
核心逻辑是通过检测串口连接状态(手机连接后会建立串口通信)触发舵机动作,代码如下:
#include <Servo.h> Servo myServo; bool deviceConnected = false; void setup() { myServo.attach(9); // 绑定舵机到引脚9 Serial.begin(9600); // 设置串口波特率 myServo.write(0); // 初始化舵机到0度位置 } void loop() { // 检测串口是否收到数据(手机连接后发送任意内容即可触发) if (Serial.available() > 0) { Serial.readStringUntil('\n'); // 读取串口数据 if (!deviceConnected) { myServo.write(90); // 舵机转到90度 deviceConnected = true; } } // 串口断开时,舵机复位 if (!Serial && deviceConnected) { myServo.write(0); deviceConnected = false; } }
代码说明:
- 引入官方Servo库简化舵机控制
- 初始化时设置舵机初始位置,开启串口通信
- 检测到串口数据时触发舵机转动;串口断开则复位舵机
四、手机端操作步骤
安卓手机
- 确认手机支持OTG功能,准备对应接口的OTG转接线(比如Type-C转USB母头)
- 将Arduino的USB线一端接Uno,另一端通过OTG转接线连手机
- 安装串口调试APP(比如Serial USB Terminal),打开后选择对应串口设备,设置波特率9600
- 发送任意字符,舵机即可转动
iOS手机
- 需使用MFi认证的USB转接器(Lightning转USB母头)
- 连接方式与安卓类似,可选串口APP如Serial USB Lite,设置波特率9600后发送指令触发
五、调试注意事项
- 若学校没有OTG线,可先用电脑测试:将Uno连电脑,打开Arduino IDE的串口监视器,发送字符验证舵机是否正常工作
- 舵机转动卡顿或无力时,说明USB供电不足,给舵机外接5V电源(注意电源GND要和Uno的GND共地)
- 接线时注意引脚对应,接反电源会烧坏舵机或主板
内容的提问来源于stack exchange,提问作者amanda
相关产品推荐
相关产品推荐

