第三十二课--Microduino与风速传感器/zh
Microduino与风速传感器
目的本教程通过Microduino读取风速传感器(风速仪)的信息,使读者了解风速传感器,掌握Microduino使用模拟输入口的编程方法。 设备Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。
风速传感器风速传感器是一种专门用于监测风速的检测仪表。其输出形式可分为485输出(一般会选择modbus协议)、4-20mA电流、0-5V。该示例应用的风速传感器采用的0-5V输出的形式(买风速传感器时和卖家说清楚就0K了),可非常方便的被Microduino模拟口识别。该示例应用的风速传感器最高监测风速为30米每秒,也就是30米每秒的风到来的时候输出电压临近5V,在0米每秒到30米每秒之间的输出电压(0-5V)线性分布。其供电电压为直流12V到24V,所以还需外接一个电源。线缆的三根引出线我们需要搞清楚。
实验原理图
程序void setup()
{
Serial.begin(9600);
}
void loop()
{
float myVoltage=analogRead(A0)/1023.0*5.0;
delay(10);
float windSpeed=myVoltage*30.0/5.0;//max detect windspeed 30m/s
windSpeed=windSpeed*1.0;//change this value (1.0) to calibrate
if(windSpeed<0.15) //debounce
{
Serial.print("Wind speed ");
Serial.println("0m/s");
delay(1000);
}
else
{
Serial.print("Wind speed ");
Serial.print(windSpeed,1 );// output ("0.0") fraction
Serial.println("m/s");
delay(1000);
}
}
调试
结果按照原理图连接好电路。程序下载后,可在ArduinoIDE自带的串口监视器中观察风速值。 视频 |