匿名
未登录
登录
丢石头百科
搜索
查看“UV Sensor (B)”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
UV Sensor (B)
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{外围模块|colorscheme=blue |img=[[File:UV-Sensor-B-1.jpg|360px |alt=UV-Sensor (B) |link=http://{{SERVERNAME}}/shop/UV-Sensor-B.htm]] |category1=传感器 |category2=光传感器 |brand=Waveshare |feature = 紫外线传感器 | interface1 =I2C }} <div class="tabbertab" title="说明"> ==产品概述== UV_Sensor (B)是一个以测量紫外线为主的多功能光学测量模块,该模块使用的传感器为Si1145。该芯片测量紫外线可以直接输出紫外线指数的100倍整数,用户几乎不需要数据转换和校准,就可以得到较为精确的紫外线指数的值。该芯片还支持测量的环境光强度包括红外线强度和可见光强度。<br /> ==产品特性== *使用Si1145为主控芯片,内置ADC,不仅可以测量紫外线,还能测环境光强 *I2C接口可直接输出紫外线指数,无需标定 *支持中断信号输出,可编程上下限阈值 *内置电平转换电路,使模块可直接接入3.3V / 5V的MCU系统 ==管脚配置== {|border=2; style="width:700px;" |-style="background:#abc; color:black;" align="center" |功能引脚||描述 |- align="center" |VCC||电源正 |- align="center" |GND||电源地 |- align="center" |SDA||I2C的数据信号 |- align="center" |SCL ||I2C的时钟信号 |- align="center" |INT||中断信号 |} ==工作原理== Si1145仅支持I2C通信,但也支持输入和输出中断信号来辅助通信。主设备通过I2C对Si1145内的寄存器进行读写,从而设置芯片的参数和读取测量数据。<br /> ===I2C通信协议=== [[File:UV Sensor (B)- (1).png|800px]]<br /> 在I2C通信时,先发送一个7bit的从设备地址+1bit的读写位,等待设备的响应。<br /> 在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。<br /> 在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。<br /> ==使用说明== 该模块提供STM32,Arduino,RaspberryPi的例程,但提供的例程中均未使用到中断,故INT引脚不会出现在配置列表中。<br /> ===STM32的使用=== 1. 硬件配置<br /> 该例程使用的开发板为:[http://www.waveshare.net/shop/XNUCLEO-F103RB.htm XNUCLEO-F103RB]<br /> {|border=2; style="width:700px;" |-style="background:#abf; color:black;" align="center" |功能引脚||开发板 |- align="center" |VCC||3V3/5V |- align="center" |GND||GND |- align="center" |SDA||SDA/D14/PB8 |- align="center" |SCL||SCL/D15/PB9 |} 2. 工程文件说明<br /> 示例工程基于MDK-ARM V5,使用STM32CubeMX配置生成。<br /> 工程目录/Src下:<br /> si1145.c : 为si1145的底层驱动文件,包含了芯片初始化,读写数据等函数。<br /> 工程目录/Inc下:<br /> Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。<br /> 3. 现象<br /> 将模块与开发板连接,将开发板的串口与电脑连接,烧录程序,打开串口助手,即可看到串口助手上接收到的数据。<br /> ===Arduino的使用=== 1. 硬件配置<br /> 该例程使用的开发板为:[http://www.waveshare.net/shop/UNO-PLUS.htm UNO_PLUS] {|border=2; style="width:700px;" |-style="background:#fab; color:black;" align="center" |功能引脚||开发板 |-align="center" |VCC||3V3/5V |-align="center" |GND||GND |-align="center" |SDA||SDA |-align="center" |SCL||SCL |} 2. 文件说明<br /> 工程目录下:<br /> Si1145.cpp:芯片的驱动源文件,包含了芯片初始化,读写数据等函数。<br /> Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。<br /> UV_Sensor_demo.ino:Arduino的主函数源文件,包含了芯片初始化以及数据读写等函数的执行。<br /> 3. 使用说明<br /> 将模块与开发板连接好之后,打开Arduino的串口监视器,烧录程序后,可在串口监视器看到测量的数据。<br /> ===RaspberryPi的使用=== 1. 硬件配置<br /> 该例程使用的开发板为:RaspberryPi<br /> {|border=2; style="width:700px;" |-style="background:#8f8; color:black;" align="center" |功能引脚||开发板 |-align="center" |VCC||3V3/5V |-align="center" |GND||GND |-align="center" |SDA||SDA |-align="center" |SCL||SCL |} 2. 开启树莓派的I2C<br /> sudo raspi-config 选择 Interface Options -> I2C -> yes 启动 I2C 内核驱动<br /> 3. 库的安装<br /> 关于树莓派库的安装详细见微雪课堂:<br /> http://www.waveshare.net/study/article-742-1.html<br /> 此处详细介绍了 wiringPi、bcm2835、python 的安装。<br /> 4. 使用<br /> 把对应的例程拷贝进树莓派中(可通过 samba 或者直接复制到 SD)即可,以下示例均复制 到了树莓派 pi 用户目录下。<br /> 5. 程序<br /> 5.1 BCM2835使用<br /> (1) 安装bcm2835函数库<br /> (2) 运行ls命令,可见如下文件<br /> [[File:UV Sensor (B)- (2).png|800px]]<br /> mian.c:为主函数的源文件。<br /> Si1145.c:si1145芯片的驱动源文件,包含了芯片的初始化以及数据读写等函数。<br /> Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。<br /> Makefile:为源代码文件交叉编译脚本,用于编译代码并生成可执行文件。若您修改了源代码,则需要先运行sudo make clean来删除所有已经生成的文件,再运行sudo make命令来生成可执行文件。<br /> UV_demo:为编译生成的可执行文件。<br /> 其他的.o文件则是编译过程中生产的中间文件,一般不需要理会。<br /> (3) 运行程序:<pre> sudo ./UV_demo</pre> (4) 现象:控制窗口则会显示打印芯片测量得到的数据。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行。<br /> 5.2 wiringPi使用<br /> (1) 安装wiringPi函数库<br /> (2) 运行ls命令,可见如下文件<br /> [[File:UV Sensor (B)- (3).png|800px]]<br /> mian.c:为主函数的源文件。<br /> Si1145.c:si1145芯片的驱动源文件,包含了芯片的初始化以及数据读写等函数。<br /> Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。<br /> Makefile:为源代码文件交叉编译脚本,用于编译代码并生成可执行文件。若您修改了源代码,则需要先运行sudo make clean来删除所有已经生成的文件,再运行sudo make命令来生成可执行文件。<br /> UV_demo:为编译生成的可执行文件。<br /> 其他的.o文件则是编译过程中生产的中间文件,一般不需要理会。<br /> (3) 运行程序:<pre> sudo ./UV_demo</pre> (4) 现象:控制窗口则会显示打印芯片测量得到的数据。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行。<br /> 5.3 Python使用<br /> (1) 安装python函数库<br /> (2) 运行ls命令,可见如下文件<br /> [[File:UV Sensor (B)- (4).png|800px]]<br /> mian.py:为主函数的源文件。<br /> Si1145.py:si1145芯片的驱动源文件,包含了芯片的初始化以及数据读写等函数。 (3) 运行程序:<pre>sudo python main.py</pre> (4) 现象:控制窗口则会显示打印芯片测量得到的数据。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行。<br /> </div> <div class="tabbertab" title="资料"> ===文档=== *[http://{{SERVERNAME}}/w/upload/b/b6/UV_Sensor_%28B%29_User_Manual.pdf 用户手册] <br> *[http://{{SERVERNAME}}/w/upload/1/1f/UV_Sensor_%28B%29_Schematic.pdf 原理图]<br> ===程序=== *[http://{{SERVERNAME}}/w/upload/f/f0/UV_Sensor_%28B%29_Code.7z 示例程序]<br> ===软件=== *[http://{{SERVERNAME}}/w/upload/5/5f/Sscom.7z 串口调试助手] ===数据手册=== *[http://{{SERVERNAME}}/w/upload/9/99/Si1145-46-47.pdf Si1145] <br /><big>批量下载教程——请戳<big><big><big>☛</big></big></big></big>[[File:download-icon.png|link=批量下载教程]] <!--{{Join_us}}--> </div> <div class="tabbertab" title="FAQ"><br /> </div> <div class="tabbertab" title="售后"><br />{{Service11}}</div>
该页面使用的模板:
模板:Service00
(
查看源代码
)
模板:Service11
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
模板:外围模块
(
查看源代码
)
返回至
UV Sensor (B)
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志