快捷搜索:

Arduino入门笔记(6):温度传感器及感温杯实验即

为什么传感器一般采用外部供电?答:为了满足传感器对电源功率的要求,减小传感器体积,便于维护,传感器一般采用外部供电。

二、温度传感器实验

1、硬件连接方法

     上节驱动液晶是使用的手工编写代码,这次我们直接使用arduino自带的LiquidCrystal库来进行驱动,此库文件允许arduino控制板控制基于Hitachi HD44780或与之相兼容芯片大部分的液晶,可以工作于4bit或者8bit状态。下图为我们所使用的arduino的LiquidCrystal库文件位置,只有这里显示的库文件,arduino才可以调用。当然也可以自己导入库文件。另外,这里需要使用OneWire库和DallasTemperature库(读取相应地址传感器),这两个库需要下载后,自己导入。

即开彩app下载 1

连接图为:

即开彩app下载 2

2、代码

#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#include <OneWire.h>

  #define ONE_WIRE_BUS 8
 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//设置接口
  OneWire oneWire(ONE_WIRE_BUS);

  DallasTemperature sensors(&oneWire);

  void setup(void)
  {
    lcd.begin(16, 2);  //初始化LCD

    delay(1000); //延时1000ms
    sensors.begin();
  }

  void loop(void)
  {
    sensors.requestTemperatures(); // Send the command to get temperatures
    lcd.clear(); //清屏
    lcd.setCursor(0,0);
    lcd.print("Local Temperature");
    lcd.setCursor(0, 1) ; //设置光标位置为第二行第一个位置
    lcd.print(" is ");
    lcd.setCursor(5, 1) ;
    lcd.print( sensors.getTempCByIndex(0)); //获取温度
  //  delay(1000);
    lcd.print((char)223); //显示o符号
    lcd.print("C"); //显示字母C
    delay(1000);
  }

3、实验效果

从实验效果来看,温度显示正常。

即开彩app下载 3

三、简单感温杯实验

       感温杯可以直观的知道杯内水温的高低,当水温超过一定温度时,会有相应的灯亮起以提示水温。结合上面的实验,只要在上面的电路中加入几个LED灯用来显示水温即可。

1、设计思路

      由于没有多种颜色的LED灯进行实验,因此本实验使用三个LED灯,用亮灯的个数来表示水温。当水温高于41度时,三个灯同时亮起,表示温度过高;当水温界于31度与40度之间,两个灯亮起,表示水温刚好;当水温低于31底时,一个灯亮起,表示水温过低。

2、硬件连接图

即开彩app下载 4

3、代码

#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#define ONE_WIRE_BUS 8
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//设置接口
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void)
  {
    pinMode(6,OUTPUT);
    pinMode(7,OUTPUT);
    pinMode(9,OUTPUT);
    lcd.begin(16, 2);  //初始化LCD
    delay(1000); //延时1000ms
    sensors.begin();
  }

  void loop(void)
  {
    sensors.requestTemperatures();
    if (sensors.getTempCByIndex(0)<=31.00)
    {
     digitalWrite(6,HIGH);
     digitalWrite(7,LOW);
     digitalWrite(9,LOW);
    }
    else if (sensors.getTempCByIndex(0)>31.00 && sensors.getTempCByIndex(0)<=41.00)
    {
     digitalWrite(6,HIGH);
     digitalWrite(7,HIGH);
     digitalWrite(9,LOW);
    }
    else
    {
     digitalWrite(6,HIGH);
     digitalWrite(7,HIGH);
     digitalWrite(9,HIGH);        
    }

    lcd.clear(); //清屏
    lcd.setCursor(0,0);
    lcd.print("Local Temperature");
    lcd.setCursor(0, 1) ; //设置光标位置为第二行第一个位置
    lcd.print(" is ");
    lcd.setCursor(5, 1) ;
    lcd.print( sensors.getTempCByIndex(0)); //显示温度小数点后一位
  //  delay(1000);
    lcd.print((char)223); //显示o符号
    lcd.print("C"); //显示字母C
    delay(2000);

  }

4、实验效果

从实验效果来看,当把传感器放入水杯后,温度上升,从开始亮一个灯,到亮三个灯。当传感器从水杯中取出后,温度开始下降,从亮三个灯到亮一个灯,由于本人视频录制水平有限,所以在录制过程中效果体现的不是很明显。

从效果看,还存在一个问题,就是温度上升和下降的速度比较慢,如何能上其瞬间测量出实际温度,还没想清楚。

上述微功耗潮汐液位变送器所采用的潮汐液位测量方法,可按如下步骤进行。在待机状态下,单片机和AD转换器处于微功耗掉电工作模式,内部时钟停止,保留内部RAM数据,压力传感器电源关闭,RS485接口处于低功耗接收等待状态。上位机发出指令,RS485接口输出数据信号;单片机检测相应信号,触发外部中断以唤醒单片机。单片机接收串口数据,获得有效指令后,启动压力传感器电源,唤醒AD转换器,完成一次完整测量过程。测量结束后,关闭压力传感器电源,将AD转换器重置为掉电状态,再进行数据计算,并将测量结果通过RS485接口发送至上位机;通讯结束后,单片机重新进入掉电状态。

转载请注明:@小五义

发明内容

一、本次实验所需器材

1、Arduino板 :

2、1602液晶板:(或者)已经介绍过。

3、DS18b20数字温度传感器:多数入门学习时会使用LM35温度传感器(该传感器为模拟信号,需转换),由于本人在最初购买时没有注意,直接买了DS18b20,所以就使用了这个传感器。

(1)实物及管脚排列图

即开彩app下载 5        即开彩app下载 6

面对平面,左边为接地,中间DQ为数字信号输入/输出端,VDD为外接供电电源输入端,电源供电 3.0~5.5V (在寄生电源接线方式时接地)。

 

(2)DS18B20的硬件接口非常简单。供电方式为计生电源供电或外部供电。寄生电源供电(连接方法如下图)的原理是在数据线为高电平的时候“窃取”数据线的电源,电荷被存储在寄生供电电容上,用于在数据线为低的时候为设备提供电源。需要注意的是,DS18B20在进行温度转换或者将高速缓存里面的数据复制到EEPROM中时,所需的电流会达到1.5mA,超出了电容所能提供的电流,此时可采用一个MOSFET三极管来供电。

即开彩app下载 7

当DS18B20采用外部供电时,只需将其数据线,与单片机的一位双向端口相连就可以实现数据的传递。

注意:当温度高于100℃ 时,不能使用寄生电源,因为此时器件中较大的漏电流会使总线不能可靠检测高低电平,从而导致数据传输误码率的增大。

更加详细的DS18B20介绍,可查阅技术手册,这里不在详细记录。

4、LED:3个

5、电阻:1KΩ(1个) 4.7KΩ(1个)

6、杜邦线:若干

7、面包板:一个

 

 

本发明旨为克服现有技术的不足,提供一种节省电能,组网方便,适合干电池长期连续供电的场合,能够显著延长电池的使用寿命,降低后期使用成本的微功耗潮汐液位变送器。

欢迎加入讨论群 64770604

发明背景

本发明节省电能,组网方便,适合干电池长期连续供电的场合,能够显著延长电池的使用寿命,降低后期使用成本。在实际应用中,本发明微功耗潮汐液位变送器工作于野外,采用一次性电池供电,采用间歇测量的方式,变送器的功耗低,可满足电池长期使用的要求。同时,本发明可采用RS485方式输出数据,组网方便。

图为本发明原理框图

目前,已知的液位变送器有以下几类。第一类:采用直流电源供电,提供两线制4——20mA电流输出。这种变送器的输出信号需要独立布线,不能互连。电流信号的特点使得布线距离不能过长,否则容易受到干扰。此类变送器在接收端要进行电流电压转换,会带来附加误差,故其测量精度受到限制,通常在0 .5%左右。另外,工作电流至少为4mA,无法满足低功耗的要求,不适合使用电池供电。第二类:采用直流电源供电,提供RS485通讯信号输出。这种变送器布线较为方便,多个变送器可以通过串行总线连接到一个网络中,同时抗干扰能力较强,但是此类变送器处于实时工作状态,变送器的工作电流较大,通常达到mA量级,因此不适合使用电池供电。

今天为大家介绍一项国家发明授权专利——微功耗潮汐液位变送器及其所采用的潮汐液位测量方法。本发明属液位变送器领域,该专利由沈阳仪表科学研究院有限公司申请,并于2018年4月3日获得授权公告。

液位变送器是对压力变送器技术的延伸和发展,根据不同比重的液体在不同高度所产生压力成线性关系的原理,实现对水、油及糊状物的体积、液高、重量的准确测量和传送。

本发明压力传感器采用压阻式表压传感器芯片TS86。AD转换器采用ADS1247芯片。RS485接口采用MAX3471芯片。单片机采用STM8L051芯片。电源稳压部分采用LDO稳压芯片。

为解决上述技术问题,本发明所采取的技术方案为:微功耗潮汐液位变送器,包括压力传感器、AD转换器、单片机、RS485接口及电源稳压部分;RS485接口接单片机的信号传输端口;单片机的信号传输端口分别接AD转换器及压力传感器;压力传感器的信号传输端口接AD转换器的信号传输端口;电源稳压部分为单片机、AD转换器及RS485接口提供电源。

本发明还提供一种微功耗潮汐液位变送器所采用的潮汐液位测量方法。

本发明步骤的工作电流小于等于10uA;步骤的工作电流为1mA;步骤的工作电流为20mA。

本文由即开彩app下载发布于冶金矿产,转载请注明出处:Arduino入门笔记(6):温度传感器及感温杯实验即

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。