描述
本文来源电子发烧友社区,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2289287_1_1.html
1. 光敏电阻介绍
通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出电子—空穴对,参与导电,使电路中电流增强。为了获得高的灵敏度,光敏电阻的电极常采用梳状图案,它是在一定的掩膜下向光电导薄膜上蒸镀金或铟等金属形的。用来检测有没有遮挡,比如门前有没有人来。
2. 板上资源
环境监测板上有一块光敏电阻,实物图和原理图如下图所示。
3. 代码逻辑
当光敏电阻被遮挡住时电阻变小,原理图中的Q2和Q4不导通,因此输出电位为5V高电平。
-
/* get gpio5 Voltage */
-
void GetGpio5Voltage(const char *param)
-
{
-
unsigned short data = 0;
-
unsigned short vlt = 0;
-
float voltage;
-
float vltMax = 0;
-
float vltMin = VLT_MIN;
-
-
hi_unref_param(param);
-
memset_s(g_gpio5AdcBuf, sizeof(g_gpio5AdcBuf), 0x0, sizeof(g_gpio5AdcBuf));
-
for (int i = 0; i < ADC_TEST_LENGTH; i++) {
-
// ADC_Channal_2 自动识别模式 CNcomment:4次平均算法模式 CNend
-
unsigned int ret = AdcRead(IOT_ADC_CHANNEL_2, &data,
-
IOT_ADC_EQU_MODEL_4, IOT_ADC_CUR_BAIS_DEFAULT, 0xF0);
-
if (ret != HI_ERR_SUCCESS) {
-
printf("ADC Read Failn");
-
return HI_NULL;
-
}
-
g_gpio5AdcBuf[i] = data;
-
}
-
-
for (int i = 0; i < ADC_TEST_LENGTH; i++) {
-
vlt = g_gpio5AdcBuf[i];
-
voltage = (float)vlt * VOLTAGE_1_8_V *
-
VOLTAGE_4_tiMES / ADC_CHANNAL_RANGE; /* vlt * 1.8* 4 / 4096.0为将码字转换为电压 */
-
vltMax = (voltage > vltMax) ? voltage : vltMax;
-
vltMin = (voltage < vltMin) ? voltage : vltMin;
-
}
-
if (vltMax > VOLTAGE_0_6_V && vltMax < VOLTAGE_1_V) { /* 电压最大值大于0.6小于1.0 */
-
GpioKey1IsRFuncMode();
-
} else if (vltMax > VOLTAGE_1_V && vltMax < VOLTAGE_1_5_V) { /* 电压最大值大于1.0小于1.5 */
-
GpioKey2IsrFuncType();
-
} else if (vltMax < VOLTAGE_0_6_V) { /* 电压最大值小于0.6 */
-
printf("gpio9_LED_light:vltMax=%0.2f, vltMin=%0.2frn", vltMax, vltMin);
-
Gpio9LedLightFunc();
-
}
-
printf("key_5:vltMax=%0.2f, vltMin=%0.2frn", vltMax, vltMin);
-
}
复制代码
其中调用了AdcRead方法,定义如下。
-
unsigned int AdcRead(IotAdcChannelIndex channel, unsigned const short *data, IotAdcEquModelSel equModel,
-
IotAdcCurBais curBais, unsigned const short rstCnt)
-
{
-
return hi_adc_read((hi_adc_channel_index)channel, (hi_u16*)data, (hi_adc_equ_model_sel)equModel,
-
(hi_adc_cur_bais)curBais, (hi_u16)rstCnt);
-
}
复制代码
4. 实物演示
当光敏电阻被遮挡了,则led灯熄灭,否则led等亮起。如下视频。
打开APP阅读更多精彩内容