arduino和MG111二氧化碳传感器采集co2

咪咕MGV3200_KLH_3201_ZG国科GK6323_2+8_安卓9通刷乐家语音免拆机卡刷固件 机顶盒固件 阅读详情


原文地址:http://wiki.dfrobot.com.cn/index.php/(SKU:SEN0159)CO2_二氧化碳传感器模块_V1#.E6.A0.B7.E4.BE.8B.E4.BB.A3.E7.A0.81.E4.BA.8C

(SKU:SEN0159)CO2 二氧化碳传感器模块 V1

SEN0159.JPG

目录

 [隐藏] 

简介

温室效应、废气排放、冰川融化、岛国淹没,这一切的罪魁祸首就是CO2的过度排放。是时候家中常备一款CO2监测装置,来知道我们的环境危机是多么的紧迫。它还可以告诉你室内空气的质量,及时开窗降低CO2浓度。DFRobot为您带来这款CO2传感器。CO2浓度越高,输出的电压值就越小。通过我们的说明书和样例代码,用户可以轻松的读取CO2数值。

用户还可以用板子上的电位器直接设置阈值,当CO2浓度高达一定程度时,探头旁边的3P针头会输出一个信号(数字量)。

该模块采用工业级的MG-811 CO2探头,对CO2极为敏感,同时还能排除酒精和CO的干扰。该探头对环境温湿度的依赖小,性能稳定,快速恢复响应。模块自带信号放大电路,进一步提高灵敏度。另外,板子上的加热电路直接把5V转换成稳定6V,为探头加热供电,提高模块适应性。


产品参数

  • 传感器探头工作电压:6v
  • 内置升压电路,支持3.7~5v DC电源输入,电源电流大于500mA
  • 兼容蜂鸣器,通过调节板载金属电位器,可快速实现CO2超标蜂鸣器警报功能
  • 高品质接头,耐反复插拔
  • 沉金工艺,金色质感
  • 板子上带有模拟传感图标“A”和明显的电位器标识
  • 尺寸:32*42mm


  • 模块数据曲线表
数据曲线表


使用教程

连线图

SEN0159 Diagram
注意:使用二氧化传感器时,Arduino必须外接供电(7.5V-9V),否则会造成数据不准确。另外,样例2中需要更改代码,具体看#define 部分Application Related Macros
细节说明:电位器用来设置阀值,当设置的阀值小于测得的数值时,数字输出口便输出一个高电平。你可以在数字输出口接蜂鸣器模块或者LED模块用作报警显示。


样例代码一

void setup(){
   
  Serial.begin(9600);
   
}
 
void loop(){
  Serial.print("Sample value:");
  Serial.println(analogRead(0));
  delay(100);
}


样例代码二

/*******************Demo for MG-811 Gas Sensor Module V1.1*****************************
Author:  Tiequan Shao: tiequan.shao@sandboxelectronics.com
         Peng Wei:     peng.wei@sandboxelectronics.com
         
Lisence: Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)

Note:    This piece of source code is supposed to be used as a demostration ONLY. More
         sophisticated calibration is required for industrial field application. 
         
                                                    Sandbox Electronics    2012-05-31
************************************************************************************/

/************************Hardware Related Macros************************************/
#define         MG_PIN                       (0)     //define which analog input channel you are going to use
#define         BOOL_PIN                     (2)
#define         DC_GAIN                      (8.5)   //define the DC gain of amplifier


/***********************Software Related Macros************************************/
#define         READ_SAMPLE_INTERVAL         (50)    //define how many samples you are going to take in normal operation
#define         READ_SAMPLE_TIMES            (5)     //define the time interval(in milisecond) between each samples in 
                                                     //normal operation

/**********************Application Related Macros**********************************/
//These two values differ from sensor to sensor. user should derermine this value.
#define         ZERO_POINT_VOLTAGE           (0.324) //define the output of the sensor in volts when the concentration of CO2 is 400PPM
#define         REACTION_VOLTGAE             (0.020) //define the voltage drop of the sensor when move the sensor from air into 1000ppm CO2

/*****************************Globals***********************************************/
float           CO2Curve[3]  =  {2.602,ZERO_POINT_VOLTAGE,(REACTION_VOLTGAE/(2.602-3))};   
                                                     //two points are taken from the curve. 
                                                     //with these two points, a line is formed which is
                                                     //"approximately equivalent" to the original curve.
                                                     //data format:{ x, y, slope}; point1: (lg400, 0.324), point2: (lg4000, 0.280) 
                                                     //slope = ( reaction voltage ) / (log400 –log1000) 


void setup()
{
    Serial.begin(9600);                              //UART setup, baudrate = 9600bps
    pinMode(BOOL_PIN, INPUT);                        //set pin to input
    digitalWrite(BOOL_PIN, HIGH);                    //turn on pullup resistors

   Serial.print("MG-811 Demostration\n");                
}

void loop()
{
    int percentage;
    float volts;
    
   
    volts = MGRead(MG_PIN);
    Serial.print( "SEN0159:" );
    Serial.print(volts); 
    Serial.print( "V           " );
    
    percentage = MGGetPercentage(volts,CO2Curve);
    Serial.print("CO2:");
    if (percentage == -1) {
        Serial.print( "<400" );
    } else {
        Serial.print(percentage);
    }
    Serial.print( "ppm" );  
    Serial.print( "       Time point:" );
    Serial.print(millis());
    Serial.print("\n");
    
    if (digitalRead(BOOL_PIN) ){
        Serial.print( "=====BOOL is HIGH======" );
    } else {
        Serial.print( "=====BOOL is LOW======" );
    }
      
    Serial.print("\n");
    
    delay(200);
}



/*****************************  MGRead *********************************************
Input:   mg_pin - analog channel
Output:  output of SEN0159
Remarks: This function reads the output of SEN0159
************************************************************************************/ 
float MGRead(int mg_pin)
{
    int i;
    float v=0;

    for (i=0;i<READ_SAMPLE_TIMES;i++) {
        v += analogRead(mg_pin);
        delay(READ_SAMPLE_INTERVAL);
    }
    v = (v/READ_SAMPLE_TIMES) *5/1024 ;

    return v;  
}

/*****************************  MQGetPercentage **********************************
Input:   volts   - SEN-000007 output measured in volts
         pcurve  - pointer to the curve of the target gas
Output:  ppm of the target gas
Remarks: By using the slope and a point of the line. The x(logarithmic value of ppm) 
         of the line could be derived if y(MG-811 output) is provided. As it is a 
         logarithmic coordinate, power of 10 is used to convert the result to non-logarithmic 
         value.
************************************************************************************/ 
int  MGGetPercentage(float volts, float *pcurve)
{
   if ((volts/DC_GAIN )>=ZERO_POINT_VOLTAGE) {
      return -1;
   } else { 
      return pow(10, ((volts/DC_GAIN)-pcurve[1])/pcurve[2]+pcurve[0]);
   }
}


结果

打开串口监视器,大约五分钟后,你会得到你周围二氧化碳浓度的数据。

Result co2 density.png

ZYNQ开发(2)在Linux系统层上PL-PS通过AXI-DMA传输数据详细步骤及注意事项 参考的网络资料 https://github.com/bperez77/xilinx_axidma/tree/master https://gitlab.gnome.org/HosseinBeheshti/UlteraZed7EV/-/tree/master/petalinux/xilinx_axidma https://www.icode9.com/content-3-925319.html https://blog.youkuaiyun.com/weixin_38218267/article/details/1 阅读详情

相关推荐

编写用户帮助/操作手册指南

一个新系统,需要写用户操作手册,该从何下笔?本篇是一篇教你编写用户帮助/操作手册的指南~

pytester的博客 3万+

【童年回忆】4399造梦西游3,各版本CE教程汇总

1、地址汇总 八戒越打血越多:0.100000 筋斗云:0.300000 烈焰旋风:1.200000 火焰突击:0.5000 火魔斩:0.5000 七十二斩:0.240 巨石破:1.50000 无限跳跃:0.100000 冰龙波倍率:0.2000 玄冰阵倍率:0.800 气:1.2000000 剧毒阵:0.5000000 强力击 :2.00000000 腾空击:1.0000000 木魔舞 :2.0000000 普通小怪:10% 巫鹰Boss:80% 千里眼、顺风耳:45% 巨灵神:40% 朱子真:20%

小哈里的博客 7万+

SAP 配额修改 + 修改记录写入实现

采购配额修改并写入修改记录 cdhdr 和 cdpos

GAVIN 1099

AI搜索GEO优化(生成引擎优化)白皮书

GEO优化让AI正确听你的话,在AI搜索内容/生成内容/推理内容/问答内容里有你的品牌/产品/服务和口碑等推荐

RoseMarketing的博客 1737

ZYNQ新手必看:你的PS端DDR和QSPI配置真的对了吗?从原理到实操的避雷指南

本文深入解析ZYNQ PS端外设配置的关键要点,特别是DDR匹配和QSPI时钟优化的实战技巧。通过详细案例和配置清单,帮助开发者避免常见错误,确保系统稳定性和启动可靠性。适合ZYNQ新手和需要优化最小系统的开发者参考。

weixin_28675839的博客 447

别让运放自激振荡!手把手教你用波特图分析反相放大电路的稳定性(附LTspice仿真)

本文详细解析了运算放大器在反相放大电路中的稳定性问题,通过波特图分析和LTspice仿真,揭示了自激振荡的成因及解决方案。文章从故障现象识别到数学工具应用,再到实战仿真和工程优化,提供了一套完整的稳定性分析工具链,帮助工程师有效避免运放自激振荡问题。

weixin_31682031的博客 303

笔记之密码学

密码学

m0_62866676的博客 614

零基础速成simulink代码生成——stateflow基础3

此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

不断debug,优化中…… 1711

【CE实战】Clicker Heroes 快速通关

导读以前在游戏公司待过,在正式服玩很久的游戏,开发环境下,使用GM命令就能一刀99999999,从此很少玩游戏。对于单机游戏更是如此,今天就为大家介绍一款特肝。通过CE快速解锁各种功能。开发环境任务列表逆向需要保持清晰的目标,否则会经常走神,严重影响效率。我们的目标就是,实操流程定位英雄等级0.002.0099999999分析其他英雄等级并修改我们查看第二个等级对应的内存区域,当我们点击人物升级的时候,会发现内存中有数据变红并修改为英雄等级,这个就是该英雄对应的等级了。

kinghzking的专栏 1万+

ruoyi-nbcio基于ruoyi的flowable前端支持自定义表单组件的自动获取方法

ruoyi-nbcio基于ruoyi的flowable前端支持自定义表单组件的自动获取方法

宁波阿成的博客 607

YOLOv11改进 | Conv改进篇 | 含2种改进,引入DynamicConv替换普通Conv卷积下采样和C3k2_DynamicConv替换C3k2(来自CVPR2024)

本文提出了一种基于DynamicConv动态卷积优化的YOLOv11轻量化模型改进方案。通过引入多专家机制的动态卷积模块,在增加模型参数量的同时保持较低的计算复杂度(FLOPs),有效解决了低FLOPs模型在大规模预训练中的性能瓶颈问题。文章详细介绍了动态卷积的工作原理、核心代码实现,并提供了在YOLOv11中集成DynamicConv和C3k2_GhostModule_DynamicConv模块的完整教程,包括模块添加、配置文件修改和模型训练验证过程。实验结果表明,该方案在保持高效推理速度的同时显著提升了

Ai缝合怪、助力小伙伴高效发论文 537

九联UNT403AS_晶晨S905L3S芯片_2+8G_安卓9.0_卡刷固件包

刷机既有乐趣也有风险,请慎重选择,一切源于刷机造成的后果自负,本人概不负责!下载好引导文件和固件,8G以下U盘格式化,将文件放入U盘根目录,用牙签抵着复位孔同时开机,5秒后松开即可进去刷机模式。固件路径:A《当贝桌面纯净完美版--固件大全》>4《九联盒子(UNT)固件合集》>《UNT403AS》

点我主页,可查看所有固件文章! 8541

什么是华为OD?怎么才能通过华为OD机试?华为OD机试怎么刷题?(2024最新华为OD机试E卷更新中)

华为OD是Outsourcing Dispacth模式,是华为和外企德科联合招聘的简称。目前华为大多数是OD招聘。OD模式也是华为提出的一种新的用工形式,每年都会从OD项目挑优秀员工转为正编。所有OD和正式员工一样对待,没有差别,部门平时开会、评审等活动都是一起参加的,是同薪同酬,都是由华为的HR直接定的薪资,看的是我们技术能力。华为是大企业,能到华为上班也是有能力的,每个部门都有好多职位,是金子,在哪都会发光。

KJ.JK 11万+

咪咕盒子MGV3001、UNT413A等S905L3芯片语音通刷固件(线刷包)

固件说明: 1、MGV3001、UNT413A等S905L3芯片通刷包,MGV3001测试可用,其它型号自行测试,请慎重使用; 2、支持原装遥控器,语音蓝牙遥控器; 3、固件压缩包有刷机教程,请一定仔细阅读。 4、该固件开机 SMART TV LOGO,沙发精简桌面 5、线刷固件 需要拆机短接; 6、刷完后无需任何收费激活,开机直接进入桌面 8、刷完后三网通用,带MAC; 刷机教程: 1、默认安装”Amlogic USB Burning Tool v2.1.6.8“刷机工具,连接好机顶盒,电脑安装刷机工具、

wjf149575296的博客 9709

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

爬取猫眼电影网经典电影TOP100信息Markdown效果展示

No:1霸王别姬主演:张国荣,张丰毅,巩俐上映时间:1993-01-01(中国香港)评分:9.6了解更多…No:2肖申克的救赎主演:蒂姆·罗宾斯,摩根·弗里曼,鲍勃·冈顿上映时间:1994-10-14(美国)评分:9.5了解更多…No:3罗马假日主演:格利高利·派克,奥黛丽·赫本,埃迪·艾伯特上映时间:1953-09-02(美国)评分:9.1了解更多…No:4这个杀手不太冷主演:让·雷诺,加里·奥德

吴芒果的博客 15万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java 证书体系及应用

接下来我们将域名www.zlex.org定位到本机上。打开C:\Windows\System32\drivers\etc\hosts文件,将www.zlex.org绑定在本机上。在文件末尾追加127.0.0.1       www.zlex.org。现在通过地址栏访问http://www.zlex.org,或者通过ping命令,如果能够定位到本机,域名映射就搞定了。  现在,配置tomcat

wjq008的专栏 2889

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MGV3200 ZG国科6323救砖实操,无fastboot.img fastboot.bin等砖机

看图 mgv3200 cm311-5 理论上国科芯片ZG的都能试试 我是网口刷的前边几个小的IMG文件 然后用别的刷机包刷的系统,串口太慢。花钱买的资源,网上没找到。http://链接: https://pan.baidu.com/s/1jH7ktvtsw832bqCjEWDDvg 提取码: jp8h。http://链接: https://pan.baidu.com/s/1jH7ktvtsw832bqCjEWDDvg 提取码: jp8h。

cdhhdfjj的博客 3216

1.MiniGui环境搭建

MiniGui环境配置 前言:因工作需要,我将学习MiniGui,争取快速上手 主机:ubuntu16.04.12 Minigui版本:MiniGUI 3.2.3 参考:https://blog.youkuaiyun.com/Meteor_s/article/details/82865200 1.准备工作 1.1 安装一些库和工具 sudo apt install libgtk2.0-dev libjp...

cnqiuge123的博客 745

M302A-JL、M302A-MQ、M302A-ZN_S905L2_通刷-当贝桌面线刷固件包

2、烧录工具点开始,双公头线一头先接盒子上,靠网口那个,然后用镊子夹住图片标记的短接点不放,双公头另外再接电脑上,此时烧录工具会识别到盒子并自动刷机;1、电脑安装好烧录工具,打开USB_Burning_Tool烧录工具,导入.img格式的线刷包文件;6、支持开机自启动、开机密码锁、儿童应用锁、应用隐藏、开机自动进入HDMI等各种花式功能;

点我主页,可查看所有固件文章! 2867

adb 连接方式汇总

经常遇到各种盒子连接方式问题,因此汇总下adb的打开方式,以供下次查阅。 电信 adb连接方式汇总 省份 厂家 机顶盒型号 adb连接方式 广东电信 华为 Q21 使用华为stbId工具,在机顶盒的允许远程连接中关闭后再打开获取密码,然后在工具中输入连接,打开远程连接开关,adb再连接 天邑 信息键加2323再连接 华为 需要华为的adb工具连接 创维 在设置-更多设置,进去里面,多按右键触...

慕涵的博客 2万+

黑客工具下载安装,黑客入门到精通,收藏这篇就够了

软件请在安全环境下测试1Wireshark网络抓包分析工具链接:https://pan.baidu.com/s/1zjvxA_WxRE0Os99tU7EXzA密码:57mg❦【官网下载】https://www.wireshark.org/download.html2SqlMap数据库注入工具Sqlmap下载:http://sqlmap.org/Python下载:https://www.python.org/downloads/3Nmap(Zenmap)网络映射工具 4Nessus系统漏洞扫描与分析软件网盘链

Python_0011的博客 1606

Xcode missing one or more architectures required by this target: armv64.

target: armv64

L的博客 356

关注渐冻症|菌群助力探索其发病机理及相关干预措施

什么是渐冻症?渐冻症是“肌萎缩侧索硬化症(简称ALS)”的通俗化叫法,该病一般以从四肢向中心进展,肢体肌肉逐渐消失,功能逐步丧失,直至呼吸肌消失,呼吸功能丧失,患者最后往往因呼吸衰竭而死。 渐冻症一般不会损害一个人的智力推理、视觉、听觉或味觉、嗅觉和触觉,这意味着,患者在保持清醒的状态意识到自己的情况在一步步恶化,感受自己的能力一点点退化。 渐冻症是一种罕见且严重的神经退行性疾病,会影响上下运动神经元,导致弥漫性肌肉麻痹,治疗选择较少。病因学和发病机制在很大程度上仍不清楚,但一些环境、遗传和分子因素被认

Hangzhou_Guhe的博客 2612

国产银河麒麟操作系统下载地址收集--【更新】2023.11.13

麒麟V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性等需求,依据CMMI5级标准研制的提供内生本质安全、云原生支持、自主平台深入优化、高性能、易管理的新一代自主服务器操作系统。是一款适配国产软硬件平台并深入优化和创新的简单易用、稳定高效、安全可靠的新一代图形化桌面操作系统产品;实现了同源支持飞腾、龙芯、申威、 兆芯、海光、鲲鹏、Kirin等国产处理器平台和Intel、AMD等国际主流处理器平台;

文斗士的专栏 11万+

Android 开源项目和文章集合(更新:2022.03.21)

1.再见SharedPreferences,你好MMKV! https://mp.weixin.qq.com/s/VBMDIE0QHXQAMuIjon-Fjg

z979451341的博客 24万+

咪咕MGV3200-KLH_GK6323V100C_板号E503744_安卓9_短接强刷包-可救砖

提示:如果升级进度到最后突然显示失败卡动画,等待自己自动重启几次会自动进入系统,如果升级进度到最后突然显示升级失败,卡动画,这时候不用管,其实已经升级成功,只需要等待自己自动重启几次会自动恢复出厂设置进入系统。关于U盘,大部分USB2.0,8G以下的基本都可以刷机成功,图示短路,上电,短路6-8秒后撤短路,稍等,可见主板灯。刷机只能用U盘,不能用读卡器。

点我主页,可查看所有固件文章! 1108
上一篇: struct用法及其构建网络传输报文
下一篇: linux netstat详解
Watson2016
博客等级 码龄11年 342粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值