色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【CW32模塊使用】S12SD紫外線傳感器

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2024-12-30 11:06 ? 次閱讀

此紫外線檢測模塊采用氮化家基材料的肖特基光電二極管,具有高的響應度和低的暗電流,板載LM358放大器對光電二極管輸出的微弱信號進行放大,所有元器件采用1%精度元器件制造。應用于紫外線測試儀,紫外線手表,戶外運動設備,手機移動電話等。

一、模塊來源

模塊實物展示:

wKgZO2dyDjSAdCM9AAAiSPh2t3E29.webp


資料下載鏈接:
https://pan.baidu.com/s/1YuwoCsbiJPaYH-8TaHEwVg
資料提取碼:8888

二、規格參數

工作電壓:2.7-5V

工作電流:1mA

測量角度:130度

溫飄:0.08%/℃

檢測波長范圍:240nm~370nm

輸出方式: ADC

管腳數量:3 Pin

以上信息見廠家資料文件

三、移植過程

我們的目標是將例程移植至CW32F030C8T6開發板上【能夠測量紫外線強度】。首先要獲取資料,查看數據手冊應如何實現讀取數據,再移植至我們的工程。

3.1查看資料

wKgZPGdyDjWAVnnUAAA-wh-GOp000.webp

電路圖中,SIG引腳是經過放大模擬電壓后進行模擬信號輸出,采集到模擬量后將其轉換為電壓,根據下圖電壓與紫外線強度對照表,則可得知紫外線強度。

wKgZO2dyDjWAL0YJAABT5g_sNtA04.webp

3.2引腳選擇

wKgZPGdyDjWAeG6QAACmOLZxnX457.webp

模塊接線圖

3.3移植至工程

移植步驟中的導入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器 相同,只是將.c和.h文件更改為bsp_ultraviolet.c與bsp_ultraviolet.h。這里不再過多講述,移植完成后面修改相關代碼。

在文件bsp_ultraviolet.c中,編寫如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "bsp_ultraviolet.h"
#include "stdio.h"



/******************************************************************
 * 函 數 名 稱:ULTRAVIOLET_GPIO_Init
 * 函 數 說 明:UV紫外線模塊引腳初始化
 * 函 數 形 參:無
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:
******************************************************************/
void ULTRAVIOLET_GPIO_Init(void)
{
    RCC_ULTRAVIOLET_GPIO_ENABLE();       // 使能GPIO時鐘
    RCC_ULTRAVIOLET_ADC_ENABLE();        // 使能ADC時鐘

    ANALOG_GPIO_ENABLE();        // PA05設定為模擬輸入

    /* ADC配置 */
    ADC_InitTypeDef ADC_InitStructure;                   // ADC初始化結構體
    ADC_WdtTypeDef ADC_WdtStructure;                     // ADC看門狗結構體
    ADC_SingleChTypeDef ADC_SingleChStructure;           // ADC單通道轉換結構體

    // 配置ADC初始化結構體
    ADC_InitStructure.ADC_OpMode = ADC_SingleChOneMode;  //單通道單次轉換模式
    ADC_InitStructure.ADC_ClkDiv = ADC_Clk_Div4;         // 時鐘頻率 = PCLK / 4 = 64MHz / 4 = 16MHz
    ADC_InitStructure.ADC_SampleTime = ADC_SampTime5Clk; //5個ADC時鐘周期
    ADC_InitStructure.ADC_VrefSel = ADC_Vref_VDDA;       //VDDA參考電壓
    ADC_InitStructure.ADC_InBufEn = ADC_BufDisable;      //關閉跟隨器
    ADC_InitStructure.ADC_TsEn = ADC_TsDisable;          //關閉內置溫度傳感器
    ADC_InitStructure.ADC_DMAEn = ADC_DmaDisable;        //不觸發DMA
    ADC_InitStructure.ADC_Align = ADC_AlignRight;        //ADC轉換結果右對齊
    ADC_InitStructure.ADC_AccEn = ADC_AccDisable;        //轉換結果累加不使能

    //ADC模擬看門狗通道初始化
    ADC_WdtInit(&ADC_WdtStructure);

    //配置單通道轉換模式
    ADC_SingleChStructure.ADC_DiscardEn = ADC_DiscardNull;      // 單通道ADC轉換結果溢出保存
    ADC_SingleChStructure.ADC_Chmux = CHANNEL_ULTRAVIOLET_ADC;  // 選擇ADC轉換通道,AIN5:PA05
    ADC_SingleChStructure.ADC_InitStruct = ADC_InitStructure;   // ADC初始化結構體
    ADC_SingleChStructure.ADC_WdtStruct = ADC_WdtStructure;     // ADC看門狗結構體

    ADC_SingleChOneModeCfg(&ADC_SingleChStructure);             // 初始化配置

    ADC_Enable(); //ADC使能

    ADC_SoftwareStartConvCmd(ENABLE);    //啟動ADC轉換
}
/**********************************************************
 * 函 數 名 稱:ADC_GET
 * 函 數 功 能:讀取一次ADC值
 * 傳 入 參 數:無
 * 函 數 返 回:測量到的值
 * 作       者:LCKFB
 * 備       注:
**********************************************************/
uint32_t ADC_GET(void)
{
    ADC_SoftwareStartConvCmd(ENABLE);    //啟動ADC轉換

    uint32_t adcValue = ADC_GetConversionValue(); // 獲取數據

    return adcValue;
}
/******************************************************************
 * 函 數 名 稱:Get_ADC_Value
 * 函 數 說 明:對ADC值進行平均值計算后輸出
 * 函 數 形 參:num采集次數
 * 函 數 返 回:對應掃描的ADC值
 * 作       者:LC
 * 備       注:誤差80mV左右
******************************************************************/
unsigned int Get_ADC_Value( void )
{
    uint32_t Data = 0;

    for(int i = 0; i < SAMPLES; i++)
    {
        Data += ADC_GET();
    }

    Data = Data / SAMPLES;

    return Data;
}


/******************************************************************
 * 函 數 名 稱:Get_Ultraviolet_Intensity
 * 函 數 說 明:判斷當前紫外線強度等級
 * 函 數 形 參:value=ADC讀取的值
 * 函 數 返 回:0~11 紫外線強度等級由低到高,11最高
 * 作       者:LC
 * 備       注:無
******************************************************************/
char Get_Ultraviolet_Intensity(uint16_t value)
{
    char ret = 0;
    if( value < 227 )//紫外線強度0級
    {
        ret = 0;
    }
    if( value >= 227 && value < 318 )//紫外線強度1級
    {
        ret = 1;
    }
    if( value >= 318 && value < 408 )//紫外線強度2級
    {
        ret = 2;
    }
    if( value >= 408 && value < 503 )//紫外線強度3級
    {
        ret = 3;
    }
    if( value >= 503 && value < 606 )//紫外線強度4級
    {
        ret = 4;
    }
    if( value >= 606 && value < 696 )//紫外線強度5級
    {
        ret = 5;
    }
    if( value >= 696 && value < 795 )//紫外線強度6級
    {
        ret = 6;
    }

    if( value >= 795 && value < 881 )//紫外線強度7級
    {
        ret = 7;
    }
    if( value >= 881 && value < 976 )//紫外線強度8級
    {
        ret = 8;
    }
    if( value >= 976 && value < 1079 )//紫外線強度9級
    {
        ret = 9;
    }
    if( value >= 1079 && value < 1170 )//紫外線強度10級
    {
        ret = 10;
    }
    if( value >= 1170  )//紫外線強度11級
    {
        ret = 11;
    }
    return ret;
}

在文件bsp_ultraviolet.h中,編寫如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#ifndef _BSP_ULTRAVIOLET_H_
#define _BSP_ULTRAVIOLET_H_

#include "board.h"

#define RCC_ULTRAVIOLET_GPIO_ENABLE()    __RCC_GPIOA_CLK_ENABLE()
#define RCC_ULTRAVIOLET_ADC_ENABLE()     __RCC_ADC_CLK_ENABLE()

#define ANALOG_GPIO_ENABLE()             PA05_ANALOG_ENABLE()

#define CHANNEL_ULTRAVIOLET_ADC          ADC_ExInputCH5

//采樣次數
#define SAMPLES     30


void ULTRAVIOLET_GPIO_Init(void);
unsigned int Get_ADC_Value(void);
char Get_Ultraviolet_Intensity(uint16_t value);

#endif

四、移植驗證

在自己工程中的main主函數中,編寫如下。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "bsp_ultraviolet.h"

int32_t main(void)
{
    uint16_t value = 0;

    board_init();

    uart1_init(115200U);

    ULTRAVIOLET_GPIO_Init();
    printf("IRtracking demo startrn");

    while(1)
    {
        value = Get_ADC_Value();
        //串口顯示紫外線強度
        printf("grade = %drn", Get_Ultraviolet_Intensity( value ) );
        delay_ms(1000);
    }
}

移植現象:測量室內紫外線強度為0級。

wKgZO2dyDjaATEvkAAB49sko5Xs09.webp

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/1wmC7OwwJk2LB0tdP0Zx0GA?pwd=LCKF

提取碼:LCKF

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2551

    文章

    51147

    瀏覽量

    753991
  • LM358
    +關注

    關注

    34

    文章

    185

    瀏覽量

    71776
  • 紫外線傳感器

    關注

    0

    文章

    89

    瀏覽量

    12433
  • CW32
    +關注

    關注

    1

    文章

    210

    瀏覽量

    662
收藏 人收藏

    評論

    相關推薦

    有人了解紫外線傳感器么?

    有幾個相關問題,想請教一下高人:1.紫外線傳感器是什么?2.請問目前有的紫外線傳感器,其核心材料是什么,分別有什么優勢呢?3.國內做紫外線
    發表于 03-12 09:51

    紫外線傳感器

    有幾個相關問題,想請教一下高人:1.紫外線傳感器是什么?2.請問目前有的紫外線傳感器,其核心材料是什么,分別有什么優勢呢?3.國內做紫外線
    發表于 03-12 09:56

    紫外線傳感器

    紫外線傳感器定義  英文名:UV sensor/transducer 3528封裝的紫外線傳感器插腳式紫外線
    發表于 03-13 10:39

    “主要看品質”的紫外線傳感器試用產品免費申請啦!!

    生產的 紫外線傳感器 -GUVA-S12SD,GUVA-S12SD采用貼片式封裝(SMD3528),特別適用于小體積的設備。傳感器輸出電流與
    發表于 12-18 15:00

    紫外線傳感器在UV固化領域中的應用

    - GVBL-S12SD和可見光傳感器 - GVGR-S11SD此類產品,此類產品均有貼片式封裝和TO封裝模式,也可以做成探頭,高溫型UV探頭主要是通過光纖方式來測量紫外線強度。此類
    發表于 06-15 09:50

    皮膚殺手紫外線UVA波段領域中的傳感器

    應用于監控紫外線UVA波段的紫外線傳感器,首先是紫外線傳感器 - GUVA-S12SD,GUVA
    發表于 11-09 09:43

    GUVA-S12SD 紫外線可見光傳感器太陽光傳感器韓國GenUV原廠原裝

    `一、紫外線傳感器 - GUVA-S12SD產品介紹:GUVA-S12SD采用貼片式封裝(SMD3528),特別適用于小體積的設備。傳感器
    發表于 07-06 11:02

    韓國GENICOM紫外線傳感器,光電傳感器,原廠代理!

    `韓國GENICOM紫外線傳感器,光電傳感器,純UVA UVB UVC傳感器,主要應用在UV消毒監測,火焰探測,紫外線監控等等,全新原裝正品
    發表于 07-06 15:44

    GUVB-S11SD 韓國GENICOM紫外線太陽光光電紫外線傳感器SMD3528

    `一、紫外線傳感器 UV sensor GUVB-S11SD產品描述紫外線傳感器 UV sensor GUVB-
    發表于 07-15 16:49

    GUVV-S10SD 韓國GENICOM紫外線傳感器 光電二極管的應用

    一、GUVV-S10SD紫外線傳感器描述GUVV-S10SD紫外線傳感器芯片大小0.4mm,SM
    發表于 09-09 16:58

    韓國GENICOM 紫外線傳感器

    韓國GENICOM 紫外線傳感器GUVA-S12SD,采用貼片式封裝(SMD3528),特別適用于小體積的設備。傳感器輸出電流與光照強度成正比,產品輸出具有非常高的一致性。該
    發表于 09-20 09:58

    GUVA-S12SD_SMD封裝UVA紫外線傳感器

    GUVA-S12SD_SMD封裝UVA紫外線傳感器,感興趣的朋友歡迎下載觀看
    發表于 11-08 18:31 ?33次下載

    針對紫外線的四個波段,應用對應波段的紫外線傳感器分析

    Genicom的紫外線傳感器傳感器的波段從200-510nm均有相對應的傳感器來檢測。 針對UVA波段,主要有IIC、電流、電壓輸出方式的傳感器
    的頭像 發表于 02-14 22:38 ?5696次閱讀

    什么是紫外線傳感器?它的結構分類有哪些?

    什么是紫外線傳感器?它的結構分類有哪些? 紫外線傳感器是一種能夠測量、檢測和監測紫外線輻射的電子傳感器
    的頭像 發表于 02-02 15:05 ?1247次閱讀

    基于Arduino的紫外線傳感器設計 紫外線傳感器的工作原理和分類

    紫外線傳感器,又稱為紫外光敏管(簡稱UV管),是一種利用光電子發射效應的光電傳感器。它能夠通過特定的光敏元件將紫外線信號轉換為可測量的電信號
    的頭像 發表于 07-08 17:53 ?1401次閱讀
    基于Arduino的<b class='flag-5'>紫外線</b><b class='flag-5'>傳感器</b>設計 <b class='flag-5'>紫外線</b><b class='flag-5'>傳感器</b>的工作原理和分類
    主站蜘蛛池模板: 捏揉舔水插按摩师| 最近最新的日本字幕MV| 亚洲免费精品视频| 国产AV精品久久久毛片| 免费国产成人| 在线一本码道高清| 久久精品国产亚洲AV蜜臀| 嗯啊…跟校草在教室里做h | 久久亚洲黄色| 亚洲爱视频| 97视频在线观看免费视频| 国产 高清 无码 在线播放| 日本动漫henta videos| japanesen女同| 国产最新地址| 欧美美女性生活| 亚洲免费三区| 姐姐不~不可以动漫在线观看| 亚洲 综合 欧美在线视频| 国产呻吟久久久久久久92| 亚洲国产区中文在线观看| SORA是什么意思| 国语大学生自产拍在线观看| 亚洲薄码区| 精品亚洲国产成AV人片传媒| 色偷偷超碰97人人澡人人| 亚洲色图另类小说| 久久精品亚洲视频| 97免费视频在线观看| 国产制服丝袜91在线| 女警被黑人20厘米强交| 亚洲伊人精品综合在合线| 久久99精品久久久久久园产越南| 亞洲人妻AV無碼在線視頻| 麻豆精品人妻一区二区三区蜜桃| 99精品视频在线免费观看| 久久大胆视频| 97午夜伦伦电影理论片| 色欲AV精品一区二区入口| 果冻传媒2021精品影视| 最近日本字幕MV免费观看在线|