此帖出自单片机论坛
最新回复
程序就是上面的程序,这只是原来做的东西里面的一小部分,整个程序都我传上来,你看是否用得上吧!#include <SPI.h>
#include <Wire.h>
#include <Arduino.h>
#include <MultiLCD.h>//LCD5110库
#include <dht11.h>//dht11库
dht11 DHT11;
#define DHT11PIN 10
#define MQ2PIN A0
#define noisePIN A1
#include <SoftwareSerial.h>
const byte rxPin = 12;
const byte txPin = 13;
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
int incomeByte[6];
int data;
int z=0;
int sum;
/*LCD5110接法:
clk = D7 //clock
din = D6, // data-in
dc = D5, // data select
reset = D2, //reset
sce = D3); // enable
*/
//lcd5110相关
LCD_PCD8544 lcd;
unsigned long starttime;
void setup() {
//初始化LCD
lcd.begin();
lcd.clear();
lcd.setCursor(0, 0);//在第一行打印出 Environment 字符串
lcd.print(" Environment ");
lcd.setCursor(0, 1);//光标移至第2行(从0开始数算起) 第1个像素(下同)
lcd.print("Temp : oC");//显示出温度提示(下同)
// lcd.setCursor(73, 1);//光标移至第2行(从0开始数算起) 第72个像素
//lcd.print("oC");//显示出温度单位(下同)
lcd.setCursor(0, 2);
lcd.print("Humi : %");
// lcd.setCursor(79, 2);
// lcd.print("%");
lcd.setCursor(0, 3);
lcd.print("MQ2 : ppm");
//lcd.setCursor(66, 3);
//lcd.print("ppm");
lcd.setCursor(0, 4);
lcd.print("PM2.5: ug");
//lcd.setCursor(0, 5);//光标移至第6行(从0开始数算起) 第37个像素
//lcd.print(" Best wishes");//显示出 Best wishes
lcd.setCursor(0, 5);
lcd.print("Noise: dB");
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
mySerial.begin(2400);
Serial.begin(9600);
}
void loop() {
float c ;
while (mySerial.available()>0){
data = mySerial.read();
if(data == 170)
{
z=0;
incomeByte[z]=data;
}
else
{
z++;
incomeByte[z]=data;
}
if(z==6)
{
sum=incomeByte[1]+ incomeByte[2]+ incomeByte[3] + incomeByte[4];
if(incomeByte[5]==sum && incomeByte[6]==255 )
{
float vo=(incomeByte[1]*256.0+incomeByte[2])/1024.0*5000; //mv
c = vo*0.1
7;
}
}
//串口打印出DHT11测出的温湿度数据
DHT11.read(DHT11PIN);
int dht11temp = DHT11.temperature;
Serial.print("temperature: ");
Serial.println(dht11temp);
int dht11hum = DHT11.humidity;
Serial.print("humidity: ");
Serial.println(dht11hum);
int MQ2 = analogRead(MQ2PIN);
int noise = analogRead(noisePIN);
Serial.print("MQ2: ");
Serial.println(MQ2);
Serial.print("noise: ");
Serial.println(noise/10);
/***********/
/****************************/
Serial.print("PM2.5: ");
Serial.print((int)c);
Serial.println("ug/m3 ");
Serial.println();
delay(500);
/*****************************/
//lcd上显示数据
lcd.setCursor(37, 1);//光标移至第2行(从0开始数,1就是第二个) 第37个像素(下同)
lcd.print(dht11temp);//显示出温度(下同)
lcd.setCursor(37, 2);
lcd.print(dht11hum);
lcd.setCursor(37, 3);
lcd.print(MQ2);
lcd.setCursor(37, 4);
lcd.print((int)c);
lcd.setCursor(37, 5);
lcd.print(noise/10);
delay(500);
/************************** */
}
}
复制代码
[attach]282212[/attach]
[attach]282213[/attach]
[attach]282214[/attach]
详情
回复
发表于 2017-2-11 13:41
| ||
|
||
|
|
| |
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友 |
|
个人签名上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
|
|
此帖出自单片机论坛
点评 | ||
|
||
此帖出自单片机论坛
| ||
|
||
| |
|
|
此帖出自单片机论坛
| ||
|
||
| |
|
|
|
|
此帖出自单片机论坛
点评 | ||
|
||
此帖出自单片机论坛
| ||
|
||
此帖出自单片机论坛
点评 | ||
|
||
此帖出自单片机论坛
| ||
|
||
此帖出自单片机论坛
| ||
|
||
此帖出自单片机论坛
| ||
|
||
此帖出自单片机论坛
| ||
|
||
| |
|
|
浏览过的版块 |
论坛威望大于30000或网友提名:坛子里公认的技术导师
EEWorld Datasheet 技术支持