查看: 1865|回复: 4

【智能家居挑战赛】+智能宿舍改造二 光线监测及调整

[复制链接]
  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    91

    主题

    2926

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    7799
    最后登录
    2024-4-18
    发表于 2021-4-25 18:28:55 | 显示全部楼层 |阅读模式
    这部分增加了光线监测,完成窗帘或百叶窗自动调节光亮的功能。没想好怎么使用电机模拟窗帘,暂时使用板卡上的LED灯LD5的亮度调节来模拟光线变化控制。如图1所示:

    实现代码如下:
    1. /*
    2. *********************************************************************************************************
    3. *        函数名称: ADCLight_ChangValue
    4. *        功能说明: 对灯光光敏电阻采样
    5. *        形参:
    6. *        返回值:
    7. *********************************************************************************************************
    8. */
    9. void ADCLight_ChangValue(void)
    10. {
    11.          adc_result_info_t adcResultInfoStruct;
    12.          ADC_DoSoftwareTriggerConvSeqA(ADC0);
    13.                
    14.    while(!ADC_GetChannelConversionResult(ADC0, 6U, &adcResultInfoStruct))
    15.          {}
    16.              ADLightResult = adcResultInfoStruct.result;
    17.                   ADLightNumber = adcResultInfoStruct.channelNumber ;
    18.                   Delay_nms(0xAFFF);
    19. }
    复制代码
    1. /*
    2. *********************************************************************************************************
    3. *        函数名称: Light_PWMConfig
    4. *        功能说明: 控制灯光亮度PWM配置
    5. *        形参:
    6. *        返回值:
    7. *********************************************************************************************************
    8. */
    9. void Light_PWMConfig(void)
    10. {
    11.                 ctimer_config_t config;
    12. //    uint32_t LightsrcClock_Hz;
    13.          SYSCON->ASYNCAPBCTRL = 1;
    14.           /* CTimer0 counter uses the AHB clock, some CTimer1 modules use the Aysnc clock */
    15.     LightsrcClock_Hz = CLOCK_GetFreq(kCLOCK_BusClk);
    16.     CTIMER_GetDefaultConfig(&config);

    17.     CTIMER_Init(CTIMER0, &config);
    18. //    CTIMER_SetupPwm(CTIMER0, kCTIMER_Match_1, 90, 1000, srcClock_Hz, false);
    19.     CTIMER_StartTimer(CTIMER0);       
    20. }
    复制代码
    通过不同的AD值,来调整输出PWM的占空比,可实现亮度调节。也可以使用电机来调整窗帘的高度,实现功能。

    找到了以前测试CH4的模块,其他的气体模块找不到了,暂时使用其模拟监测室内气体变化,通过AD来标称,OLED显示,如图2所示:

    实现代码如下:
    1. /*
    2. *********************************************************************************************************
    3. *        函数名称: ADCCH4_ChangValue
    4. *        功能说明: 对甲烷气体采样
    5. *        形参:
    6. *        返回值:
    7. *********************************************************************************************************
    8. */
    9. //float CH4temp;
    10. void ADCCH4_ChangValue(void) //CH4sensor
    11. {   adc_result_info_t adcResultInfoStruct;
    12. //          CH4temp = ADCH4Result;
    13.           CH4Value = (ADCH4Result*3.3/4095)*625-250;//((ADCH4Result*3.3/4095)*0.625-0.25)*100;
    14.      ADC_DoSoftwareTriggerConvSeqA(ADC0);
    15.    while(!ADC_GetChannelConversionResult(ADC0, 7U, &adcResultInfoStruct))
    16.          {}
    17.              ADCH4Result = adcResultInfoStruct.result;
    18.                   ADCH4Number = adcResultInfoStruct.channelNumber ;
    19.                   Delay_nms(0xAFFF);
    20. }
    复制代码

      这部分其实也挺有意思的,时间匆忙,在下一篇改完以后中会把main.c附件一下,今天暂时先完成到这里。

    图1

    图1

    图2

    图2
    加油哦
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2021-4-25 18:50:16 | 显示全部楼层
    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    5 小时前
  • 签到天数: 1204 天

    [LV.10]以坛为家III

    22

    主题

    4707

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    8030

    活跃会员

    最后登录
    2024-4-19
    发表于 2021-4-26 09:22:00 | 显示全部楼层
    学习一下,谢谢分享
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    91

    主题

    2926

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    7799
    最后登录
    2024-4-18
     楼主| 发表于 2021-4-26 16:59:42 | 显示全部楼层
    lospring 发表于 2021-4-26 09:22
    学习一下,谢谢分享

    谢谢支持
    加油哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    91

    主题

    2926

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    7799
    最后登录
    2024-4-18
     楼主| 发表于 2021-4-26 17:00:22 | 显示全部楼层
    加油哦
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-19 22:23 , Processed in 0.120709 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表