请选择 进入手机版 | 继续访问电脑版
查看: 3133|回复: 5

[原创] 【高校争霸赛】智能家居进度①——读取光照强度

[复制链接]
  • TA的每日心情
    开心
    2017-11-15 10:33
  • 签到天数: 79 天

    [LV.6]常住居民II

    89

    主题

    2169

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    1779
    最后登录
    2020-8-22
    发表于 2016-11-12 12:56:52 | 显示全部楼层 |阅读模式
    所属团队:济南大学 1209Lab
    预实现功能:
    1.检测环境温湿度和光照强度,显示数据,预留其他传感器的拓展接口。
    2.360度全向红外发射器,能够学习并自动编码对设备进行遥控。
    3.能够调整家庭的背景音乐。
    4.通过WIFI将数据传输到网页云平台,能够实现在线查看实时家居数据和控制家用电器,如灯、风扇和窗帘。

    目前已经完成了60%左右的功能,还需要进一步的完善,这两天比较忙,没更新帖子,帖子会陆续更新。

    这一贴将会介绍读取光照传感器,我们通过比较市面上几种常用的光照传感器,最终选取了价格较为低廉的BH1750,该传感器采用IIC总线通信,数字式环境光照传感器,内置16位的模数转换器,它能够直接输出一个数字信号,不需要再做复杂的计算。这是一种更精良的和容易使用简易电阻器的版本,通过计算电压,来获得有效的数据。这款环境光传感器能够直接通过光度计来测量。光强度的单位是流明"lx"。当物体在均匀的光照下它能够在每平方米获得1lx的光通量,它们的光强度是1lx。有时为了充分利用光源,你可以增加一个光源的反射装置。那样在某些方向就能获得更多的光通量,以增加被照表面的亮度。

    #include "BH1750.h"

    #define BH1750_Address 0x46 //器件地址

    /*************************************************************************
    *                     1 2 0 9 电 机 拖 动 实 验 室
    *  函数名称:BH1750_Init
    *  功能说明:BH1750初始化
    *  参数说明:无
    *  函数返回:无
    *  修改时间:2016年11月10日
    *  备       注:无
    *  作    者:何昌昕
    *************************************************************************/
    void BH1750_Init(void)
    {
       BH1750_SingleWrite(0x01);//高精度模式
    }

    /*************************************************************************
    *                     1 2 0 9 电 机 拖 动 实 验 室
    *  函数名称:BH1750_GetData
    *  功能说明:BH1750获取光照强度
    *  参数说明:无
    *  函数返回:光照强度:lux
    *  修改时间:2016年11月10日
    *  备       注:无
    *  作    者:何昌昕
    *************************************************************************/
    uint8_t BH1750_GetData(void)
    {   
        uint8_t i,lux;
        uint8_t Data[3];
      
        BH1750_SingleWrite(0x01);
        BH1750_SingleWrite(0x10);  
      delay_ms(120);
        IIC_Start();                      //起始信号
        IIC_SendByte(BH1750_Address+1);   //发送设备地址+读信号
        for (i=0; i<3; i++)               //连续读取3个地址数据,存储中BUF
        {
            Data = I2C_ReceiveByte();     //BUF[0]存储0x32地址中的数据
            if (i == 3)
            {
                IIC_NoAck();                  //最后一个数据需要回NOACK
            }
            else
            {        
                IIC_Ack();                    //回应ACK
            }
        }
        IIC_Stop();                       //停止信号
       
        lux=Data[0];
        lux=(lux<<8)+Data[1];
        lux=(float)lux/1.2;                  //参照数据手册
        return lux;
    }

    /*************************************************************************
    *                     1 2 0 9 电 机 拖 动 实 验 室
    *  函数名称:BH1750_SingleWrite
    *  功能说明:BH1750写指令
    *  参数说明:无
    *  函数返回:无
    *  修改时间:2016年11月10日
    *  备       注:无
    *  作    者:何昌昕
    *************************************************************************/
    void BH1750_SingleWrite(uint8_t REG_Address)
    {
        IIC_Start();                  //起始信号
        IIC_SendByte(BH1750_Address); //发送设备地址+写信号
        IIC_SendByte(REG_Address);    //内部寄存器地址
        IIC_Stop();                   //发送停止信号
    }

    /*----------------------------end of BH1750.c-------------------------------*/

    这边就不发效果图了,贴上源代码和数据手册 BH1750.zip (851.23 KB, 下载次数: 9)
    签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    15182
    最后登录
    1970-1-1
    发表于 2016-11-12 13:35:16 | 显示全部楼层
    支持一个!
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    17

    帖子

    0

    新手上路

    Rank: 1

    积分
    36
    最后登录
    2016-11-12
    发表于 2016-11-12 14:09:56 | 显示全部楼层
    赞一个
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-11-23 10:20
  • 签到天数: 45 天

    [LV.5]常住居民I

    4

    主题

    689

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1346
    最后登录
    2019-2-13
    发表于 2016-11-12 14:26:31 | 显示全部楼层
    赞一个
    dfdfdfdfdfdfdfd dsfa222
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-1 11:36
  • 签到天数: 96 天

    [LV.6]常住居民II

    2

    主题

    670

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1543
    最后登录
    2017-11-16
    发表于 2016-11-13 08:12:50 | 显示全部楼层
    签到。。。。。。。。。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-4-20 15:06
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    56

    帖子

    0

    注册会员

    Rank: 2

    积分
    166
    最后登录
    2018-4-20
    发表于 2016-11-13 12:10:45 | 显示全部楼层

    支持一个
    开心,来签到了
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-19 01:57 , Processed in 0.149331 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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