美文网首页
air724UG + Luat玩转物联网(三) ADC

air724UG + Luat玩转物联网(三) ADC

作者: 熊爸天下_56c7 | 来源:发表于2021-03-02 15:44 被阅读0次

air724UG模组资料

在此,先整理一下air724UG模组的资料 : 参考文档http://doc.openluat.com/wiki/6?wiki_page_id=36

硬件设计手册:

http://doc.openluat.com/article/383/0

air724UG的功能框图:

air724UG的管脚描述:

参考文档: http://doc.openluat.com/wiki/6?wiki_page_id=40

air724UG A13开发板资料

在此,先整理一下开发板的硬件资料:参考文档: http://doc.openluat.com/article/2236/0%22EVB_Air724UG_A13%E5%BC%80%E5%8F%91%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97%22

开发板双侧引脚定义如下:
  • 如上图,开发板的上下插针均为26pin,共计52个引脚,上下插针GPIO口的引出达18个。
  • 上侧的插针(J24) GPIO 有11pin,GND 2pin,通用串口2组 4pin,4V与1.8V电压输出2 pin,PBINT开机按键1pin,按键脚1个KIN01pin(与下载功能复用),PSM内部保留功能引脚 1pin,其他功能4pin。
  • 下侧的插针(J26) GPIO有7pin,耳机差分输出1组 2pin,HOST专用串口1组 2pin,麦克风差分输入1组2pin,电源输出 1pin,按键 11pin(KEYOUT4复用UART3TX,KEYOUT5复用UART3RX),其他功能引脚 1pin。
其他接口定义如下:

1)左侧有一个SPI的显示屏接口为7pin (K2),其中信号线 5pin,电源 1pin, GND 1pin。
2)右侧有一个24pin 的串口相机接口(J27),其中信号线 8pin,电源 3pin,GND 2pin,NC(未使用)11 pin,其中有一根数据线可以和GPIO17复用。
3)板载有两个SIM卡槽, SIM0 (J25) 和 SIM1 (J15),其中SIM0为优先专用卡槽,SIM1的3pin信号线与GPIO29,30,31复用。
4)板载的LED有三个灯,红色为工作指示,信号由GPIO5控制,绿色为网络状态灯,蓝色为LTE注册灯,分别受GPIO_1和GPIO_4控制
5)除此之外板载接口还有串口数据检测接口(J14)、SPK接口(扬声器)与ADC(模拟电压输入)接口。

一. ADC

1. luat的ADC控制API

ADC相关文档: http://doc.openluat.com/wiki/6?wiki_page_id=144

(1).adc.open(id,scale) //开启ADC通道

参数:

参数 类型 说明
id number 需要打开的adc的通道id,0:ADC0依次类推
scale number 设置adc检测的范围(可选参数)
adc.SCALE_1V250
adc.SCALE_2V444
adc.SCALE_3V233
adc.SCALE_5V000

返回值: 返回ADC打开的结果 0:打开失败。1:打开成功

(2).adcval, voltval=adc.read(id) //功能:读取ADC

参数:

参数 类型 说明
id number 需要读取的adc的通道id,0:ADC0依次类推

返回值:

参数 类型 释义 取值
adcval number adc的原始值 当读取失败则返回0xFFFF
voltval number 转换后的电压值,单位为毫伏 当读取失败则返回0xFFFF
(3). adc.close(Id)

参数:

参数 类型 说明
id number 需要关闭的adc的通道id,0:ADC0依次类推

返回值:返回ADC关闭的结果, 0:关闭失败。1:关闭成功

2. air724UG的ADC

Air724UG模块内置两路通用ADC,可以用来做电池电压检测,温湿度检测,TDS检测等应用。ADC精度为12bit,测量输入范围为0到VBAT电压。若测量的电压输入范围大于模块的VBAT电压则需要进行分压后再输入ADC。

  • 如果ADC的输入电压超过VBAT电压,测试出的值不准确,所以一定要确认ADC的输入范围
  • 模块内部集成模块VBAT供电电压的检测ADC,LUAT开发方式下只需要调用misc.getVbatt()获取电压值,单位mV。无需要再用外部ADC检测。

3. air724UG A13开发板的ADC接口

开发板支持位置1和位置2两路ADC接口,采用跳帽来切换其不同功能:

板载热敏电阻

看上面的实物图, 位置1的上方针脚直连模块的ADC2引脚,可使用杜邦线连接外部ADC设备,同时位置1的下方针脚直连了一颗热敏电阻,可采用跳帽来短接位置1进行板载的热敏电阻ADC电压测试

板载电位器

位置2的上方针脚直连模块的ADC3引脚,可使用杜邦线连接外部ADC设备,同时位置2的下方针脚直连了一颗微调电位器,可采用跳帽来短接位置2进行板载的电位器的ADC电压调试

下面开始试验:

--- 模块功能:ADC测试.
-- @author xiongba
-- @module adc_test
-- @license MIT
-- @copyright 熊爸
-- @release 2021.03.02
module(..., package.seeall)

sys.taskInit(function()
    adc.open(2)
    local adcval, voltval = 0, 0
    while true do
        print("testing ADC2(热敏电阻)")
        adcval, voltval = adc.read(2)
        log.info("ADC2:原始值",adcval,",转换后的电压值",voltval/1000,"v")
        sys.wait(2000)
    end
end)
sys.taskInit(function()
    adc.open(3)
    local adcval, voltval = 0, 0
    while true do
        print("testing ADC3(电位器)")
        adcval, voltval = adc.read(3)
        log.info(" ADC3:原始值",adcval,",转换后的电压值",voltval/1000,"v")
        sys.wait(2000)
    end
end)

相关文章

网友评论

      本文标题:air724UG + Luat玩转物联网(三) ADC

      本文链接:https://www.haomeiwen.com/subject/qkhtqltx.html