原创 【RT-Thread软件包+w601评测】②光敏联动LED灯光

2019-12-4 23:34 2461 6 5 分类: MCU/ 嵌入式
接《【RT-Thread软件包+w601评测】①开箱测评》
第一个想到的是光敏开关控制摄像头模组的日夜模式,并开启补光灯,但是搜了一下貌似这个板子不支持原子的摄像头模组,所以现在改成光敏开启LED补光灯。

不得不说RT-Thread对没有RT OS和LIUNX经验的人来说很不友好,虽然有完整开发教程和例程,入手起来仍有须努力,裸板的程序虽然繁琐但是很好理解也很好做,RT Thread需要熟悉API,程序据了解的同事说是LINUX风格。开发板的资料下载链接:https://pan.baidu.com/s/1UwbrQBbNt3Vnf9DGoETymg 提取码:q6dc)。


开发板资料目录


使用官方推荐的串口助手烧写.FLS格式文件(文件路径尽量不要有中文,我使用时候烧写失败过,放根目录下就好了)。



运行结果


本来想做个接近报警并联动阿里云,但是RT Thread还是不太熟悉。听说TR Thread有线下培训活动,希望有机会可以参加。


附源码

  1. #include <rtthread.h>
  2. #include <rtdevice.h>
  3. #include "board.h"
  4. #define DBG_TAG "main"
  5. #define DBG_LVL DBG_LOG
  6. #include <rtdbg.h>
  7. #include "sensor_lsc_ap3216c.h"
  8. #define DBG_TAG "main"
  9. #define DBG_LVL DBG_LOG
  10. #include <rtdbg.h>
  11. #define ALS_DEV "li_ap321"
  12. #define PS_DEV "pr_ap321"
  13. /* 配置 LED 灯引脚 */
  14. #define LED_PIN PIN_LED_R
  15. int main(void)
  16. {
  17. /* 设置 LED 引脚为输出模式 */
  18. rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
  19. int count = 0;
  20. rt_device_t als_dev, ps_dev;
  21. struct rt_sensor_data als_dev_data, ps_dev_data;
  22. LOG_D("Als Ps Sensor Testing Start...");
  23. /* 查找并打开光强传感器 */
  24. als_dev = rt_device_find(ALS_DEV);
  25. if (als_dev == RT_NULL)
  26. {
  27. LOG_E("can not find ALS device: %s", ALS_DEV);
  28. return -RT_ERROR;
  29. }
  30. else
  31. {
  32. if (rt_device_open(als_dev, RT_DEVICE_FLAG_RDONLY) != RT_EOK)
  33. {
  34. LOG_E("open ALS device failed!");
  35. return -RT_ERROR;
  36. }
  37. }
  38. /* 查找并打开接近传感器 */
  39. ps_dev = rt_device_find(PS_DEV);
  40. if (ps_dev == RT_NULL)
  41. {
  42. LOG_E("can not find PS device: %s", PS_DEV);
  43. return -RT_ERROR;
  44. }
  45. else
  46. {
  47. if (rt_device_open(ps_dev, RT_DEVICE_FLAG_RDONLY) != RT_EOK)
  48. {
  49. LOG_E("open PS device failed!");
  50. return -RT_ERROR;
  51. }
  52. }
  53. /* 开始读取传感器数据 */
  54. while (count <1000)
  55. {
  56. rt_device_read(als_dev, 0, &als_dev_data, 1);
  57. LOG_D("current brightness: %d.%d(lux).", (int)(als_dev_data.data.light / 10), (int)(als_dev_data.data.light % 10));
  58. rt_device_read(ps_dev, 0, &ps_dev_data, 1);
  59. if (als_dev_data.data.proximity < 10)
  60. {
  61. rt_pin_write(LED_PIN, PIN_LOW);
  62. LOG_D("led on, count: %d", count);
  63. }
  64. else
  65. {
  66. rt_pin_write(LED_PIN, PIN_HIGH);
  67. LOG_D("led off");
  68. }
  69. rt_thread_mdelay(100);
  70. }
  71. rt_device_close(als_dev);
  72. rt_device_close(ps_dev);
  73. LOG_D("Als Ps Sensor Testing Ended.");
  74. return RT_EOK;
  75. }

作者: DrouSherry, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1715169.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论3条评论)

登录后参与讨论

PSWhahaha 2020-7-30 09:55

您好,网盘分享的链接被封了,能重新分享一下吗

curton 2019-12-7 19:34

厉害!

7sms 2019-12-6 14:02

厉害!
相关推荐阅读
DrouSherry 2019-12-01 22:13
【RT-Thread软件包+w601评测】①开箱测评
收到快递很久了,一直想把软件包整好了一块发。才发现RT-Thread好难搞。裸板程序毫无压力,RT-Thread如果没有搞过的话,会很有压力。废话不多说,上开箱图:鲜有的配套盒子,一般会只有个防静电袋...
DrouSherry 2019-12-01 16:20
《一砂一世界》书评+万物互联下感知众生
目录序前言第1章 走在产业前沿的时代骄子 11.1 MEMS的前世今生 21.1.1 MEMS是什么 21.1.2 MEMS的四个阶段 51.2 小小的MEMS有大大的玄机 7第2章 揭开MEMS的神...
DrouSherry 2019-11-10 00:14
《RISC-V架构与嵌入式开发快速入门》Windows开发环境IDE eclipse建立HELLO WORD DEMO
星空下的屋顶的博文《《RISC-V架构与嵌入式开发快速入门》Windows开发环境IDE eclipse 插件安装》使用eclipse官网下载软件。我用的是蜂鸟E200系列官方提供RISC-V内核和S...
DrouSherry 2019-10-15 02:01
《手把手教你设计CPU——RISC-V处理器篇》+处理器架构新星崛起RISC-V
     2019-05-24日ARM终止华为及其子公司海思合作,任正非千辛万苦成立的海思就是为了不让外国人卡住喉咙,究竟还是失败了。    ARM核...
DrouSherry 2019-07-25 12:14
ST开发板NUCLEO-H743ZI测评-点亮LED交替闪烁1000ms
转超链接。https://forum.mianbaoban.cn/topic/71479_1_1.html搜索复制...
广告
我要评论
3
6
广告
关闭 热点推荐上一条 /5 下一条