自制风速计:低成本风速传感器项目实战
组件与物料
| 组件 | 数量 |
|---|---|
| 直流电机(通用) | 1 |
| LED(通用) | 1 |
| Arduino UNO | 1 |
项目原理
风速计是气象站常用仪器。一次与学生讨论物联网项目时,发现市售风速传感器高达 80 美元,超出预算。于是我决定利用直流电机的发电原理自制风速计。
核心原理
直流电机将电能转为机械能,反向则可作为发电机将机械能转为电能。风能驱动电机旋转产生电压,通过 Arduino 读取模拟电压即可换算风速。
概念验证
从遥控车拆解一只直流电机,两端接 LED 手动转动转轴,LED 亮起,验证发电可行。随后将电机正极接 Arduino A0,负极接 GND,读取模拟值。
成品制作
- 取 4 把相同的塑料勺,两两粘合成十字形,固定在电机转轴两端,构成风杯组件
- 将组件安装在长铅笔上,固定在笔筒底座
- 在底座安装 Arduino 板,并在 PWM 引脚 9 串联 LED 作为风速指示
Arduino 代码
int ledPin = 9;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
// 将 0-1023 映射为 0-250 供 LED 调光
analogWrite(ledPin, sensorValue * (51.0 / 1023.0) * 50);
if (sensorValue > 0) {
Serial.println(sensorValue);
Serial.print(" ");
}
}
打开 Arduino 串口绘图器即可看到风速波形图。
改进建议
- 5V 电机磁钢较强,启动需大风力。建议改用无人机常用的小型低压永磁电机
- 低转速电机在低风速下输出电压更高;或在风杯轴加装增速齿轮组
- 3V 低压电机最高输出电压不超过 5V,更安全,不会损坏 Arduino
原理图
Fritzing 源文件:windspeed_vjCOz66xkI.fzz
制造工艺