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

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

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

3天內不再提示

【CW32模塊使用】TCS34725顏色識別傳感器

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

本模塊是基于AMS的TCS3472XFN彩色光數字轉換器為核心的顏色傳感器,傳感器提供紅色,綠色,藍色(RGB)和清晰光感應值的數字輸出。集成紅外阻擋濾光片可最大限度地減少入射光的紅外光譜成分,并可精確地進行顏色測量。具有高靈敏度,寬動態范圍和紅外阻隔濾波器。最小化IR和UV光譜分量效應,以產生準確的顏色測量。并且帶有環境光強檢測和可屏蔽中斷。通過12C接口通信。本設計基于同一個設計原理,提供2個不同造型設計(方形版本/雙孔版本),提供用戶更多安裝尺寸和環境的選擇,其中雙孔版本布局了2個LED燈對于物體進行補光。

一、模塊來源

模塊實物展示:

wKgZPGdyE1SAIifAAAAOZPJmEXk91.webp


資料下載鏈接:

https://pan.baidu.com/s/1z_5qOfe-YMbj0TYSbDD-sQ?pwd=6668
資料提取碼:6668

二、規格參數

工作電壓:3.3-5V

工作電流:2.5~330uA

輸出方式: IIC

管腳數量:7 Pin

以上信息見廠家資料文件

三、移植過程

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

3.1查看資料

I2C地址:

I2C 設備地址為 0X29

注意:0X29 這個設備地址是 7 位的,8 位設備地址需要向高位移一位變成0X52。

I2C寫時序:

首先主機會發送一個開始信號,然后將其 I2C 的 7 位地 址與寫操作位組合成8位的數據發送給從機, 從機接收到后會響應一個應答信號,主機此時將命令寄存器地址發送給從機,從機接收到發送響應信號,此時主機發送命令寄存的值,從機回應一個響應信號,直到主機發送一個停止信號,此次 IIC 寫數據操作結束。

I2C讀時序:

首先主機會發送一個開始信號,然后將其 I2C 的 7 位地址與寫操作位組合成 8位的數 據發送給從機,從機接收到后會響應一個應答信號,主機此時將命令寄存器地址發送給從機, 從機接收到發送響應信號,此時主機重新發送一個開始信號,并且將其 7 位地址和讀操作位 組合成 8 位的數據發送給從機,從機接收到信號后發送響應信號,再將其寄存器中的值發送 給主機,主機端給予響應信號,直到主機端發送停止信號,此次通信結束。

wKgZO2dyE1WAelTdAAA8UrIlorM76.webp

3.2引腳選擇

wKgZPGdyE1WAHmECAAB-XKSHRjs50.webp

模塊接線圖

3.3移植至工程

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

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

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

#include "bsp_tcs34725.h"
#include "stdio.h"
#include "board.h"


COLOR_RGBC rgb;
COLOR_HSL  hsl;


/******************************************************************
 * 函 數 名 稱:TC34725_GPIO_Init
 * 函 數 說 明:tc34725的引腳初始化
 * 函 數 形 參:無
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void TC34725_GPIO_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結構體

    RCC_TCS34725_ENABLE();        // 使能GPIO時鐘

    GPIO_InitStruct.Pins = GPIO_SDA|GPIO_SCL;   // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; // 開漏輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;    // 輸出速度高
    GPIO_Init(PORT_TCS34725, &GPIO_InitStruct);   // 初始化
}


/******************************************************************
 * 函 數 名 稱:IIC_Start
 * 函 數 說 明:IIC起始時序
 * 函 數 形 參:無
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void IIC_Start(void)
{
        SDA_OUT();

        SDA(1);
        delay_us(5);
        SCL(1);
        delay_us(5);

        SDA(0);
        delay_us(5);
        SCL(0);
        delay_us(5);

}
/******************************************************************
 * 函 數 名 稱:IIC_Stop
 * 函 數 說 明:IIC停止信號
 * 函 數 形 參:無
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void IIC_Stop(void)
{
        SDA_OUT();
        SCL(0);
        SDA(0);

        SCL(1);
        delay_us(5);
        SDA(1);
        delay_us(5);

}

/******************************************************************
 * 函 數 名 稱:IIC_Send_Ack
 * 函 數 說 明:主機發送應答或者非應答信號
 * 函 數 形 參:0發送應答  1發送非應答
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void IIC_Send_Ack(unsigned char ack)
{
        SDA_OUT();
        SCL(0);
        SDA(0);
        delay_us(5);
        if(!ack) SDA(0);
        else         SDA(1);
        SCL(1);
        delay_us(5);
        SCL(0);
        SDA(1);
}


/******************************************************************
 * 函 數 名 稱:I2C_WaitAck
 * 函 數 說 明:等待從機應答
 * 函 數 形 參:無
 * 函 數 返 回:0有應答  1超時無應答
 * 作       者:LC
 * 備       注:無
******************************************************************/
unsigned char I2C_WaitAck(void)
{

        char ack = 0;
        unsigned char ack_flag = 10;
        SCL(0);
        SDA(1);
        SDA_IN();
        delay_us(5);
        SCL(1);
    delay_us(5);

        while( (SDA_GET()==1) && ( ack_flag ) )
        {
                ack_flag--;
                delay_us(5);
        }

        if( ack_flag <= 0 )
        {
                IIC_Stop();
                return 1;
        }
        else
        {
                SCL(0);
                SDA_OUT();
        }
        return ack;
}

/******************************************************************
 * 函 數 名 稱:Send_Byte
 * 函 數 說 明:寫入一個字節
 * 函 數 形 參:dat要寫人的數據
 * 函 數 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void Send_Byte(uint8_t dat)
{
        int i = 0;
        SDA_OUT();
        SCL(0);//拉低時鐘開始數據傳輸

        for( i = 0; i < 8; i++ )
        {
                SDA( (dat & 0x80) >> 7 );
                delay_us(1);
                SCL(1);
                delay_us(5);
                SCL(0);
                delay_us(5);
                datc = TCS34725_GetChannelData(TCS34725_CDATAL);
                rgbc->r = TCS34725_GetChannelData(TCS34725_RDATAL);
                rgbc->g = TCS34725_GetChannelData(TCS34725_GDATAL);
                rgbc->b = TCS34725_GetChannelData(TCS34725_BDATAL);
                return 1;
        }
        return 0;
}
/******************************************************************************/
//RGB轉HSL
void RGBtoHSL(COLOR_RGBC *Rgb, COLOR_HSL *Hsl)
{
        uint8_t maxVal,minVal,difVal;
        uint8_t r = Rgb->r*100/Rgb->c;   //[0-100]
        uint8_t g = Rgb->g*100/Rgb->c;
        uint8_t b = Rgb->b*100/Rgb->c;

        maxVal = max3v(r,g,b);
        minVal = min3v(r,g,b);
        difVal = maxVal-minVal;

        //計算亮度
        Hsl->l = (maxVal+minVal)/2;   //[0-100]

        if(maxVal == minVal)//若r=g=b,灰度
        {
                Hsl->h = 0;
                Hsl->s = 0;
        }
        else
        {
                //計算色調
                if(maxVal==r)
                {
                        if(g>=b)
                                Hsl->h = 60*(g-b)/difVal;
                        else
                                Hsl->h = 60*(g-b)/difVal+360;
                }
                else
                        {
                                if(maxVal==g)Hsl->h = 60*(b-r)/difVal+120;
                                else
                                        if(maxVal==b)Hsl->h = 60*(r-g)/difVal+240;
                        }

                //計算飽和度
                if(Hsl->l<=50)Hsl-?>s=difVal*100/(maxVal+minVal);  //[0-100]
                else
                        Hsl->s=difVal*100/(200-(maxVal+minVal));
        }
}
/******************************************************************************/

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

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

#ifndef _BSP_TCS34725_H_
#define _BSP_TCS34725_H_

#include "board.h"

//端口移植
#define RCC_TCS34725_ENABLE()   __RCC_GPIOB_CLK_ENABLE()
#define PORT_TCS34725           CW_GPIOB

#define GPIO_SDA                GPIO_PIN_8
#define GPIO_SCL                GPIO_PIN_9

//設置SDA輸出模式
#define SDA_OUT()   {        
                        GPIO_InitTypeDef GPIO_InitStruct;                
                        GPIO_InitStruct.Pins = GPIO_SDA;                 
                        GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;      
                        GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;         
                        GPIO_Init(PORT_TCS34725, &GPIO_InitStruct);      
                     }
//設置SDA輸入模式
#define SDA_IN()    {        
                        GPIO_InitTypeDef GPIO_InitStruct;               
                        GPIO_InitStruct.Pins = GPIO_SDA;                
                        GPIO_InitStruct.Mode = GPIO_MODE_INPUT;         
                        GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;        
                        GPIO_Init(PORT_TCS34725, &GPIO_InitStruct);     
                    }
//獲取SDA引腳的電平變化
#define SDA_GET()       GPIO_ReadPin(PORT_TCS34725, GPIO_SDA)
//SDA與SCL輸出
#define SDA(x)          GPIO_WritePin(PORT_TCS34725, GPIO_SDA, (x?GPIO_Pin_SET:GPIO_Pin_RESET) )
#define SCL(x)          GPIO_WritePin(PORT_TCS34725, GPIO_SCL, (x?GPIO_Pin_SET:GPIO_Pin_RESET) )



/******************************************************************************/
#define TCS34725_ADDRESS          (0x29)

#define TCS34725_COMMAND_BIT      (0x80)

#define TCS34725_ENABLE           (0x00)
#define TCS34725_ENABLE_AIEN      (0x10)    /* RGBC Interrupt Enable */
#define TCS34725_ENABLE_WEN       (0x08)    /* Wait enable - Writing 1 activates the wait timer */
#define TCS34725_ENABLE_AEN       (0x02)    /* RGBC Enable - Writing 1 actives the ADC, 0 disables it */
#define TCS34725_ENABLE_PON       (0x01)    /* Power on - Writing 1 activates the internal oscillator, 0 disables it */
#define TCS34725_ATIME            (0x01)    /* Integration time */
#define TCS34725_WTIME            (0x03)    /* Wait time (if TCS34725_ENABLE_WEN is asserted) */
#define TCS34725_WTIME_2_4MS      (0xFF)    /* WLONG0 = 2.4ms   WLONG1 = 0.029s */
#define TCS34725_WTIME_204MS      (0xAB)    /* WLONG0 = 204ms   WLONG1 = 2.45s  */
#define TCS34725_WTIME_614MS      (0x00)    /* WLONG0 = 614ms   WLONG1 = 7.4s   */
#define TCS34725_AILTL            (0x04)    /* Clear channel lower interrupt threshold */
#define TCS34725_AILTH            (0x05)
#define TCS34725_AIHTL            (0x06)    /* Clear channel upper interrupt threshold */
#define TCS34725_AIHTH            (0x07)
#define TCS34725_PERS             (0x0C)    /* Persistence register - basic SW filtering mechanism for interrupts */
#define TCS34725_PERS_NONE        (0b0000)  /* Every RGBC cycle generates an interrupt                                */
#define TCS34725_PERS_1_CYCLE     (0b0001)  /* 1 clean channel value outside threshold range generates an interrupt   */
#define TCS34725_PERS_2_CYCLE     (0b0010)  /* 2 clean channel values outside threshold range generates an interrupt  */
#define TCS34725_PERS_3_CYCLE     (0b0011)  /* 3 clean channel values outside threshold range generates an interrupt  */
#define TCS34725_PERS_5_CYCLE     (0b0100)  /* 5 clean channel values outside threshold range generates an interrupt  */
#define TCS34725_PERS_10_CYCLE    (0b0101)  /* 10 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_15_CYCLE    (0b0110)  /* 15 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_20_CYCLE    (0b0111)  /* 20 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_25_CYCLE    (0b1000)  /* 25 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_30_CYCLE    (0b1001)  /* 30 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_35_CYCLE    (0b1010)  /* 35 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_40_CYCLE    (0b1011)  /* 40 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_45_CYCLE    (0b1100)  /* 45 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_50_CYCLE    (0b1101)  /* 50 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_55_CYCLE    (0b1110)  /* 55 clean channel values outside threshold range generates an interrupt */
#define TCS34725_PERS_60_CYCLE    (0b1111)  /* 60 clean channel values outside threshold range generates an interrupt */
#define TCS34725_CONFIG           (0x0D)
#define TCS34725_CONFIG_WLONG     (0x02)    /* Choose between short and long (12x) wait times via TCS34725_WTIME */
#define TCS34725_CONTROL          (0x0F)    /* Set the gain level for the sensor */
#define TCS34725_ID               (0x12)    /* 0x44 = TCS34721/TCS34725, 0x4D = TCS34723/TCS34727 */
#define TCS34725_STATUS           (0x13)
#define TCS34725_STATUS_AINT      (0x10)    /* RGBC Clean channel interrupt */
#define TCS34725_STATUS_AVALID    (0x01)    /* Indicates that the RGBC channels have completed an integration cycle */
#define TCS34725_CDATAL           (0x14)    /* Clear channel data */
#define TCS34725_CDATAH           (0x15)
#define TCS34725_RDATAL           (0x16)    /* Red channel data */
#define TCS34725_RDATAH           (0x17)
#define TCS34725_GDATAL           (0x18)    /* Green channel data */
#define TCS34725_GDATAH           (0x19)
#define TCS34725_BDATAL           (0x1A)    /* Blue channel data */
#define TCS34725_BDATAH           (0x1B)

#define TCS34725_INTEGRATIONTIME_2_4MS   0xFF   /**<  2.4ms - 1 cycle    - Max Count: 1024  */
#define TCS34725_INTEGRATIONTIME_24MS    0xF6   /**<  24ms  - 10 cycles  - Max Count: 10240 */
#define TCS34725_INTEGRATIONTIME_50MS    0xEB   /**<  50ms  - 20 cycles  - Max Count: 20480 */
#define TCS34725_INTEGRATIONTIME_101MS   0xD5   /**<  101ms - 42 cycles  - Max Count: 43008 */
#define TCS34725_INTEGRATIONTIME_154MS   0xC0   /**<  154ms - 64 cycles  - Max Count: 65535 */
#define TCS34725_INTEGRATIONTIME_240MS   0x9C   /**<  240ms - 100 cycles - Max Count: 65535 */
#define TCS34725_INTEGRATIONTIME_700MS   0x00   /**<  700ms - 256 cycles - Max Count: 65535 */

#define TCS34725_GAIN_1X                 0x00   /**<  No gain  */
#define TCS34725_GAIN_4X                 0x01   /**<  4x gain  */
#define TCS34725_GAIN_16X                0x02   /**<  16x gain */
#define TCS34725_GAIN_60X                0x03   /**<  60x gain */
/******************************************************************************/

/******************************************************************************/
#define max3v(v1, v2, v3)   ((v1)(v2)? ((v2)>(v3)?(v3):(v2)):((v1)>(v3)?(v3):(v1)))

typedef struct{
        unsigned short  c;      //[0-65536]
        unsigned short  r;
        unsigned short  g;
        unsigned short  b;
}COLOR_RGBC;//RGBC

typedef struct{
        unsigned short h;       //[0,360]
        unsigned char  s;       //[0,100]
        unsigned char  l;       //[0,100]
}COLOR_HSL;//HSL

/******************************************************************************/

extern COLOR_RGBC rgb;
extern COLOR_HSL  hsl;




uint8_t TCS34725_Init(void);
uint8_t TCS34725_GetRawData(COLOR_RGBC *rgbc);
void RGBtoHSL(COLOR_RGBC *Rgb, COLOR_HSL *Hsl);
#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_tcs34725.h"

int32_t main(void)
{
    board_init();        // 開發板初始化

    uart1_init(115200);        // 串口1波特率115200

    TCS34725_Init();
    printf("startrn");
    delay_ms(1000);
    while(1)
    {
        TCS34725_GetRawData(&rgb);  //讀兩次,實際測試時發現讀到的顏色總是上一次的顏色
        RGBtoHSL(&rgb,&hsl);
        printf("R=%d G=%d B=%d C=%drn",rgb.r,rgb.g,rgb.b,rgb.c);
        printf("H=%d S=%d L=%drn",hsl.h,hsl.s,hsl.l);

        printf("n");
        delay_ms(1000);
    }
}

移植現象:輸出當前RGB值。

wKgZO2dyE1aAI8dTAACFGMrI1Yw36.webp

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/15K2g_r6xcYeBfNMh4m1eMQ?pwd=LCKF

提取碼:LCKF

審核編輯 黃宇

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

    關注

    2551

    文章

    51147

    瀏覽量

    753999
  • CW32
    +關注

    關注

    1

    文章

    210

    瀏覽量

    662
收藏 人收藏

    評論

    相關推薦

    什么是顏色識別傳感器 案列解析顏色識別傳感器的工作原理

    概要 顏色識別傳感器又稱色彩傳感器顏色傳感器,它是將物體顏色同前面已經示教過的參考
    的頭像 發表于 11-07 09:10 ?2.5w次閱讀
    什么是<b class='flag-5'>顏色</b><b class='flag-5'>識別傳感器</b> 案列解析<b class='flag-5'>顏色</b><b class='flag-5'>識別傳感器</b>的工作原理

    顏色識別傳感器

    不知道有什么好的比較簡單的顏色識別傳感器識別紅色和藍色就行了 求老鳥指點
    發表于 05-13 20:37

    工業顏色識別傳感器的設計

    工業顏色識別傳感器的設計顏色識別傳感器又名:色彩傳感器顏色
    發表于 11-12 11:55

    請問顏色傳感器GY-33 TCS34725TCS3200有什么區別?

    請教顏色傳感器GY-33 TCS34725TCS3200的具體區別?哪種用于檢測透明瓶中液體顏色更好?有沒有做過相關實驗的朋友,希望大家給
    發表于 03-26 07:17

    怎樣去設計一種基于TCS3472XFN的通信顏色識別傳感器模塊

    基于TCS3472XFN的通信顏色識別傳感器模塊有何優點?怎樣去設計一種基于TCS3472XFN的通信
    發表于 09-23 08:59

    介紹單片機如何使用TCS3200顏色識別傳感器

    應用場景與單片機連接arduino連接方式stm32連接方式3 實現效果5 相關代碼6 最后1 簡介Hi,大家好,這里是丹成學長,今天向大家介紹單片機如何使用顏色識別傳感器,以arduino單片機為例顏色
    發表于 01-07 08:23

    顏色識別傳感器TCS34725概述

    關注、星標嵌入式云IOT技術圈,精彩及時送達我買來做顏色識別傳感器模塊TCS34725,如下圖所示(相關資料和本文demo請滑到文末通過clone我的碼云倉庫鏈接獲取):我買的是如
    發表于 01-17 06:34

    TCS34725 RGB顏色識別傳感器基礎知識詳解

    1、TCS34725 RGB顏色識別傳感器詳解rt-thread是什么?  RT-Thread是一個集實時操作系統(RTOS)內核、中間件組件和開發者社區于一體的技術平臺,組件完整豐富、高度可伸縮
    發表于 08-23 17:14

    可編程顏色傳感器TCS230原理及應用

      引 言 本文介紹美國TAOS公司最新推出的顏色傳感器TCS230。它不僅能夠實現顏色識別與檢測,與以前的
    發表于 08-17 14:15 ?5348次閱讀
    可編程<b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b><b class='flag-5'>TCS</b>230原理及應用

    顏色識別傳感器原理與應用詳解

    本文開始闡述了顏色識別傳感器概念與顏色識別傳感器功能,其次詳細的分析了顏色識別傳感器的工作原理,
    發表于 03-09 13:37 ?7w次閱讀
    <b class='flag-5'>顏色</b><b class='flag-5'>識別傳感器</b>原理與應用詳解

    微雪電子TCS34725顏色傳感器簡介

    TCS34725顏色傳感器模塊 I2C接口 內置ADC 高靈敏度 輸出RGB 型號 TCS34725 Color Sensor
    的頭像 發表于 01-06 08:59 ?2.2w次閱讀
    微雪電子<b class='flag-5'>TCS34725</b><b class='flag-5'>顏色</b><b class='flag-5'>傳感器</b>簡介

    STM32CubeMX | | 使用小熊派玩轉顏色識別傳感器(純手工打造E53傳感器模塊)

    關注、星標嵌入式云IOT技術圈,精彩及時送達我買來做顏色識別傳感器模塊TCS34725,如下圖所示(相關資料和本文demo請滑到文末通過clone我的碼云倉庫鏈接獲取):我買的是如
    發表于 01-17 11:44 ?7次下載
    STM32CubeMX | | 使用小熊派玩轉<b class='flag-5'>顏色</b><b class='flag-5'>識別傳感器</b>(純手工打造E53<b class='flag-5'>傳感器</b><b class='flag-5'>模塊</b>)

    基于CW32系列MCU的GY-33顏色識別模塊設計

    GY-33是一種基于TCS34725顏色傳感器顏色識別模塊
    的頭像 發表于 09-27 13:51 ?1987次閱讀
    基于<b class='flag-5'>CW32</b>系列MCU的GY-33<b class='flag-5'>顏色</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>設計

    顏色識別傳感器:精準捕捉世界的每一抹色彩

    ?顏色識別傳感器作為現代工業、機器視覺、自動化控制等領域的重要設備,其技術的發展和應用對于提升生產效率、保障產品質量具有重要意義。本文將從顏色識別傳感器的原理、結構組成、應用以及選型等
    的頭像 發表于 07-21 16:03 ?767次閱讀
    <b class='flag-5'>顏色</b><b class='flag-5'>識別傳感器</b>:精準捕捉世界的每一抹色彩

    CW32模塊使用 指紋識別傳感器

    光學指紋識別傳感器采用了國內著名指紋識別芯片公司杭州晟元芯片技術有限公司(Synochip) 的 AS608 指紋識別芯片。芯片內置 DSP 運算單元,集成了指紋識別算法,能高效快速采
    的頭像 發表于 09-18 15:15 ?406次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 指紋<b class='flag-5'>識別傳感器</b>
    主站蜘蛛池模板: 国产在线视频资源| tv天堂| 日本亚洲精品色婷婷在线影院| 亚洲字幕久久| 黄色免费在线视频| 免费的两性视频网站| 美国一级毛片免费看成人| 调教双性学霸美人| 美女把尿口扒开让男人桶出水 | 777色淫网站女女| 亚洲国产成人久久午夜| 黄色网址你懂得| 国产成人mv在线观看入口视频| 草色网| 天堂资源最新版在线www| 蜜色网| 手机在线视频观看| 黄色视网站| 黄色国产| 日本一区二区不卡在线| 六月丁香激情网| 在线亚洲免费| 男啪女色黄无遮挡免费观看| 亚洲伦理中文字幕一区| 一级毛片一级毛片一级毛片| 色尼玛亚洲综合| 久久ww| 天天爽夜爽免费精品视频| mide-776中文字幕在线| 天天挨操| 美国三级网| 一色屋成人免费精品网站| 人人爽人人爱| 欧美爽爽| 欧美日韩不卡码一区二区三区 | 中国三级视频| 色天使色婷婷在线影院亚洲| 狠狠色婷婷丁香综合久久韩国 | 你懂的福利网站| 久久精品综合| 尻老逼|