风速计或风速测量装置是一种常见的气象站仪器。因为在网上购买成品非常的贵,所以我打算自己动手做一个!
概述
前几天,我正与我的朋友讨论物联网项目。我们正在准备运行之前项目中使用的一堆传感器。在清单中,我们还需要准备一个风速传感器设备,但如果是在线成本的话,需要接近80美元!对于这个项目经费来说,没有占比这么重的必要。因此,在文档中我们没有提到要购买哪个传感器,而是提到了“自定义”。
综上所述,本篇所要讲的就是我的自定义风速计。它基于一个简单的原理,我第一次使用直流电机制造发电机。
直流电动机将电能转换为机械能,而直流发电机将机械能转换为电能。因此,如果电能可以转动直流电机,那么机械能应该可以发电。
我需要捕获风能来转动我的直流电机,这应该产生电力,我可以使用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);
//Map 0-1023 to discrete 0-50-100...250 values for LED
analogWrite(ledPin, sensorValue * (51.0 / 1023.0) * 50);
if(sensorValue > 0){
Serial.println(sensorValue);
Serial.print(" ");
}
}
思维拓展:
由于5v电机使用强大的磁铁,因此需要更强的风才能使其移动。需要使用更小更轻的电机,例如无人机中使用的电机。里面应该有永久磁铁。
低转速电机会在低转速下产生更高的电压。因此它是可取的。但是,通过在驱动电机轴的风扇轴中使用更大的齿轮,我们可以使直流电机在较低的风速下旋转得更快。
低压直流电机(如3v电机)是安全的,因为在最高速度下产生的最大电压不会达到5v,因此不会伤害Arduino板。
全部0条评论
快来发表一下你的评论吧 !