查看“第三十二课--Microduino与风速传感器/zh”的源代码
←
第三十二课--Microduino与风速传感器/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
Microduino与风速传感器 {| style="width: 800px;" |- | ==目的== 本教程通过Microduino读取风速传感器(风速仪)的信息,使读者了解风速传感器,掌握Microduino使用模拟输入口的编程方法。 ==设备== *'''[[Microduino-Core/zh]]''' Microduino-Core 是以 Atmel ATmega328P为核心的8位单片机开发核心板,是一个开源的、与 Arduino UNO 兼容的控制器模块。 *'''[[Microduino-USBTTL/zh]]''' 下载程序模块,可直接与 Microduino-Core 或者Microduino-Core+ 相连,让他们与计算机通讯。它的下载接口用的是MicUSB,这也是Microduino小巧的一部分。Microduino大小与一枚一元硬币差不多大。下载线与绝大多数智能手机usb数据线是一样的,方便实用。 *其他硬件设备 {|class="wikitable" |- |相关硬件||数量||功能 |- |风速传感器 ||1个 ||用于监测风速,本示例输出信号为0-5V。 |- |24V 1A开关电源||1个 ||风速传感器供电用,本示例采用明纬牌开关电源。 |- |USB数据连接线 ||1条||连通Microduino模块与计算机。 |- |面包板 ||1块 ||各个元器件汇聚于此。 |- |面包板跳线 ||1盒||电气连接线。 |- |} ===风速传感器=== 风速传感器是一种专门用于监测风速的检测仪表。其输出形式可分为485输出(一般会选择modbus协议)、4-20mA电流、0-5V。该示例应用的风速传感器采用的0-5V输出的形式(买风速传感器时和卖家说清楚就0K了),可非常方便的被Microduino模拟口识别。该示例应用的风速传感器最高监测风速为30米每秒,也就是30米每秒的风到来的时候输出电压临近5V,在0米每秒到30米每秒之间的输出电压(0-5V)线性分布。其供电电压为直流12V到24V,所以还需外接一个电源。线缆的三根引出线我们需要搞清楚。 *1:地线,外接电源的地线与Microduino的地线与线缆引出的接地线连在一起。 *2:电源输入正极线,线缆引出电源线需要和外接电源的正极连在一起,该文外接直流电为24V。 *3:模拟量输出线,线缆引出的模拟量输出线可直接接入Microduino的A0引脚。 [[File: windSpeedSensor.jpg|600px|center|thumb]] ==实验原理图== [[File:wind fritz ppt.jpg|600px|center|thumb]] 下图为实拍图,风速传感器在转动状态。风速传感器底座下面为24V开关电源。 [[File:windRealConnet.jpg|600px|center|thumb]] ==程序== <source lang="cpp"> 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); } } </source> ==调试== *用导线连接硬件并确认无误。 *把程序复制到ArduinoIDE中。 *编译程序,选择正确的板卡与相应串口。 *点击Upload,下载完毕后打开ArduinoIDE自带的串口监视器,用手拨动风速仪(或放到室外实际观察)观察结果。下图是手拨风速仪时显示的风速值。 *米每秒对应几级风读者可搜索下,相应的程序也可修改下,依读者所需。 *数据可上传至yeelink,相关内容请参考[http://www.microduino.cc/wiki/index.php?title=Microduino_%E9%A3%8E%E9%80%9F%E4%BC%A0%E6%84%9F%E5%99%A8%E2%80%94%E9%A3%8E%E9%80%9F%E5%80%BC%E4%B8%8A%E4%BC%A0%E5%88%B0yeelink/zh 风速值上传到yeelink] *笔者曾测试该风速传感器与某品牌手持式风速传感器(带液晶屏显示),ArduinoIDE 串口输出数据与手持式液晶屏显示数据基本一致。 [[File:windComOutput.jpg|600px|center|thumb]] ==结果== 按照原理图连接好电路。程序下载后,可在ArduinoIDE自带的串口监视器中观察风速值。 ==视频== |}
返回至
第三十二课--Microduino与风速传感器/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息