电子说
步骤1:使用硬件实现
主要处理该项目的一部分由 MediaTek LinkIt ONE 委员会完成。
Mediatek LinkIt ONE板连接有气体传感器,即 Grove LPG sensor 和 Grove Air Quality Sensor 。传感器的读数将发送到Ubidots可能的服务器。
在图片中,您可以看到更多的气体传感器,例如MQ-7,MQ-135和MQ-138。
但是LinkIt ONE板只有3个模拟引脚。 A0,A1和A2,因此最多可以连接3个传感器。
由于气体传感器的输出是模拟电压,而我们的板是数字系统(微控制器)。
我们需要转换将模拟电压转换为数字值。这可以通过使用板载10位ADC来完成。
有关ADC和气体传感器的更多信息将在后面说明。
步骤2:ADC-模拟到数字转换
ADC代表模拟到数字转换,执行转换的设备称为模数转换器。
使用最广泛的ADC芯片是德州仪器(TI)的 ADC0804 和 ADC0808 。
我们为什么需要 ADC ?
我们生活的世界是模拟的,即每件事都是时间连续的。为了使这些模拟信号与微控制器之类的数字设备兼容,这些控制器只能理解数字信号,例如 ‘0’s 和‘1’s 。
因此,为了将模拟信号转换为数字形式,我们需要使用ADC。
A/D转换如何执行?
将模拟信号转换为数字形式涉及两个步骤-
1)采样
采样意味着将信号划分为较小的时隙。例如,如果我们有一个在时域中连续的某个频率的正弦波,我们将对其进行采样,即,我们将以一定的相等时间间隔获取正弦波的振幅值,因此它看起来有点像图片中所示
2)量化
第二步是量化获得的幅度值。与采样时一样,获取的幅度可以是任何非理性值,例如 pi(22/7)或1.33333或sq.root(2) 等。/p》
这些值将永远不会终止,因此如果您想 存储 ,它们将需要 无限数量的内存
所以我们需要将数字四舍五入到最接近的位置。
这完成了A/D转换部分。
但这是只是理论?
如何实际执行ADC?
答案是通过使用诸如ADC0804或ADC0808之类的IC。
最近的诸如Arduino,AVR之类的微控制器系列,LinkIt ONE具有板载ADC,我们将在我们的项目中使用它。
步骤3:使用LinkIt ONE板载ADC
LinkIt一块板具有3个模拟输入引脚,这意味着最多可以与该板连接3个模拟设备。
ADC的 分辨率 一词也很重要。
船上ADC具有 10位分辨率 ,这意味着输入模拟电压将以0-1023范围内的值表示,即总共1024个值
如何获取?
很简单。 10位ADC意味着我们将获得10位数字值。即2 ^ 10 = 1024个值。
在十进制范围内,它将是0到1023。
它如何分配数字值?
对于0V的模拟输入电压,我们将获得对应的数字值为0。模拟输入电压,即5V,我们将获得最大数字值,即1023。
任何介于0V-5V之间的模拟输入电压,其数字值都将介于0到1023之间。
这是公式
ADC读数=(1024 *模拟输入电压)/5
因此,如您所见,对于0V,您将获得)当ADC读数为5V时,您将获得1024(实际上是1023,因为此处从0开始计数。)
步骤4:气体传感器:它们如何工作?
气体传感器有多种类型。它们根据检测大气中存在的气体的方式进行分类。
1)电化学类型
MQ传感器系列属于以下类别:气体传感器。这些气体传感器具有通常由 SnO2或氧化锡(IV) 制成的传感元件,这是正确的IUPAC名称(国际纯粹与应用化学联合会)或通常称为 氧化锡 (不是 satan- ic)。
SnO2层是
在这种情况下,这种现象被称为吸附,它与有很大不同。这种陶瓷基体通常由氧化铝(Al2O3)制成。 吸收。
吸收是一种表面现象,这意味着气体分子仅堆积在SnO2层的表面上。
要提高吸附速率,我们需要加热元件。这是通过MQ气体传感器上的加热线圈(丝网)完成的。
加热可提高吸附速率。 有一个特定的 pre每个传感器在使用前的加热时间。
随着气体分子开始聚集在表面上,我们得到与浓度成比例的电压作为输出
这是我们将要测量以检测气体的电压。
现在由于吸附,即分子积聚在传感器的传感元件上传感器,这些传感器在几个月后变得无用,需要更换新的传感器。您无法清洁传感器,因为一切都发生在分子水平上。
这些是电子爱好者最广泛使用和可用的传感器。
除了这些传感器以外,我们还有其他四种类型
2)红外
3)红外成像
4)半导体和
5)全息
现在,如果您看到任何MQ气体传感器将具有 6个引脚,其中 4 用于加热目的和其他 2 用于输出电压和接地。
在图片中,您可以看到MQ-8气体传感器的6个引脚。
第二张图片显示了对H2高度敏感的MQ-8气体传感器。它也可以用于液化石油气的检测。
作为参考,我附上了该数据表。从数据表中可以清楚地看出,使用单个MQ-8传感器可以检测到多种类型的气体。
在继续之前,我建议您阅读如何 工程师的车库 和 Seeed Studio 的气体传感器工作和如何选择气体传感器 。
http://www.engineersgarage.com/insight/how-gas-sen 。..
http://www.seeedstudio。 com/wiki/How_to_choose_A_Ga 。..
步骤5:硬件要求
变送器侧
Mediatek LinkIt ONE板
Grove空气质量传感器
Grove LPG传感器点击的
软件/服务
Ubidots 的
步骤6:在Ubidots上注册
第一步是创建一个免费的Ubidots帐户!!
Ubidots 是我们将要使用的云服务提供商。
您可以自由使用任何其他服务。
如果您重新使用其他服务。
请转到http://www.ubidots.com
在网站上注册。
然后按照图片中的说明进行操作。
或按照以下说明操作-
1)在Ubidots上注册
2)在右上角单击+符号以添加新来源。
3)命名您的来源,例如Intel Edison,Arduino等。
4)单击来源以添加新变量
5)选择变量的类型作为仪表并设置最小和最大限制
6)记下创建的每个变量的变量ID。
7)现在转到您的个人资料,并在API密钥中记下令牌ID。
请注意图片来自我的其他项目。一切保持不变,只是您需要指定不同的名称并相应地选择显示类型。
记下变量id和auth。令牌编号。您必须在程序中输入它们。
每个人的数字都不同。不要复制图像。
步骤7:变送器
Grove LPG传感器连接到A0引脚和Grove空气质量传感器连接到Mediatek LinkIt ONE板的A1引脚上。
analogRead()函数执行必要的模数转换。
获得的数字值介于 0-1023 (总共1024个),因为 ADC的分辨率为10位。
使用公式
读数%=(ADC读数/1024)* 100
用于变送器的程序是用Arduino IDE编写的,并附加了.ino文件。
记住要在代码中进行以下更改。
1)WiFi AP名称
2)WiFi密码
3)var ids
4)令牌ID
,然后将代码上传到您的开发板上。
第8步:测试
这是我的通用屏的一小段录像,向您展示了当任何传感器值发生变化时仪表读数如何变化。
出于演示目的,我将A0和A1引脚直接连接到板上的3.3V和5V引脚。
注意: 只要开发板通过USB连接到计算机,您也可以在Arduino串行监视器上看到这些值。卸下USB并使用电池供电后,它将不会在串行监视器中打印值。
全部0条评论
快来发表一下你的评论吧 !