查看“光照传感器”的源代码
←
光照传感器
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 目的 == 本教程将教大家使用[[Microduino-Weather/zh|Microduino-Weather扩展板]]上集成的TSL2561光照传感器,结果将在Microduino OLED中显示。 == 设备 == *'''[[Microduino-CoreSTM32/zh]]''' Microduino-CoreSTM32小巧精悍,其内核来自于ARM公司具有突破性的Cortex-M3内核的32位闪存微控制器。该内核是专门设计于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。 *'''[[Microduino-Weather/zh|Microduino-Weather扩展板]] ''' Microduino Weather模块集成了三种传感器,分别是光照强度传感器(TSL2561),数字气压传感器(BMP180),数字温湿度传感器(AM2321)。采用I2C接口与核心相连。广泛用于气象监测。 *'''[[Microduino-OLED/zh]]''' Microduino-Oled是基于SSD1306的0.96吋128x64 OLED显示模块。采用I2C接口,3.3V 电源供电。像素为128*64(128列*64行)。 * 其他硬件设备 :*OLED转接线 一根 :*USB数据线 一根 == 文档 == *TSL2561光照传感器数据手册: '''[[File:TSL2561.pdf]]''' == 原理 == === TSL2561传感器 === TSL2561是TAOS公司推出的第二代光强数字转换芯片,具有高速、低功耗、宽量程、可编程灵活配置等优点。TSL2561具有I2C接口,用于将光照强度转换成数字信号输出。 [[File:sensor3_1.jpg|600px|center|thumb]] ''' 主要特点: ''' *可编程配置许可的光强度上下阈值,当实际光照度超过该阈值时给出中断信号; *数字输出符合标准的I2C(TSL2561)总线协议; *模拟增益和数字输出时间可编程控制; *1.25 mm×1.75 mm 超小封装, 在低功耗模式下, 功耗仅为 0.75 mW; *自动抑制 50 Hz/60 Hz 的光照波动。 '''TSL2561引脚功能:''' TSL2561传感器引脚如下图所示: [[File:sensor3_2.jpg|600px|center|thumb]] 各个引脚的功能: [[File:sensor3_3.jpg|600px|center|thumb]] 器件地址选择引脚状态: [[File:sensor3_4.jpg|600px|center|thumb]] '''注意:[[Microduino-Weather/zh|Microduino-Weather扩展板]]上的TSL2561的器件访问地址选择引脚接地了,所以期间地址为0x29。 ''' ''' 内部结构和工作原理 ''' 其内部结构如下图所示。通道 0 和通道 1 是两个光敏二极管,其中通道 0 对可见光和红外线都敏感,而通道 1 仅对红外线敏感。积分式 A/D 转换器对流过光敏二极管的电流进行积分,并转换为数字量,在转换结束后将转换结果存入芯片内部通道 0 和通道 1 各自的寄存器中。 当一个积分周期完成之后,积分式 A/D 转换器将自动开始下一个积分转换过程。 [[File:sensor3_5.jpg|600px|center|thumb]] 微控制器可通过 I2C 总线协议访问。对 TSL2561的控制是通过对其内部的 16 个寄存器的读写来实现的。 内部16个寄存器的功能如下所示: [[File:sensor3_6.jpg|600px|center|thumb]] === 原理图 === [[File:sensor3_7.jpg|600px|center|thumb]] TSL2561光照传感器模块集成在了[[Microduino-Weather/zh|Microduino-Weather扩展板]] 上,所以无需外部接线,直接通过I2C与其通信即可。 [[Microduino-CoreSTM32/zh]]叠加在[[Microduino-Weather/zh|Microduino-Weather扩展板]]上,OLED屏通过转接线与[[Microduino-Weather/zh|Microduino-Weather扩展板]]连接。 ''' 注意:数据线需插在[[Microduino-CoreSTM32/zh]]上,不能插在扩展板上,不然会无法下载程序。 ''' == 程序 == 需要用到的库: 测试程序: 程序说明: 程序在初始化OLED和TSL2561后通过getLuminosity (&Channel0,&Channel1)函数读取TSL2561传感器通道0和通道1的数据。根据读取到的通道0和通道1的数据计算出光照度的大小,光照度的单位lux。 此外传感器的积分时间和增益都采取默认设置,即积分时间为402ms,增益为low gain (1×),具体请参见数据手册“Timing Register”寄存器。 == 调试 == 步骤一:数据线连接到[[Microduino-CoreSTM32/zh]],OLED显示屏通过传接线连接到[[Microduino-Weather/zh|Microduino-Weather扩展板]]。 步骤二:下载TSL2561库,把TSL2561文件夹拷贝到Maple IDE安装文件下的libraries中,打开测试程序sensor3_illuminationSensor。 步骤三:编译程序,下载程序。 步骤四:打开串口监视界面,观察串口监视界面和OLED显示屏上光照度的变化。 == 结果 == 较暗环境下光照度几乎为0,开白炽灯后光照度增加,用手机强光LED照射后光照度变为1000多。 [[File:sensor3_8.jpg|600px|center|thumb]] [[File:sensor3_9.jpg|600px|center|thumb]] [[File:sensor3_10.jpg|600px|center|thumb]] [[File:sensor3_11.jpg|600px|center|thumb]] [[File:sensor3_12.jpg|600px|center|thumb]] == 视频 ==
返回至
光照传感器
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息