环境监测仪的制作教程

电子说

1.3w人已加入

描述

第1步:组装零件!

监测仪

需要:

Arduino Uno

Arduino Grove Base Shield

Grove LCD RGB背光

Grove光线传感器

Grove温度传感器

Grove Loudness传感器

Grove多通道气体传感器

Grove按钮

用于所有Grove传感器和输出的连接器(6)

Arduino USB电缆

用于arduino的USB电源组/电池组

步骤2:堆叠起来!

监测仪

堆叠步骤3:插入模拟传感器!

监测仪

使用Grove将光传感器连接到A0的连接器,

温度传感器连接到A1

响度传感器,连接到A2

步骤4:插入在I2C设备中!

监测仪

使用Grove连接器将多通道气体传感器,

和LCD RGB背光灯插入I2C插座。

注意:顺序并不重要,因为I2C通过设置地址而不是分配给特定地点进行通信。我的气体传感器插入了最左侧,显示屏插入了右侧。

步骤5:插入按钮!

监测仪

按钮在D8处进入,再次使用Grove导线连接

步骤6:下载库

监测仪

这些库位于以下链接中,请查看图片以了解在何处下载这些库的.zip文件

https://github.com/Seeed-Studio/Grove_LCD_RGB_Back 。..

https://github.com/Seeed-Studio/Mutichannel_Gas_Se 。..

第7步:将库添加到Arduino IDE

监测仪

进入Sketch-》 Include Library-》 Add .ZIP Library,然后添加您刚刚下载的两个库

步骤8:添加Arduino代码

/*

用于环境传感器的代码,该代码从环境中获取空气质量,光,温度和噪声数据以在LCD屏幕上显示*/

#include #include“ MutichannelGasSensor.h” #include“ rgb_lcd.h” rgb_lcd lcd;

const int buttonPin = 8; int buttonPushCounter = 0; int buttonState = 0; int lastButtonState = 0;

void setup(){lcd.begin(16,2);//设置LCD的列数和行数Serial.begin(9600);//为输出lcd.println(“ power on!”)开始串行lcd.noAutoscroll(); mutichannelGasSensor.begin(0x04);//从站的默认I2C地址是0x04//mutichannelGasSensor.changeI2cAddr(0x04); mutichannelGasSensor.doCalibrate(); pinMode(buttonPin,INPUT); }

void loop(){float c;浮动d;浮动e; int f;浮点g;诠释浮动r;浮动浮法; mutichannelGasSensor.powerOn();

buttonState = digitalRead(buttonPin);//将buttonState与以前的状态进行比较if(buttonState!= lastButtonState){if(buttonState == HIGH){buttonPushCounter ++; }//稍加延迟以避免弹跳//delay(50); }

如果(buttonPushCounter == 0){c = mutichannelGasSensor.measure_NH3(); lcd.setRGB(155221255); lcd.print( “NH 3”); if(c》 = 0)lcd.print(c);否则lcd.print(“ invalid”); lcd.print(“ ppm”);}

如果(buttonPushCounter == 1){d = mutichannelGasSensor.measure_CO(); lcd.setRGB(196216226); lcd.print( “CO”); if(d》 = 0)lcd.print(d);否则lcd.print(“ invalid”); lcd.print(“ ppm”);}

如果(buttonPushCounter == 2){e = mutichannelGasSensor.measure_NO2(); lcd.setRGB(204255255); lcd.print( “NO 2:”); if(e》 = 0)lcd.print(e);否则lcd.print(“ invalid”); lcd.print(“ ppm”);}

如果(buttonPushCounter == 3){f = AnalogRead(0); lcd.setRGB(182,134,44); lcd.print( “轻”); if(f》 = 0)lcd.print(f);否则lcd.print(“ invalid”); lcd.print(“ units”);}

如果(buttonPushCounter == 4){g = AnalogRead(1); r =(浮子)(1023-g)* 10000/g;//电阻计算t = 1/(log(r/10000)/3975+1/298.15)-273.15;//以摄氏度为单位的温度fah = t * 9/5 + 32; lcd.setRGB(255102255); lcd.print( “温度:”); lcd.print(FAH); lcd.print(“ * F”);}

如果(buttonPushCounter == 5){g = AnalogRead(1); r =(浮子)(1023-g)* 10000/g;//电阻计算t = 1/(log(r/10000)/3975+1/298.15)-273.15;//以摄氏度为单位的温度lcd.setRGB(255,153,255); lcd.print( “温度:”); lcd.print(T); lcd.print(“ * C”);}

如果(buttonPushCounter == 6){h = AnalogRead(2); lcd.setRGB(8,30,63); lcd.print( “噪声:”); if(h》 = 0)lcd.print(h);否则lcd.print(“ invalid”); lcd.print(“ units”);}

如果(buttonPushCounter == 7){buttonPushCounter = 0; lcd.setRGB(255,255,255); } delay(250); lcd.clear(); }

第9步:上传您的代码!

监测仪

将Arduino插入计算机

确保您的工具下的端口选择了正确的Arduino

在Arduino IDE中打开Environmental_sensor.ino文件

将代码上传到Arduino

步骤10:使用开发板!

从计算机上拔下开发板

插入USB进入USB电源或使用Arduino电池组为您的项目供电

单击按钮以浏览传感器:NH3浓度,CO浓度,NO2浓度,光照水平,华氏温度,摄氏温度和噪音水平

将任何问题直接发送到ericltongfb@gmail.com!

第11步:使其变为彩虹?!?

在代码中lcd.setRGB(r,g,b);设置每个传感器读数屏幕的背光颜色。

红色:lcd.setRGB(255,0,0);

橙色:(255,127, 0)

黄色:(255,255,0)

绿色:(0,255,0)

蓝色:(0,0,255)

靛蓝:(75,0,130)

紫罗兰:(143,0,255)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分