ADC - Shaofa/AliOS-Things-Certification-Manual GitHub Wiki

#ADC API

API
说明
ADC.open(id)
功能:配置和启动adc
参数: id:和板级配置文件中的id保持一致;
返回值:成功:回资源handle,失败:-1
ADC.read(handle)
功能:获取当前adc值
参数:handle:资源handle,为ADC.open的返回值;
返回值:adc值
ADC.close(handle)
功能:关闭adc
参数:handle:资源handle,为ADC.open的返回值;
返回值:0=ok other=fail;

#板级配置参数

参数名
类型/功能/值
说明
"id"
功能:资源唯一性标志;
类型:string
值:任意,保持数组内id值唯一;
该id值和js层GPIO.open时的id值保持一致;
"port"
功能:端口值;
        <span data-type="color" style="color:#F5222D">类型:</span>number </div>
      <div data-type="p">
        <span data-type="color" style="color:#F5222D">值:</span>和板级资源描述保持一致;</div>
    </td>
    <td rowspan="1" colSpan="1">
      <div data-type="p">该port值和HAL层API对应的port保持一致;</div>
    </td>
  </tr>
  <tr height="34px">
    <td rowspan="1" colSpan="1">
      <div data-type="p">&quot;sampling&quot;</div>
    </td>
    <td rowspan="1" colSpan="1">
      <div data-type="p"><span data-type="color" style="color:#F5222D">功能:</span>采样频率; </div>
      <div data-type="p"><span data-type="color" style="color:#F5222D">

类型:number

值:依据实际情况进行配置;

#板级配置示范

/*apps/js/board_config.json*/
{

	"ADC":[
		{
		"id":"light",
		"port":34,
		"sampling":12000000
		}
	]

}

#ESP32之光敏模块

#硬件

1)esp32Kit开发板 2)光敏模块

1.png | left | 412x404

#接线

EPS32 IO34引脚 连接 按键模块的OUT引脚; EPS32 GND引脚 连接 按键模块的GND引脚; EPS32 3.3V引脚 连接 按键模块的VCC引脚;

#配置

/*apps/js/board_config.json*/
{

	"ADC":[
		{
		"id":"light",
		"port":34,
		"sampling":12000000
		}
	]

}

#代码

var light_handle = ADC.open('light');
setInterval(function(){
	var i = 0;
	var LigthValue = 0;
	for(i=0;i<10;i++){
		LigthValue += ADC.read(light_handle);
	}
	LigthValue = LigthValue/10;
	if(LigthValue > 4500){
		LigthValue = 4500;
	}
	LigthValue = 100 - LigthValue/45;
	console.log('LigthValue:'+LigthValue);
},5000);

#现象

光敏范围:0-100,越大代表亮度越强。

1.png | left | 313x265

#TODO

⚠️ **GitHub.com Fallback** ⚠️