VEML6075簡介
VEML6075是一種紫外線(UV)光傳感器,它可以測量紫外線強度。它通常用于各種應用,包括環境監測、皮膚防護和生物醫學應用,在紫外線中,UVA是最常見的紫外線,它的波長范圍是320-400納米。它可以穿過玻璃,因此它可以通過窗戶進入室內。UVA對皮膚的影響不如UVB嚴重,但它可以加速皮膚衰老并使皮膚暗淡。UVB是一種更強的紫外線,其波長范圍為290-320納米。它不能穿過玻璃,因此只能在戶外被暴露。UVB可以導致皮膚曬傷,并且過度暴露可能會導致皮膚癌,我們可以通過Veml6075實現對UVA和UVB值的讀取。

VEML6075相關參數

參數中得出的重要參數有工作電壓和IIC的電平都是3.3V的,在使用的時候,5V的51單片機記得加一個電平轉換模塊通訊會穩定一些,不然可能出現不正常現象,本人在調試代碼過程中就因為5V的通訊電平不穩定導致的通訊異常。
VEML6075IIC讀寫相關時序

拋開具體的IIC的基本時序需求,因為Veml6075的寄存器都是16位寄存器,所以在這個地方需要注意,發送相關指令和讀取相關寄存器數據的時候嚴格按照手冊中給出的時序流程進行通信,否則會出現異常情況,記得嚴格按照手冊進行不要憑借經驗去寫。
VEML6075IIC讀寫驅動代碼
// 初始化 VEML6075
bit VEML6075Init()
{
Start_I2c(); // 啟動 I2C 傳輸
SendByte(IIC_Add_W); // 寫入 VEML6075 設備地址
if(ack == 0) return 0;
SendByte(VEML6075_CONF); // 寫入 VEML6075 配置寄存器地址
if(ack == 0) return 0;
SendByte(0x10); // 寫入 VEML6075 配置寄存器的值,使用默認設置
if(ack == 0) return 0;
Stop_I2c(); // 停止 I2C 傳輸
return 1;
}
進行初始化操作可以在主函數中使用返回的Bit值進行判斷模塊是否成功初始化來進行下一步操作
// 讀取 VEML6075 的 UVA 數據
unsigned int VEML6075ReadUVA()
{
unsigned char dataH, dataL;
Start_I2c(); // 啟動 I2C 傳輸
SendByte(IIC_Add_W); // 寫入 VEML6075 設備地址
SendByte(VEML6075_UVA); // 寫入 VEML6075 UVA 數據寄存器地址
Start_I2c(); // 啟動 I2C 傳輸
SendByte(IIC_Add_R); // 寫入 VEML6075 設備地址,同時設置讀取位
dataH = RcvByte(); // 讀取 UVA 數據的高字節
Ack_I2c(0);
dataL = RcvByte(); // 讀取 UVB 數據的低字節
Ack_I2c(1);
Stop_I2c(); // 停止 I2C 傳輸
return (dataH < < 8) | dataL; // 將讀取到的數據組合成 16 位數據并返回
}
// 讀取 VEML6075 的 UVB 數據
unsigned int VEML6075ReadUVB()
{
unsigned char dataH, dataL;
Start_I2c(); // 啟動 I2C 傳輸
SendByte(IIC_Add_W); // 寫入 VEML6075 設備地址
SendByte(VEML6075_UVB); // 寫入 VEML6075 UVB 數據寄存器地址
Start_I2c(); // 啟動 I2C 傳輸
SendByte(IIC_Add_R); // 寫入 VEML6075 設備地址,同時設置讀取位
dataH = RcvByte(); // 讀取 UVB 數據的高字節
Ack_I2c(0);
dataL = RcvByte(); // 讀取 UVB 數據的低字節
Ack_I2c(1);
Stop_I2c(); // 停止 I2C 傳輸
return (dataH < < 8) | dataL; // 將讀取到的數據組合成 16 位數據并返回
}
上述代碼中嚴格按照手冊中的讀寫時序操作進行,可以讀取出UVA和UVB的數值。
VEML6075IIC讀寫串口打印

上圖讀出的為原始的傳感器輸出的UVA和UVB的數值現象。
總結
使用VEML可以自己制作個人或者或者其他的一些DIY的小物品,進行夏日的紫外線的數據進行檢測,本驅動程序給出的數據是原始數值,如果需要做一些小作品的話需要自己找當地氣象局或者環境檢測機構了解下計算因子進行數據解析調用從而得到紫外線的UV指數值,相關程序和Veml6075的應用手冊和校準計算都會放在資料中打包,有需要的小伙伴可留言郵箱獲取。
-
傳感器
+關注
關注
2574文章
54499瀏覽量
786866 -
51單片機
+關注
關注
278文章
5714瀏覽量
132701 -
紫外線
+關注
關注
1文章
380瀏覽量
22050
發布評論請先 登錄

51單片機驅動VEML6075測量紫外線強度
評論