查看“Sensor-Dust/zh”的源代码
←
Sensor-Dust/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Microduino-Dust}} {| style="width: 800px;" |- | [[File: Microduino-Dust.jpg|400px|thumb|center| Microduino-Dust]] Microduino-Dust是PM2.5传感器模块。 ==特色== *采用SHARP GP2Y1010AUOF空气质量传感器; *串口通信; ==规格== *工作电压: 4.5V~5.5V *检测灵敏度:0.5V/0.1mg/m3 *1.27mm间距的4Pin转6Pin接口; *软串口(D4,D5)通讯 [[file:mCookie-sensorhub_rule.JPG|thumb|800px|center]] [[File: Microduino-Dust_rule1.jpg|600px|thumb|center]] ==文档== *原理图:'''[[File: Microduino_Dust.Zip]]''' ==开发== 适用于大气空气质量检测或室内烟尘检测等。 ==应用== *所需硬件:[[Microduino-CoreUSB/zh]]、[[Microduino-sensorhub /zh]]、[[Microduino-IO split/zh]] USB数据线、转接线; **确认你搭建了Microduino的开发环境,否则参考:[[Microduino Getting start/zh]] *程序 <source lang="cpp"> #include <SoftwareSerial.h> SoftwareSerial pmSerial(4, 5); //PM2.5传感器通讯软串口 #define INTERVAL_pm25 200 unsigned long pm25_time = millis(); void setup() { Serial.begin(9600); // See the connection status in Serial Monitor pmSerial.begin(2400); //首先启动软串口 } void loop() { if (pm25_time > millis()) pm25_time = millis(); if (millis() - pm25_time > INTERVAL_pm25) { Serial.println(PM25()) ; pm25_time = millis(); //更新计时器 } } float PM25() { int data_s = 0; //串口接收数据 int num = -1; //串口接收数据计数 int sum = 0; //校验和 int cal[5]; //接收数据缓存 float dustDensity = 0; //PM2.5浓度 pmSerial.listen(); while (1) { if (pmSerial.available() > 0) { //串口缓存有数据 data_s = pmSerial.read(); //读取串口缓存数据 if (data_s == 0xAA) { //得到数据帧起始位 num = 0; //开始计数 } else if (num >= 0) { cal[num++] = data_s; //读到数据,计数+1,数据保存到缓存中 if (num == 6) { //读到数据帧最后一位 sum = cal[0] + cal[1] + cal[2] + cal[3]; //计算校验和 if (sum == cal[4] && cal[5] == 0xFF) { //校验和匹配,数据帧最后一位为0xFF,说明接收的数据帧正常 dustDensity = (cal[0] * 256 + cal[1]) * (5.0 / 1024) * 550; //计算PM2.5浓度,单位ug/m3 } else { //接收的数据不正常 dustDensity = 0; //浓度清零 } break; } } } } pmSerial.stopListening(); return dustDensity ; } </source> *软件: *把所有模块叠一起,将Dust传感器的风扇控制接口通过转接线与sensorhub的D10口连接起来。 *将Dust传感器的接口接到sensorhub的(D4,D5)。 *打开Arduino IDE,将程序拷贝到IDE中,在Tools→Board里面选择正确的板卡,然后进行编译。 *编译完成后在Arduino IDE的Tools→Serial Port里面选择正确的端口号,然后直接下载程序。 *下载完毕你可以打开串口监视器,串口控制台会显示出当前的空气粉尘密度,等待1秒钟之后Dust传感器再进行下一次检测。 ==购买== ==历史== ==图库== *正面 [[file: Microduino-Dust-F.JPG|thumb|600px|center|Microduino-Dust Front]] *背面 [[file: Microduino-Dust -b.JPG|thumb|600px|center|Microduino-Dust Back]] |}
返回至
Sensor-Dust/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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息