DIY 风速计:风速传感器设备
组件和用品
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
关于这个项目
概览
风速计 或风速测量装置 是一种常见的气象站仪器。
前几天,我正在与一个才华横溢的学生小组讨论一个物联网项目。我们正在运行他们可以在他们的项目中使用的一堆传感器。在列表中,我们有一个风速传感器设备,但网上的成本接近 80 美元!对于大学项目来说太多了。因此,在文档中我们没有提到要购买哪种传感器,而是提到了“自定义”。
这是我的自定义风速计 🙂 它基于一个简单的原理,我第一次在 Class 7 中使用它来构建直流电机的发电机。

直流电机 将电能转换为机械能,而 直流发电机 将机械能转化为电能。因此,如果电能可以驱动直流电机,那么机械能应该可以发电。
我需要捕获风能来转动我的直流电机,这应该会产生电能,我可以使用 Arduino 进行检查,转换为比例并使用。
我从我的孩子那里拿了一辆遥控车来得到一个直流电机,并将一个 LED 连接到直流电机的两根电线上并旋转电机轴。 LED 灯亮起!

然后我将直流电机的 +ve 引脚连接到 Arduino 上的模拟 0 端口,将直流接地连接到 arduino 接地。

现在我有了一个基本的概念证明。我开始研究最终产品。以下图片捕捉了各个阶段。
我从我妻子那里拿了 4 个相同的塑料勺子,然后把两个粘在一起。然后我将这个双勺相互垂直粘贴在电机轴的两端。这构成了我的风速计的核心组件。
接下来,我将这个组件安装在一支长铅笔上,并将其固定在一个小铅笔架上。我安排将我的 Arduino 板安装在这个支架上。我还在 PWM 引脚 9 或 Arduino 上添加了一个 LED,这样我就可以在风旋转时点亮它。








我编写了以下 Arduino 代码来从 A0 读取模拟数据并将其绘制在图形上。我将传感器值打印到串行控制台并启动 Arduino 的绘图仪以查看结果。
Arduino代码
int ledPin =9;void setup() { Serial.begin(9600);}void loop() { int sensorValue =analogRead(A0); //将 0-1023 映射到 LED 的离散 0-50-100...250 值 模拟写入(ledPin, sensorValue * (51.0 / 1023.0) * 50); if(sensorValue> 0){ Serial.println(sensorValue); Serial.print(" "); }}

这是最终结果!
它并没有就此结束。还有一些事情:
- 由于 5v 电机使用强力磁铁,因此需要更强的风力才能移动。需要使用更小更轻的电机,例如无人机中使用的电机。里面应该有永磁体。
- 低转速电机会在低转速下产生更高的电压。因此是可取的。但是,通过在驱动电机轴的风扇轴中使用更大的齿轮,我们可以使直流电机在较低的风速下旋转得更快。
- 低压直流电机(如 3v 电机)是安全的,因为在最高速度下产生的最大电压不会达到 5v,因此不会损坏 Arduino 板。
代码
- 风速计
风速计Arduino
此代码读取模拟端口 0 上的风速数据并点亮 LEDint ledPin =9;void setup() { Serial.begin(9600);}void loop() { int sensorValue =analogRead(A0); //将0-1023映射到离散的0-50-100...250个LED模拟写入值(ledPin, sensorValue * (51.0 / 1023.0) * 50); if(sensorValue> 0){ Serial.println(sensorValue); Serial.print(" "); }}
示意图
windspeed_vjCOz66xkI.fzz制造工艺