zoukankan      html  css  js  c++  java
  • 【雕爷学编程】Arduino动手做(61)---电压检测传感器

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

    【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

    实验六十一:电压检测模块 Voltage Sensor 电压传感器

    电压检测传感器模块资料

    由于目前电子产品各式各样,供电电源的电压也各不相同,要想检测就需要一款合适的电压检测模块和控制器。控制器模拟接口检测输入电压上限为5V,也就是说大于5V的电压将无法检测。

    2011 年新推出的这款电压检测模块能够解决此问题,实现检测大于5V的电压,此模块基于电阻分压原理所设计,能使红色端子接口输入的电压缩小5倍,模拟输入电压上限为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。因为Arduino所用AVR 芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入下限电压为 0.00489V×5=0.02445V。

    通过3P传感器连接线插接到传感器扩展板,不仅可以轻松实现对电压电量大小的检测,监控互动媒体作品或机器人电池供电的电量,也可以通过IICLCD1602液晶模块显示电压制作电压监测器。

    为配合实验,找了一块DC-DC升压模块

    升压模块

    1、体积小可调升压模块,可轻松安装于各种小型设备里面。

    2、可采用MicroUSB输入,用USB充电器或者移动电源通过手机数据线即3、可轻松得到9V,12V,15V,18V,24V的常用电压,使用非常方便。

    4、宽的输入和输出电压,高的转换效率。

    升压模块特性

    1)大输出电流:2A(建议在1A内使用)

    2)输入电压:2 v--24 v

    3)大输出电压:> 28 v(建议在26V内使用)

    4)效率:> 93%(效率与输入和输出的压差有关)

    5)尺寸:30mm* 17mm* 14mm(长*宽*高)

    注意事项

    1)此模块是升压模块,输出电压要大于输入电压

    2)  峰值电流输出电流不过2A

    电压检测传感器模块

    此模块基于电阻分压原理所设计,能使端子接口输入的电压缩小5倍,Arduino模拟输入电压最大为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。因为Arduino所用AVR芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输入最小电压为0.00489V×5=0.02445V。

    电压传感器模块参数

    电压输入范围:DC0-25V

    电压工作范围:DC0-25V

    电压检测范围:DC0.02445V-25V

    数据类型:模拟输入

    电压模拟分辨率:0.00489V

    DC输入接口:红色端子正极接VCC,负极接GND

    尺寸:30mm x 25mm

    接口类型:KF2510-3P

    输出接口:

    "-"接GND,

    "+"接5/3.3V,

    "S"接Arduino的AD引脚(A0)

    实验接线示意图

    实验开源代码

    /*
    
    【Arduino】66种传感器模块系列实验(61)
    
    实验六十一:电压检测模块 Voltage Sensor 电压传感器
    
    试试看波形如何
    
    */
    
     
    
    void setup() 
    
    { 
    
      Serial.begin(9600);
    
    }
    
    void loop() 
    
    {
    
          int val;
    
          float temp;
    
          val=analogRead(0);
    
          temp=val/40.92;  
    
          val=(int)temp;
    
          Serial.println(val);
    
          delay(1000);
    
    }
    

      串口输出的实验电压变动波形图

    /*
    
    【Arduino】66种传感器模块系列实验(61)
    
    实验六十一:电压检测模块 Voltage Sensor 电压传感器
    
    程序之二
    
    */
    
     
    
    int analogpin=0;                            
    
    int val,val5;                     
    
    int val2=0;                     
    
    int val3=0;                     
    
    int val4=0;                     
    
    void setup()
    
    {
    
        Serial.begin(9600);     
    
    }
    
    void loop()
    
    {
    
        int val,val5;
    
        float val1;
    
        val=analogRead(analogpin);             
    
        val1=val/3.9;
    
        val5=(int)val1;
    
        val3=val5/100;
    
        val2=(val5%100)/10;
    
        val4=val5%10;
    
        Serial.print("$CLEAR
    ");                 
    
        Serial.print("$GO 1 1
    ");                 
    
        Serial.print("$PRINT Voltage:
    ");         
    
        Serial.print("$GO 1 9
    "); 
    
        Serial.print("$PRINT ");         
    
        Serial.print(val3);                              
    
        Serial.print(val2);                              
    
        Serial.print(".");                               
    
        Serial.print(val4);                              
    
        Serial.println("V");                             
    
        delay(1000);                                      
    
    }
    

      串口输出的实验电压实时变动数值

    实验开源图形编程(Mind+)

    设定12V为监控电压阙值,当电压小于12V时自动报警(板载LED亮),十分精准

  • 相关阅读:
    OC基础--常用类的初步介绍与简单使用之NSDate
    mysql创建自定义函数与存储过程
    Hibernate Session 获取connection
    mysql中isnull,ifnull,nullif的用法
    mysql数据库中某项其中一个值在该项排第几,百分几
    linux下的ImageMagick安装方法
    Java 判断操作系统类型(适用于各种操作系统)
    tesseract 字体训练资料篇
    structDemo1
    C语言中.h和.c文件解析(很精彩)
  • 原文地址:https://www.cnblogs.com/eagler8/p/12239833.html
Copyright © 2011-2022 走看看