地球灯—空气质量检测器

2021-06-081.2万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用DFRobot的SGP40空气质量传感器和WS2812 RGB灯带制作一个地球灯,通过颜色变化实时显示室内空气质量指数。硬件清单包括UNO+扩展版、SGP40空气质量传感器、WS2812 RGB灯带等。制作过程包括模块连接、库文件安装、程序烧录和3D打印外壳设计。最终效果是通过颜色变化提醒用户是否需要开窗通风,适用于家庭、办公室等场景。


长期在家感到头痛、乏力、胸闷怎么办?赶紧开窗透透气吧!(ps:要是通风后症状还是没有缓解就该去医院检查检查了)
每天在家门窗紧闭?开着空调?别看了,说的就是你!现在我们对空调的依赖性越来越越强,导致很少打开窗户通风室内空气不通风的时间越长,我们呼吸的空气就越“脏”所以要记得多开窗通风或者打开空气净化器让空气流通起来。
地球灯—空气质量检测器图2

思路:
空气净化器是买不起了,只有自己多动动手开窗通风了。因为我经常忘记开窗户通风,所以用新推出的空气质量传感器和灯带做了个能检测空气质量的“地球灯”来提醒我是否需要开窗通风。

功能:
按下按钮打开地球灯,灯的颜色会根据当前空气质量指数变化而变化(可以根据个人喜好设置颜色);再按下按钮,就可以关闭地球灯了。

地球灯—空气质量检测器图1地球灯—空气质量检测器图15
地球灯—空气质量检测器图5

一、硬件清单

地球灯—空气质量检测器图10
二、制作过程

1.将各个模块按下图连接
地球灯—空气质量检测器图9
地球灯—空气质量检测器图11

2.安装库文件
安装空气质量传感器和灯带的库下载附件库文件.zip,解压后把库文件拖入Arduino—libraries文件目录下。如何安装库文件?

地球灯—空气质量检测器图16

3.烧录程序
  1. /*
  2.   检测空气中的挥发性有机化合物(VOC),比如甲醛、氨、乙二醇、酯...
  3.   当VOC指数达到一定数值,通过地球灯显示不同颜色来提示是否需要开窗通风
  4. */
  5. #include <DFRobot_SGP40.h>
  6. #include <DFRobot_NeoPixel.h>
  7. DFRobot_SGP40 mySgp40(&Wire);
  8. DFRobot_NeoPixel neoPixel_1;
  9. DFRobot_NeoPixel neoPixel_2;
  10. int buttonPin = 7;//按钮接入引脚7
  11. int val = 0;        //变量val用来储存按钮状态
  12. int old_val = 0;    //暂存val变量的上一个时间单位
  13. int state = 0;       //0表示LED关闭,1表示打开
  14. //初始化设置
  15. void setup() {
  16.   Serial.begin(115200);
  17.   neoPixel_1.begin(3,7);//灯带1接入引脚3
  18.   neoPixel_2.begin(4,7);//灯带2接入引脚4
  19.   neoPixel_1.setBrightness(255);//设置灯带亮度0~255
  20.   neoPixel_2.setBrightness(255);
  21.   neoPixel_1.setRangeColor(0, 7, 0x33FFFF);//设置灯带0~7灯亮浅蓝色(根据个人喜好设定初始颜色,推荐颜色查询网址:http://zhongguose.com)
  22.   neoPixel_2.setRangeColor(0, 7, 0x33FFFF);
  23.   while(mySgp40.begin(/*duration = */10000) != true){
  24.     Serial.println("failed to init chip, please check if the chip connection is fine");
  25.     delay(1000);
  26.   }
  27.   Serial.println("----------------------------------------------");
  28.   Serial.println("sgp40 initialized successfully!");
  29.   Serial.println("----------------------------------------------");
  30. }
  31. void loop() {
  32. val = digitalRead(buttonPin); //读取按钮状态并储存
  33.   //检查按钮的变化情况
  34.   if((val == HIGH)&&(old_val == LOW)){
  35.     state =1-state;
  36.     delay(20);              //延时,防止抖动
  37.   }
  38.   old_val = val;            //val已经是旧的了,暂存一下
  39.   if(state==1)
  40.   {                                                                                                                                                                                                                                                                                                                           
  41.   uint16_t index = mySgp40.getVoclndex();
  42.   Serial.print("vocIndex : ");
  43.   Serial.println(index);
  44.   //当空气VOC指数小于100时,地球灯显示蓝色,说明当前空气质量比较好。
  45.   if (index<100){   
  46.     neoPixel_1.setRangeColor(0, 7, 0x0000FF);
  47.     neoPixel_2.setRangeColor(0, 7, 0x0000FF);   
  48.   }
  49.   //当空气VOC指数大于等于100且小于200时,地球灯显示绿色,说明当前空气质量较好。
  50.   else if (index>=100&&index<200){
  51.     neoPixel_1.setRangeColor(0, 7,0x00FF00);
  52.     neoPixel_2.setRangeColor(0, 7,0x00FF00);
  53.   }
  54.   //当空气VOC指数大于等于200且小于300时,地球灯显示黄色,说明当前空气质量一般,需要开窗通风。
  55.   else if (index>=200&&index<300){
  56.     neoPixel_1.setRangeColor(0, 7, 0xFFFF00);
  57.     neoPixel_2.setRangeColor(0, 7, 0xFFFF00);
  58.   }
  59.   //当空气VOC指数大于等于300且小于400时,地球灯显示橙色,说明当前空气质量较差,需要尽快开窗通风。
  60.   else if (index>=300&&index>400){
  61.     neoPixel_1.setRangeColor(0, 7, 0xFF6600);
  62.     neoPixel_2.setRangeColor(0, 7, 0xFF6600);
  63.   }
  64.   //当空气VOC指数大于等于400且小于500时,地球灯显示红色,说明当前空气质量很差,需要马上开窗通风。
  65.   else if (index>=400&&index<500){
  66.     neoPixel_1.setRangeColor(0, 7, 0xFF0000);
  67.     neoPixel_2.setRangeColor(0, 7, 0xFF0000);  
  68.   }
  69.   delay(1000);
  70.   }
  71.   else{
  72.     neoPixel_1.clear();
  73.     neoPixel_2.clear();
  74.   }
  75.   
  76. }
复制代码


4.设计外壳模型和3D打印

模型文件太大上传不了,如果有需要的可以在评论区留言~

地球灯—空气质量检测器图17
地球灯—空气质量检测器图12

5.组装
将模块装进底座中,然后把地球灯罩盖上去就大功告成了。
地球灯—空气质量检测器图18


地球灯—空气质量检测器图13
地球灯—空气质量检测器图14地球灯—空气质量检测器图4地球灯—空气质量检测器图3地球灯—空气质量检测器图6地球灯—空气质量检测器图7地球灯—空气质量检测器图8



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(6)
少东
少东
太有创意了!!!!
三春牛-创客
三春牛-创客
厉害厉害
爱bc的小学生
爱bc的小学生
喷了酒精就变绿了?
KkQ1VrB7W776
KkQ1VrB7W776
挺好看,可以加个臭氧发生器
三春牛-创客
三春牛-创客回复KkQ1VrB7W776
哈哈哈哈哈哈哈
阮兆康
阮兆康
你好,可以指导我一下如何组装一个检测器吗
晚安史迪仔
晚安史迪仔
作者
回复阮兆康
qq:1478689397
阮兆康
阮兆康回复晚安史迪仔
可以留个联系方式吗,酬谢
共4条回复,已加载2条,点击查看更多共4条回复,已加载全部
春秋大仙
春秋大仙
这个好,好看实用
晚安史迪仔
晚安史迪仔
作者
回复春秋大仙
哈哈简单又实用,晚上还可以做个小夜灯
- 没有更多了 -