
1、介绍
HS-F34P 震动模块是一种将电信号转为机械震动的微型执行器,常用于提供触觉反馈、报警提醒等,在 Arduino、掌控板等开发项目中极易使用。核心是微型直流偏心马达(ERM):马达轴带一个偏心金属块,通电旋转时产生不平衡离心力,带动整体高频震动。模块集成 SS050 NPN 三极管作为开关驱动,可直接用单片机 IO 口控制,无需额外驱动板。支持数字开关(高 / 低电平)或 PWM 调震动强度(占空比大小)。
2、原理图
3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 信号引脚 |
供电电压:3.3V-5V
连接方式:PH2.0‑3P 端子线
安装方式:双螺丝固定
4、电路板尺寸

5、Arduino IDE示例程序
注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:点击查看
示例程序(UNO开发板):
// 函数:数字输出控制震动马达【开关启停】
// 引脚D2:数字电平,只有开/关两种状态,强度固定不变
void changeState() {
digitalWrite(2,HIGH); // D2输出高电平,马达震动
delay(3000); // 维持震动3秒
digitalWrite(2,LOW); // D2输出低电平,马达停止震动
delay(3000); // 停止3秒
}
// 函数:PWM模拟输出控制震动马达【调节震动强度】
// 引脚D3:PWM模拟输出,可以修改数值改变震动强弱
void changeIntensity() {
analogWrite(3, 50); // D3输出PWM,数值50,弱震动
delay(3000); // 弱震保持3秒
analogWrite(3, 0); // D3输出0,停止震动
delay(3000); // 静止3秒
analogWrite(3, 255); // D3输出PWM,数值255,最强震动
delay(3000); // 强震保持3秒
analogWrite(3, 0); // D3输出0,停止震动
delay(3000); // 静止3秒
}
void setup(){
pinMode(2, OUTPUT); // 设置D2为输出引脚(数字开关实验)
pinMode(3, OUTPUT); // 设置D3为输出引脚(PWM强度实验)
}
/*
=====实验备注(复制放到IDE代码末尾,或者PPT文字)=====
两个代码都可以。
模拟输出可以控制震动强度;
数字输出高电平为震动,低电平为不震动。
二选一。
目前选的是执行 changeIntensity 函数,信号引脚接D3,使用模拟输出实现不同震动强度。
如要用数字信号控制启停,可选择执行 changeState 函数,信号引脚接D2,使用数字电平输出控制模块启停。
*/
void loop(){
// ========== 实验二选一,修改这里 ==========
// changeState(); // 【数字开关实验】取消注释,使用D2引脚
changeIntensity(); // 【PWM强度实验】当前启用,使用D3引脚
}
6、米思齐 Mixly 示例程序(图形化语言)
示例程序(UNO开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):
待更新...
7、测试环境搭建
Arduino UNO 测试环境搭建
准备配件:
HELLO STEM UNO R3 PRO 开发板 *1
HELLO STEM UNO EXP1 扩展板 *1
USB type-c 数据线 *1
传感器模块(HS-F34P)*1
PH2.0 3P双端子线 *1
电路接线图:

ESP32 测试环境搭建
准备配件:待更新...
电路接线图:待更新...
8、测试结果
Arduino UNO 测试结果:
通过实验,我们可以观察到接线并上传程序到 Arduino UNO 开发板后,震动马达按照程序运行:弱震动 3 秒,停止 3 秒,最强震动 3 秒,停止 3 秒,循环往复。
