在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

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

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-12-30 11:06 ? 次閱讀

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

一、模塊來源

模塊實物展示:

wKgZO2dyDjSAdCM9AAAiSPh2t3E29.webp


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

二、規(guī)格參數(shù)

工作電壓:2.7-5V

工作電流:1mA

測量角度:130度

溫飄:0.08%/℃

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

輸出方式: ADC

管腳數(shù)量:3 Pin

以上信息見廠家資料文件

三、移植過程

我們的目標是將例程移植至CW32F030C8T6開發(fā)板上【能夠測量紫外線強度】。首先要獲取資料,查看數(shù)據(jù)手冊應(yīng)如何實現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。

3.1查看資料

wKgZPGdyDjWAVnnUAAA-wh-GOp000.webp

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

wKgZO2dyDjWAL0YJAABT5g_sNtA04.webp

3.2引腳選擇

wKgZPGdyDjWAeG6QAACmOLZxnX457.webp

模塊接線圖

3.3移植至工程

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

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

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



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

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

    /* ADC配置 */
    ADC_InitTypeDef ADC_InitStructure;                   // ADC初始化結(jié)構(gòu)體
    ADC_WdtTypeDef ADC_WdtStructure;                     // ADC看門狗結(jié)構(gòu)體
    ADC_SingleChTypeDef ADC_SingleChStructure;           // ADC單通道轉(zhuǎn)換結(jié)構(gòu)體

    // 配置ADC初始化結(jié)構(gòu)體
    ADC_InitStructure.ADC_OpMode = ADC_SingleChOneMode;  //單通道單次轉(zhuǎn)換模式
    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;      //關(guān)閉跟隨器
    ADC_InitStructure.ADC_TsEn = ADC_TsDisable;          //關(guān)閉內(nèi)置溫度傳感器
    ADC_InitStructure.ADC_DMAEn = ADC_DmaDisable;        //不觸發(fā)DMA
    ADC_InitStructure.ADC_Align = ADC_AlignRight;        //ADC轉(zhuǎn)換結(jié)果右對齊
    ADC_InitStructure.ADC_AccEn = ADC_AccDisable;        //轉(zhuǎn)換結(jié)果累加不使能

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

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

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

    ADC_Enable(); //ADC使能

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

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

    return adcValue;
}
/******************************************************************
 * 函 數(shù) 名 稱:Get_ADC_Value
 * 函 數(shù) 說 明:對ADC值進行平均值計算后輸出
 * 函 數(shù) 形 參:num采集次數(shù)
 * 函 數(shù) 返 回:對應(yīng)掃描的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;
}


/******************************************************************
 * 函 數(shù) 名 稱:Get_Ultraviolet_Intensity
 * 函 數(shù) 說 明:判斷當前紫外線強度等級
 * 函 數(shù) 形 參:value=ADC讀取的值
 * 函 數(shù) 返 回: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

//采樣次數(shù)
#define SAMPLES     30


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

#endif

四、移植驗證

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

/*
 * 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);
    }
}

移植現(xiàn)象:測量室內(nèi)紫外線強度為0級。

wKgZO2dyDjaATEvkAAB49sko5Xs09.webp

模塊移植成功案例代碼:

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

提取碼:LCKF

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

    關(guān)注

    2551

    文章

    51147

    瀏覽量

    753994
  • LM358
    +關(guān)注

    關(guān)注

    34

    文章

    185

    瀏覽量

    71776
  • 紫外線傳感器
    +關(guān)注

    關(guān)注

    0

    文章

    89

    瀏覽量

    12433
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    210

    瀏覽量

    662
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    紫外線傳感器

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

    紫外線傳感器

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

    “主要看品質(zhì)”的紫外線傳感器試用產(chǎn)品免費申請啦!!

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

    紫外線傳感器在UV固化領(lǐng)域中的應(yīng)用

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

    皮膚殺手紫外線UVA波段領(lǐng)域中的傳感器

    應(yīng)用于監(jiān)控紫外線UVA波段的紫外線傳感器,首先是紫外線傳感器 - GUVA-S12SD,GUVA
    發(fā)表于 11-09 09:43

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

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

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

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

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

    `一、紫外線傳感器 UV sensor GUVB-S11SD產(chǎn)品描述紫外線傳感器 UV sensor GUVB-
    發(fā)表于 07-15 16:49

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

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

    韓國GENICOM 紫外線傳感器

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

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

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

    針對紫外線的四個波段,應(yīng)用對應(yīng)波段的紫外線傳感器分析

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

    什么是紫外線傳感器?它的結(jié)構(gòu)分類有哪些?

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

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

    紫外線傳感器,又稱為紫外光敏管(簡稱UV管),是一種利用光電子發(fā)射效應(yīng)的光電傳感器。它能夠通過特定的光敏元件將紫外線信號轉(zhuǎn)換為可測量的電信號
    的頭像 發(fā)表于 07-08 17:53 ?1401次閱讀
    基于Arduino的<b class='flag-5'>紫外線</b><b class='flag-5'>傳感器</b>設(shè)計 <b class='flag-5'>紫外線</b><b class='flag-5'>傳感器</b>的工作原理和分類
    主站蜘蛛池模板: 九色在线看| 日本黄色小说视频| 国产色婷婷免费视频| 免费在线视频播放| 视频在线播放免费| 2345成人高清毛片| 免费观看做网站爱| 中文字幕不卡在线播放| 亚洲狠狠网站色噜噜| 色噜噜色偷偷| 免费看片aⅴ免费大片| 狠狠色丁香婷婷综合激情| 四虎www.| 欧美性video精品| 特黄色一级毛片| 琪琪see色原网一区二区| 亚洲伊人99综合网| 天堂在线www| 日本黄色片在线观看| 久久久久久久久综合| 可以免费观看的一级毛片| 狠狠色狠狠色综合网| 97在线人人| 美女黄色毛片| h视频国产| 一级特黄a大片免费| 日本人的色道www免费一区| 狠狠色丁香婷婷综合欧美| 99久久综合| 国产又爽又黄又粗又大| 美女黄18以下禁止观看| xxxxxhd69日本护士| 一级特黄色片| 美女张开腿让男人桶爽| 站长工具天天爽视频| 国产精品福利一区| 热99热| 老司机亚洲精品影院在线观看| 亚洲人与牲动交xxxxbbbb| 男人的天堂在线免费视频| 噜噜噜噜噜久久久久久91|