0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】通过Ad采样读取光敏传感器结果

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-31 15:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2289287_1_1.html


1. 光敏电阻介绍
通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出电子—空穴对,参与导电,使电路中电流增强。为了获得高的灵敏度,光敏电阻的电极常采用梳状图案,它是在一定的掩膜下向光电导薄膜上蒸镀金或铟等金属形的。用来检测有没有遮挡,比如门前有没有人来。
2. 板上资源

环境监测板上有一块光敏电阻,实物图和原理图如下图所示。
pYYBAGK2zPyAN4UiAABTbDrZwwI911.png poYBAGK2zVCAWE8KAAmxQ3P0k3g149.jpg
3. 代码逻辑
当光敏电阻被遮挡住时电阻变小,原理图中的Q2和Q4不导通,因此输出电位为5V高电平。
  1. /* get gpio5 Voltage */
  2. void GetGpio5Voltage(const char *param)
  3. {
  4. unsigned short data = 0;
  5. unsigned short vlt = 0;
  6. float voltage;
  7. float vltMax = 0;
  8. float vltMin = VLT_MIN;
  9. hi_unref_param(param);
  10. memset_s(g_gpio5AdcBuf, sizeof(g_gpio5AdcBuf), 0x0, sizeof(g_gpio5AdcBuf));
  11. for (int i = 0; i < ADC_TEST_LENGTH; i++) {
  12. // ADC_Channal_2自动识别模式CNcomment:4次平均算法模式 CNend
  13. unsigned int ret = AdcRead(IOT_ADC_CHANNEL_2, &data,
  14. IOT_ADC_EQU_MODEL_4, IOT_ADC_CUR_BAIS_DEFAULT, 0xF0);
  15. if (ret != HI_ERR_SUCCESS) {
  16. printf("ADC Read Failn");
  17. returnHI_NULL;
  18. }
  19. g_gpio5AdcBuf[i] = data;
  20. }
  21. for (int i = 0; i < ADC_TEST_LENGTH; i++) {
  22. vlt = g_gpio5AdcBuf[i];
  23. voltage = (float)vlt * VOLTAGE_1_8_V *
  24. VOLTAGE_4_tiMES / ADC_CHANNAL_RANGE; /* vlt * 1.8* 4 / 4096.0为将码字转换为电压 */
  25. vltMax = (voltage > vltMax) ? voltage : vltMax;
  26. vltMin = (voltage < vltMin) ? voltage : vltMin;
  27. }
  28. if (vltMax > VOLTAGE_0_6_V && vltMax < VOLTAGE_1_V) { /* 电压最大值大于0.6小于1.0 */
  29. GpioKey1IsRFuncMode();
  30. } else if (vltMax > VOLTAGE_1_V && vltMax < VOLTAGE_1_5_V) { /* 电压最大值大于1.0小于1.5 */
  31. GpioKey2IsrFuncType();
  32. } else if (vltMax < VOLTAGE_0_6_V) { /* 电压最大值小于0.6 */
  33. printf("gpio9_LED_light:vltMax=%0.2f, vltMin=%0.2frn", vltMax, vltMin);
  34. Gpio9LedLightFunc();
  35. }
  36. printf("key_5:vltMax=%0.2f, vltMin=%0.2frn", vltMax, vltMin);
  37. }
复制代码
其中调用了AdcRead方法,定义如下。
  1. unsigned int AdcRead(IotAdcChannelIndex channel, unsigned const short *data, IotAdcEquModelSel equModel,
  2. IotAdcCurBais curBais, unsigned const short rstCnt)
  3. {
  4. return hi_adc_read((hi_adc_channel_index)channel, (hi_u16*)data, (hi_adc_equ_model_sel)equModel,
  5. (hi_adc_cur_bais)curBais, (hi_u16)rstCnt);
  6. }
复制代码

4. 实物演示
当光敏电阻被遮挡了,则led灯熄灭,否则led等亮起。如下视频。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    15

    文章

    2462

    浏览量

    130017
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36287
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7799
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在 VisionFive 2 上使用光敏传感器读取光强度数据

    sensor: 4. 总结 在这个演示中,我们学习了如何读取光敏传感器的AO信号。 通过光敏传感器
    发表于 03-11 07:03

    技术资讯 I Wi-Fi 模块设计

    本文要点Wi-Fi模块设计旨在打造一套紧凑且高效的硬件和软件解决方案,使设备能够通过Wi-Fi网络实现通信。Wi-Fi模块设计是一个复杂的过程,要求研发人员兼具硬件与软件工程方面的专业
    的头像 发表于 02-27 17:12 872次阅读
    技术资讯 I <b class='flag-5'>Wi-Fi</b> 模块设计

    ESP32 Wi-Fi 控制 LED 灯的原理

    在智能家居、物联网设备中,用手机通过Wi-Fi控制灯光、风扇或插座,已经非常普遍。而在嵌入式开发中,ESP32是最常用的Wi-Fi模块之一。本文将带你系统理解:ESP32是如何通过
    的头像 发表于 01-09 19:04 571次阅读
    ESP32 <b class='flag-5'>Wi-Fi</b> 控制 LED 灯的原理

    Wi-Fi:无线连接的全球通用语

    一、什么是Wi-FiWi-FiWi-Fi联盟制造商的商标认证,是基于IEEE 802.11标准的无线局域网技术。它允许电子设备在特定范围内无线接入网络,实现高速数据交换与互联网访问,已成为
    发表于 01-07 09:49

    Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法

    和支持 Matter 的设备、工业传感器和智慧城市基础设施,以及可穿戴设备和医疗器械。 nRF7002 EBII 通过与nRF54L15 和 nRF54LM20 开发套件实现无缝软硬件集成,加速
    发表于 12-10 11:58

    Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略

    物联网的快速发展,Wi-Fi技术的成熟的情况下,越来越多的场景需要用到Wi-Fi来无线传输数据,尤其是移动设备中,怎么再设备中选择合适的Wi-Fi模块呢?下面我们来介绍下Wi-Fi模块
    的头像 发表于 12-09 11:27 1319次阅读
    <b class='flag-5'>Wi-Fi</b>模块选型指南 | 低功耗蓝牙/<b class='flag-5'>Wi-Fi</b> 6模块推荐 | 物联网设备集成攻略

    浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波新技术

    ,美国联邦通信委员会(FCC)投票通过将6GHz频谱划为免许可频段供Wi-Fi使用,这标志着Wi-Fi正式进入“三频”时代——除Wi-Fi 6及前代技术使用的2.4GHz和5GHz频段
    发表于 09-19 18:29 2452次阅读
    浅谈<b class='flag-5'>Wi-Fi</b> 6E与<b class='flag-5'>Wi-Fi</b> 7的关键器件——BAW滤波<b class='flag-5'>器</b>新技术

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较

    是一种著名的无线网络技术,用于设备的局域网和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。 Wi-Fi 定位是一种地理定位功能
    发表于 08-31 21:01

    LitePoint Wi-Fi测试软件减轻客户设计负担

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 1382次阅读
    LitePoint <b class='flag-5'>Wi-Fi</b>测试软件减轻客户设计负担

    摩尔斯微电子携手Airfide在日本COMNEXT展会推出Wi-Fi HaLow占用传感器

    ,与Airfide Networks合作推出的下一代微移动占用传感器AFN6843正式全面上市,并强化Wi-Fi HaLow连接功能。此次发布于日本下一代通信技术博览会(COMNEXT)期间举行,此前该
    的头像 发表于 08-01 10:00 1.8w次阅读

    Wi-Fi FEM价格战,真的不可避免吗?

    的发展,三伍微电子已经形成三大产品线:  1、路由Wi-Fi FEM(包含2.4G 射频PA系列和5.8G/6G射频PA系列) 2、手机Wi-Fi FEM 3、IoT FEM 路由
    的头像 发表于 06-19 16:44 791次阅读

    Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1

    2023年11月成立,将持续致力于推动802.11bn的标准化进程,直至符合Wi-Fi 8标准且通过完整认证的产品问世。 表1. Wi-Fi 技术的演进 图2. IEEE 802.11be
    发表于 06-13 11:09

    ‌迅通PTR7002 Wi-Fi 6模块技术解析

    延长至18个月以上。 ‌典型技术应用场景‌ ‌工业传感器网络‌ 通过-40℃宽温域支持与抗信道干扰算法,实现高密度部署下的可靠数据传输(如RS485转Wi-Fi网关)。 ‌医疗监测设备‌ 利用硬件级
    发表于 06-10 10:38

    [CYW4373] BT device_id正常,Wi-Fi device_id失败的原因?

    这是 Liam,在 WPG(IFX、KR disty)担任 FAE。我们的客户对 CYW4373 BT/Wi-Fi 检测问题有疑问。 1)问题 我们客户的系统通过 USB 集线器连接
    发表于 06-05 06:07