119
个编辑
更改
→光照度实验
=== 光照度实验 ===
光照度是通过光敏传感器,将光照度转成电信号。在NRF52832DK评估板上,利用光敏元件,将光强度转成电压信号,通过ADC对电压信号进行采集,从而可以测量光照度。其原理图如下图所示。
[[文件:Lux.png|居中|缩略图|313x313像素]]
当光照度增加时,流过Q6的电流变大,从而分得的电压变小;当光照度变小时,流过Q6的电流变小,从而分得的电压变大。所以光照度与电压信号成反比。
==== 代码分析 ====
<syntaxhighlight lang="c" line="1">
//******************************************************************************
// fn :main
//
// brief : 主程序入口
//
// param : none
//
// return : none
int main(void)
{
LED_Init(); //LED 初始化
bsp_board_lcd_init();
GUI_Init();
GUI_SetBkColor(GUI_BLUE);
GUI_Clear();
GUI_SetColor(GUI_RED);
GUI_DispString("ADC Example");
LUX_SaadcInit();
for(;;)
{
#if defined(SAADC_BLOCKING)
if(nrf_drv_saadc_sample_convert(NRF_SAADC_INPUT_AIN6,m_buffer_pool) == NRF_SUCCESS)
{
GUI_DisprintfAt(0,32,"ADC:%04d",m_buffer_pool[0]);
}
#else
nrf_drv_saadc_sample();
#endif
nrf_delay_ms(500);
}
}
</syntaxhighlight>
==== 实验现象 ====