“UV Sensor (B)”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
(文本替换 - 替换“<h1>售后</h1>”为“<h1>技术支持</h1>”)
 
(未显示4个用户的22个中间版本)
第1行: 第1行:
 +
<div class="wiki-pages blue-color">
 +
<div class="tabberlive  newwsnav" id="wsnavbar">
 +
<ul class="tabbernav">
 +
<li class="nav-link">[[#myintro|说明]]</li>
 +
<li class="nav-link">[[#myresources|资料]]</li>
 +
<li class="nav-link">[[#myfaq|FAQ]]</li>
 +
<li class="nav-link">[[#mysupport|售后]]</li>
 +
</ul>
 +
</div>
 
<div class="tabber">
 
<div class="tabber">
<!--<div class="tabbertab" title="说明"></div>-->
 
<div class="tabbertab" title="资料">
 
 
{{外围模块|colorscheme=blue
 
{{外围模块|colorscheme=blue
|img=[[File:UV-Sensor-B-1.jpg|360px |alt=UV-Sensor (B) |link=http://www.waveshare.net/shop/UV-Sensor-B.htm]]
+
|img=[[File:UV-Sensor-B-1.jpg|360px |alt=UV-Sensor (B) |link=https://{{SERVERNAME}}/shop/UV-Sensor-B.htm]]
 
|category1=传感器
 
|category1=传感器
 
|category2=光传感器
 
|category2=光传感器
第10行: 第17行:
 
| interface1 =I2C
 
| interface1 =I2C
 
}}
 
}}
 +
<div class="tabbertab" title="说明" id="myintro">
 +
 +
<h1>说明</h1>
 +
 +
==产品概述==
 +
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 />
 +
该例程使用的开发板为:[https://{{SERVERNAME}}/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 />
 +
该例程使用的开发板为:[https://{{SERVERNAME}}/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 />
 +
https://{{SERVERNAME}}/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="资料" id="myresources">
 +
 +
<h1>资料</h1>
 +
 +
 
===文档===
 
===文档===
*[http://www.waveshare.net/w/upload/b/b6/UV_Sensor_%28B%29_User_Manual.pdf 用户手册] <br>
+
*[https://{{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>
+
*[https://{{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>
+
*[https://{{SERVERNAME}}/w/upload/f/f0/UV_Sensor_%28B%29_Code.7z 示例程序]<br>
  
 
===软件===
 
===软件===
*[http://{{SERVERNAME}}/w/upload/5/5f/Sscom.7z 串口调试助手]
+
*[https://{{SERVERNAME}}/w/upload/5/5f/Sscom.7z 串口调试助手]
 
===数据手册===
 
===数据手册===
*[http://{{SERVERNAME}}/w/upload/9/99/Si1145-46-47.pdf Si1145]
+
*[https://{{SERVERNAME}}/w/upload/9/99/Si1145-46-47.pdf Si1145]
  
<br /><big>批量下载教程——请戳<big><big><big></big></big></big></big>[[File:download-icon.png|link=批量下载教程]]
+
 
 +
 
 +
 
 +
</div>
 +
<div class="tabbertab" title="FAQ" id="myfaq">
 +
 
 +
<h1>FAQ</h1>
 +
<br />
 
</div>
 
</div>
<div class="tabbertab" title="FAQ"><br />
+
<div class="tabbertab" title="售后" id="mysupport">
 +
 
 +
<h1>技术支持</h1>
 +
<br />
 +
{{Service20}}</div>
 
</div>
 
</div>
<div class="tabbertab" title="售后"><br />{{Service08}}</div>
 

2022年8月16日 (二) 16:02的最新版本

UV-Sensor (B)
{{{name2}}}
{{{name3}}}
功能简介
特性 紫外线传感器
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I2C

说明

产品概述

UV_Sensor (B)是一个以测量紫外线为主的多功能光学测量模块,该模块使用的传感器为Si1145。该芯片测量紫外线可以直接输出紫外线指数的100倍整数,用户几乎不需要数据转换和校准,就可以得到较为精确的紫外线指数的值。该芯片还支持测量的环境光强度包括红外线强度和可见光强度。

产品特性

  • 使用Si1145为主控芯片,内置ADC,不仅可以测量紫外线,还能测环境光强
  • I2C接口可直接输出紫外线指数,无需标定
  • 支持中断信号输出,可编程上下限阈值
  • 内置电平转换电路,使模块可直接接入3.3V / 5V的MCU系统

管脚配置

功能引脚 描述
VCC 电源正
GND 电源地
SDA I2C的数据信号
SCL I2C的时钟信号
INT 中断信号

工作原理

Si1145仅支持I2C通信,但也支持输入和输出中断信号来辅助通信。主设备通过I2C对Si1145内的寄存器进行读写,从而设置芯片的参数和读取测量数据。

I2C通信协议

UV Sensor (B)- (1).png
在I2C通信时,先发送一个7bit的从设备地址+1bit的读写位,等待设备的响应。
在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。
在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。

使用说明

该模块提供STM32,Arduino,RaspberryPi的例程,但提供的例程中均未使用到中断,故INT引脚不会出现在配置列表中。

STM32的使用

1. 硬件配置
该例程使用的开发板为:XNUCLEO-F103RB

功能引脚 开发板
VCC 3V3/5V
GND GND
SDA SDA/D14/PB8
SCL SCL/D15/PB9

2. 工程文件说明
示例工程基于MDK-ARM V5,使用STM32CubeMX配置生成。
工程目录/Src下:
si1145.c : 为si1145的底层驱动文件,包含了芯片初始化,读写数据等函数。
工程目录/Inc下:
Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。
3. 现象
将模块与开发板连接,将开发板的串口与电脑连接,烧录程序,打开串口助手,即可看到串口助手上接收到的数据。

Arduino的使用

1. 硬件配置
该例程使用的开发板为:UNO_PLUS

功能引脚 开发板
VCC 3V3/5V
GND GND
SDA SDA
SCL SCL

2. 文件说明
工程目录下:
Si1145.cpp:芯片的驱动源文件,包含了芯片初始化,读写数据等函数。
Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。
UV_Sensor_demo.ino:Arduino的主函数源文件,包含了芯片初始化以及数据读写等函数的执行。
3. 使用说明
将模块与开发板连接好之后,打开Arduino的串口监视器,烧录程序后,可在串口监视器看到测量的数据。

RaspberryPi的使用

1. 硬件配置
该例程使用的开发板为:RaspberryPi

功能引脚 开发板
VCC 3V3/5V
GND GND
SDA SDA
SCL SCL

2. 开启树莓派的I2C

sudo raspi-config

选择 Interface Options -> I2C -> yes 启动 I2C 内核驱动
3. 库的安装
关于树莓派库的安装详细见微雪课堂:
https://www.waveshare.net/study/article-742-1.html
此处详细介绍了 wiringPi、bcm2835、python 的安装。
4. 使用
把对应的例程拷贝进树莓派中(可通过 samba 或者直接复制到 SD)即可,以下示例均复制 到了树莓派 pi 用户目录下。
5. 程序
5.1 BCM2835使用
(1) 安装bcm2835函数库
(2) 运行ls命令,可见如下文件
UV Sensor (B)- (2).png
mian.c:为主函数的源文件。
Si1145.c:si1145芯片的驱动源文件,包含了芯片的初始化以及数据读写等函数。
Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。
Makefile:为源代码文件交叉编译脚本,用于编译代码并生成可执行文件。若您修改了源代码,则需要先运行sudo make clean来删除所有已经生成的文件,再运行sudo make命令来生成可执行文件。
UV_demo:为编译生成的可执行文件。
其他的.o文件则是编译过程中生产的中间文件,一般不需要理会。

(3) 运行程序:
 sudo ./UV_demo

(4) 现象:控制窗口则会显示打印芯片测量得到的数据。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行。
5.2 wiringPi使用
(1) 安装wiringPi函数库
(2) 运行ls命令,可见如下文件
UV Sensor (B)- (3).png
mian.c:为主函数的源文件。
Si1145.c:si1145芯片的驱动源文件,包含了芯片的初始化以及数据读写等函数。
Si1145.h:为si1145头文件,包含了si1145所有用到的寄存器的地址,声明了所有函数,以供其他源文件调用。
Makefile:为源代码文件交叉编译脚本,用于编译代码并生成可执行文件。若您修改了源代码,则需要先运行sudo make clean来删除所有已经生成的文件,再运行sudo make命令来生成可执行文件。
UV_demo:为编译生成的可执行文件。
其他的.o文件则是编译过程中生产的中间文件,一般不需要理会。

(3) 运行程序:
 sudo ./UV_demo

(4) 现象:控制窗口则会显示打印芯片测量得到的数据。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行。
5.3 Python使用
(1) 安装python函数库
(2) 运行ls命令,可见如下文件
UV Sensor (B)- (4).png
mian.py:为主函数的源文件。
Si1145.py:si1145芯片的驱动源文件,包含了芯片的初始化以及数据读写等函数。

(3) 运行程序:
sudo python main.py

(4) 现象:控制窗口则会显示打印芯片测量得到的数据。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行。

资料


文档

程序

软件

数据手册



FAQ


技术支持


联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证