博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Arduino显示PM2.5
阅读量:5132 次
发布时间:2019-06-13

本文共 2157 字,大约阅读时间需要 7 分钟。

这代码一般都是复制过来,在小改下就行了

代码如下:

#include 
#include
#include
#include
#include
#define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #define LOGO16_GLCD_HEIGHT 16 //定义显示高度 #define LOGO16_GLCD_WIDTH 16 //定义显示宽度 int measurePin = 0; //Connect dust sensor to Arduino A0 pinint ledPower = 2; //Connect 3 led driver pins of dust sensor to Arduino D2int samplingTime = 280;int deltaTime = 40;int sleepTime = 9680;int dustVal=0;int i=0;float ppm=0;char s[32];float voltage=0;float dustdensity=0;float ppmpercf=0;void setup(){ Serial.begin(9600); pinMode(ledPower,OUTPUT); // by default, we'll generate the high voltage from the 3.3v line internally! (neat!) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64) // init done i=0; ppm=0; display.clearDisplay(); }void loop(){ i=i+1; digitalWrite(ledPower,LOW); // power on the LED delayMicroseconds(samplingTime); dustVal = analogRead(measurePin); // read the dust value ppm=ppm+dustVal; delayMicroseconds(deltaTime); digitalWrite(ledPower,HIGH); // turn the LED off delayMicroseconds(sleepTime); voltage=ppm/i*0.0049; dustdensity=0.17*voltage-0.1; ppmpercf=(voltage-0.0256)*120000; if(ppmpercf<0) ppmpercf=0; if(dustdensity<0) dustdensity=0; if(dustdensity>0.5) dustdensity=0.5; String dataString=""; dataString+=dtostrf(voltage,9,4,s); dataString+="PM2.5 ---> "; dustdensity = dustdensity*1000; dataString+=dtostrf(dustdensity,5,2,s); dataString+=" -----> "; dataString+=dtostrf(ppmpercf,8,0,s); i=0; ppm=0; Serial.println(dustdensity); Serial.println(dataString); display.clearDisplay(); display.setCursor(0,0); display.setTextSize(1); //设置字体大小 display.setTextColor(WHITE); //设置字体白色 display.print("dustDensity:"); display.print(dataString); //输出字符 display.display(); //显示以上 delay(1000);}

 

模块:

OLED12864显示屏:

模块针脚        Arduino针脚

VCC     ---->   3.3V

GND    ---->    GND

SCL     ---->    A5

SDA    ---->    A4

夏普灰尘传感器GP2Y10:

转载于:https://www.cnblogs.com/nightnine/p/6536662.html

你可能感兴趣的文章
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
STM32单片机使用注意事项
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
移动开发平台-应用之星app制作教程
查看>>
leetcode 459. 重复的子字符串(Repeated Substring Pattern)
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
下一代操作系统与软件
查看>>