大理旅游,凉拌海带丝的做法,上虞天气

微博热点 · 2019-03-21

一、系统网络拓扑图

空气质量检测器设计由物联网节点、网关、传输网络、数据服务中心、信息服务接入网络、信息服务客户端六个部分组成。

其中,物联网节点:各个传感器模块收集各种数据,本项目需要用到DHT11温湿度传感器、DSM501A灰尘传感器等。

网关:Arduino开发板,将程序烧写至Arduino开发板上,Arduino开发板对由传感器模块返回的数据进行解析得到有用的数据,通过串口与PC进行通讯,通过创圣のアクエリオン蓝牙模块将信息发送给手机终端。

数据服务中心:PC,管理由Arduino开发板发送的实时数据。

信息服务客户端:蓝牙模块将实时数据发送至手机终端并显示。

Arduino空气质量检测器的网络拓扑图

二、系统功能模块图设计

空气质量监测器功能需求框图如图所示,系统软件主要由温湿传感器数无敌牧场主据采集模块、粉尘传感器数据采集、串口控制模块、蓝牙模块等模块构成,各模块功能概述如下表所示。

温湿度传感器采集模块:对温湿度测点进行实时监测

粉尘传感器采集模块:对PM2.5测点进行实时监测

串口模块:

1、温度、湿度测点数据传输

2、PM2.5测点数据传输

3、数据分析

4、优化数据备份

5、数西冈雪子据备份

蓝牙模块:

1、温度、湿度测点数据传输

2、PM2.5测点数据传输

3、蓝牙模块通讯

三、程序设计

主程序运行流程图如图所示。由主程序流程图可以看出,软件要实现的主要功能是实现对传感器信号的数据采集,然后进行数据的计算、分析、送液晶进行显示功能。程序开始时,对系统进行初始化,包括单片机的各寄存器、RAM、定时器装载初值、中断设置及各模块初始化等。完成初始化后,CPU等待传感器传入信号及AD转换结束,从而完成当前监测参数的正确显示。

Arduino语句代码:

#include

#include

LiquidCrystal_I2C lcd(0x27,20,4);

int DHpin = 7;

int PMpin = 8;

unsigned long duration;

unsigned lo污组词ng starttime;

unsigned long sampletime_ms = 3000;

unsigned long lowpulseoccupancy = 0;

float ratio = 0;

float concentration = 0;

float pm25val = 0;

float pm25coef = 0.00207916725464941;

byte dat[5];

byte read_data()

{

byte data;

for(int i=0; i<8; i++)

{

if(d真空凸点igitalRead(DHpin) == LOW)

{

while(digitalRead(DHpin) =重生之崛起在美国极北= LOW); //等待 50us;

delayMicroseconds(30); //判断高电平的持续时间,以判定数据是‘0’还是‘1’;

if(digitalRead(D邪恶魔咒Hpin) == HIGH)

data |= (1<<(7-i)); //高位在前,低位在后;

while(digitalRead(DHpin) == HIGH); //数据‘1’,等待下一位的接收;

}

}

return data;

}

void start_test()

{

digitalWrite(DHpin,LOW); //拉低总线,发开始信号;

delay(30); //延时要大于 18ms,以便 重庆中小学zslpshDHT11 能检测到开始信号;

digitalWrite(DHpin,HIGH);

delayMicroseconds(40); //等待 DHT11 响应;

pinMode(DHpin,INPUT);

while(digitalRead(DHpin) == HIGH);

delayMicroseconds(80); //DHT11 发出响应,拉低总线 80us;

if(digitamoonsorrowlRead(DHpin) == LOW);

delayMicroseconds(80); //DHT11 拉高总线 80us 后开始发送数据;

for(int i=0;i<4;i++) //接收温湿度数据,校验位不考虑;

dat[i] = read_data();

pinMode(DHpin,OUTPUT);

digitalWrite(DHpin,HIGH); //发送完一次数据后释放总线,等待主机的下一次开始信号;

}

void setup()

{

Serial.begin(9600);

pinMode(DHpin,OUTPUT);

pinMode(PMpin,INPUT);

starttime = millis();

lcd.init();

// Print a message to the LCD.

lcd.backlight();

lcd.setCursor试剑古谱(0,0);

lcd.print(" Air Detector");

lcd.setCursor(0,1);

lcd.print(" Welcome !");新起点楚冠胶囊

delay(2000);

}

void loop()

{

duration = pulseIn(PMpin, LOW);

lowpulseoccupancy = lowpulseocc私密保养upancy+duration;

ratio = lowpulseoccupancy/(sampletime_ms*10.0); // Integer percentage 0=>10 concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve

concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve

// PM2.5 calc

pm25val = pm25coef 爱上了妹妹* concentration * 10; /重生之流氓神医/ 10 to transform 0.01 cf to 0.1 ft

Serial.print("PM2.5 = ");

Serial.print(pm25val);

Serial.println("g");

lowpulseoccupancy = 0;

starttime = millis();

start_test();

Serial.print("Current humdity 何雨虹微博= ");

Serial.print(dat[0], DEC); //显示湿度的整数位;

Serial.print('.');

Serial.print(dat[1],DEC); //显示湿度的小数位;

Serial.println('%');

Serial.print("Current temperature = ");

Serial.print(dat[2], DEC); //显示温度的整数位;

Serial.print('.');

Serial.print(dat[3],DEC); //显示温度的小数位;

Serial.println('C');

继女lcd.setCursor(0,1);

lcd.print("Humidity = ");

//lcd.setCursor(14,1);

lcd.print(dat[0]);

lcd.print(".");

lcd.print(dat[1]);

lcd.print("%男人的丁丁");

delay(2000);

lcd.setCursor(0,1);

lcd.print("Tempera = ");

//lcd.setCursor(14,1);

lcd.print(d大理旅游,凉拌海带丝的做法,上虞天气at曾子岚[2]);

lcd.print(".");

lcd.print(dat[3]);

lcd.println("`石萱C ");

delay(2000);

lcd.setCursor(0,1);

lcd.print("PM2.5 = ");

//lcd.setCursor(14,1);

lcd.print(pm25val);

lcd.print("ug/m3");

delay(2000);

}

文章推荐:

小说,这些属相男劈腿你就死定了!,九星杀神

小黄鸭,轻浮智能 科沃斯扫地吸尘器价格799元.,日剧网

火花塞,项目经理怎么学会有用交流?,修正药业

商洛天气,偏执创业者林念龙:做婚趣网职责多于爱好,女士手提包

激情故事,徐志摩的10句情话,句句牵动心灵!,梅毒是什么

文章归档