女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

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

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-09-18 15:15 ? 次閱讀

光學(xué)指紋識別傳感器采用了國內(nèi)著名指紋識別芯片公司杭州晟元芯片技術(shù)有限公司(Synochip) 的 AS608 指紋識別芯片。芯片內(nèi)置 DSP 運(yùn)算單元,集成了指紋識別算法,能高效快速采集 圖像并識別指紋特征。模塊配備了串口、USB 通訊接口,用戶無需研究復(fù)雜的圖像處理及及指紋識別算法,只需通過簡單的串口、USB 按照通訊協(xié)議便可控制模塊。本模塊可應(yīng)用于各種考勤機(jī)、保險(xiǎn)箱柜、指紋門禁系統(tǒng)、指紋鎖等場合。

01模塊來源

模塊實(shí)物展示:

wKgZombqfg6AXiSrAAAbbFpICR882.webp



資料下載鏈接:https://pan.baidu.com/s/1mCDdiU5nwtooxmHiPfYTFA
資料提取碼:kj8o

02 規(guī)格參數(shù)

工作電壓:3.0-3.6V

工作電流:30~60mA

指紋存容量:300 枚(ID:0~299)

認(rèn)假率:<0.001%

搜索時(shí)間:<0.3(S)

控制方式:串口或USB

管腳數(shù)量:8 Pin(2.54mm間距排針

以上信息見廠家資料文件

03移植過程

我們的目標(biāo)是將例程移植至CW32F030C8T6開發(fā)板上【實(shí)現(xiàn)添加指紋、刪除指紋和搜索指紋的功能】。首先要獲取資料,查看數(shù)據(jù)手冊應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。

3.1查看資料

系統(tǒng)內(nèi)設(shè)有一個(gè)72K字節(jié)的圖像緩沖區(qū)與二個(gè)512bytes大小的特征文件緩沖區(qū),名字分別稱為:lmageBuffer,CharBuffer1和CharBuffer2。用戶可以通過指令讀寫任意一個(gè)緩沖區(qū)。CharBufferl或 CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件。通過UART 口上傳或下載圖像時(shí)為了加快速度,只用到像素字節(jié)的高4位,即將兩個(gè)像素合成一個(gè)字節(jié)傳送。通過USB口則是整8位像素。

指紋庫容量根據(jù)掛接的FLASH容量不同而改變,系統(tǒng)會自動(dòng)判別。指紋模板按照序號存放,序號定義為:0—(N-1)(N為指紋庫容量)。用戶只能根據(jù)序號訪問指紋庫內(nèi)容。

這里我們使用的是串口控制方式,USB的接口我們可以懸空不接。

wKgaombqfg-AZR-kAACFDDPdsko05.webp

1腳(紅線):模塊主電源,接3.3V供電(請勿接3.3V以上電源,否則燒毀模塊!);

2腳(黃線):模塊串口TX(發(fā)送端),接MCU或TTL串口的RX(接收端);

3腳(白線):模塊串口RX(接收端),接MCU或TTL串口的TX(發(fā)送端);

4腳(黑線):模塊電源地,接3.3V電源地(負(fù)極);

5腳(藍(lán)線):模塊觸摸感應(yīng)信號輸出(高電平為檢測到觸摸),需接VTI到3.3V。

6腳(綠線):模塊觸摸感應(yīng)電路電源(3.3V),可以與1腳(紅線)并接。

7腳,8腳為USB信號線,使用串口控制模塊時(shí)可以懸空不用。

3.2引腳選擇

想要使用uart串口,需要確定使用的引腳是否有串口外設(shè)功能,可以通過用戶手冊進(jìn)行查看。在用戶手冊的第146頁。

這里選擇使用PA2和PA3的附加串口2功能。

wKgZombqfg-AJ2XMAAChJs2IQ-k64.webp

有串口功能的引腳

wKgaombqfhGAWwoMAABt8PArfts53.webp

接線表

3.3移植至工程

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

將bsp_uart.c修改為下面的代碼:

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

uint8_t  u1_recv_buff[512]; // 接收緩沖區(qū)
uint16_t u1_recv_length;    // 接收數(shù)據(jù)長度
uint8_t  u1_recv_flag;      // 接收完成標(biāo)志位

/******************************************************************
 * 函 數(shù) 名 稱:uart1_init
 * 函 數(shù) 說 明:初始化USART1的串口收發(fā)功能
 * 函 數(shù) 形 參:__rate:波特率
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void uart1_init(uint32_t __rate)
{
    //配置RCC
    RCC_AHBPeriphClk_Enable(DEBUG_USART_GPIO_CLK, ENABLE); // 使能GPIO時(shí)鐘
    DEBUG_USART_APBClkENx(DEBUG_USART_CLK, ENABLE);                   // 使能串口時(shí)鐘

    // 配置GPIO
    GPIO_InitTypeDef GPIO_InitStructure;

    //UART TX RX 復(fù)用
    DEBUG_USART_AFTX;
    DEBUG_USART_AFRX;

    GPIO_InitStructure.Pins = DEBUG_USART_TX_GPIO_PIN;              // 引腳
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;                  // 推挽輸出
    GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;                     // 輸出速度高
    GPIO_Init(DEBUG_USART_TX_GPIO_PORT, &GPIO_InitStructure);       // 初始化GPIO

    GPIO_InitStructure.Pins = DEBUG_USART_RX_GPIO_PIN;
    GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;               // 上拉輸入
    GPIO_Init(DEBUG_USART_RX_GPIO_PORT, &GPIO_InitStructure);


    // 配置UART
    USART_InitTypeDef USART_InitStructure;
    USART_InitStructure.USART_BaudRate = __rate;                // 波特率
    USART_InitStructure.USART_Over = USART_Over_16;             // 配置USART的過采樣率。
    USART_InitStructure.USART_Source = USART_Source_PCLK;       // 設(shè)置時(shí)鐘源
    USART_InitStructure.USART_UclkFreq = DEBUG_USART_UclkFreq;  //設(shè)置USART時(shí)鐘頻率(和主頻一致即可)
    USART_InitStructure.USART_StartBit = USART_StartBit_FE;     //RXD下降沿開始
    USART_InitStructure.USART_StopBits = USART_StopBits_1;      // 停止位1
    USART_InitStructure.USART_Parity = USART_Parity_No ;        // 不使用校驗(yàn)
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 不使用流控
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        // 收發(fā)模式
    USART_Init(DEBUG_USARTx, &USART_InitStructure);

    //優(yōu)先級,無優(yōu)先級分組
    NVIC_SetPriority(DEBUG_USART_IRQ, 0);
    //UARTx中斷使能
    NVIC_EnableIRQ(DEBUG_USART_IRQ);

    //使能UARTx RC中斷
    USART_ITConfig(DEBUG_USARTx, USART_IT_RC, ENABLE);
}


#if !defined(__MICROLIB)
//不使用微庫的話就需要添加下面的函數(shù)
#if (__ARMCLIB_VERSION <= 6000000)
//如果編譯器是AC5  就定義下面這個(gè)結(jié)構(gòu)體
struct __FILE
{
        int handle;
};
#endif

FILE __stdout;

//定義_sys_exit()以避免使用半主機(jī)模式
void _sys_exit(int x)
{
        x = x;
}
#endif

/* retarget the C library printf function to the USART */
int fputc(int ch, FILE *f)
{
        // 發(fā)送一個(gè)字節(jié)
    USART_SendData(DEBUG_USARTx, (uint8_t)ch);

        // 等待發(fā)送完成
        while( RESET == USART_GetFlagStatus(DEBUG_USARTx, USART_FLAG_TXE) ){}

    return ch;
}

void uart1_receive_clear(void)
{
        for(int i = 0; i < 512; i++)
        {
                u1_recv_buff[i] = 0;
        }

        u1_recv_length = 0;

        u1_recv_flag = 0;
}

/******************************************************************
 * 函 數(shù) 名 稱:UART1_IRQHandler
 * 函 數(shù) 說 明:串口1中斷服務(wù)函數(shù)
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void UART1_IRQHandler(void)
{
    uint8_t TxRxBuffer;

    if (USART_GetITStatus(CW_UART1, USART_IT_RC) != RESET)
    {
                // 接收一個(gè)字節(jié)
        TxRxBuffer = USART_ReceiveData_8bit(CW_UART1);

        u1_recv_buff[u1_recv_length++] = TxRxBuffer;

        u1_recv_flag = 1;

//        USART_SendData_8bit(CW_UART1, TxRxBuffer); // 將數(shù)據(jù)發(fā)回用于驗(yàn)證

                // 清除標(biāo)志位
        USART_ClearITPendingBit(CW_UART1, USART_IT_RC);
    }
}

將bsp_uart.h修改為下面的代碼:

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


//UARTx
#define  DEBUG_USARTx                   CW_UART1
#define  DEBUG_USART_CLK                RCC_APB2_PERIPH_UART1
#define  DEBUG_USART_APBClkENx          RCC_APBPeriphClk_Enable2
#define  DEBUG_USART_UclkFreq           64000000

//UARTx GPIO
#define  DEBUG_USART_GPIO_CLK           RCC_AHB_PERIPH_GPIOA
#define  DEBUG_USART_TX_GPIO_PORT       CW_GPIOA
#define  DEBUG_USART_TX_GPIO_PIN        GPIO_PIN_8
#define  DEBUG_USART_RX_GPIO_PORT       CW_GPIOA
#define  DEBUG_USART_RX_GPIO_PIN        GPIO_PIN_9

//GPIO AF
#define  DEBUG_USART_AFTX               PA08_AFx_UART1TXD()
#define  DEBUG_USART_AFRX               PA09_AFx_UART1RXD()

//中斷
#define  DEBUG_USART_IRQ                UART1_IRQn

extern uint8_t  u1_recv_buff[512]; // 接收緩沖區(qū)
extern uint16_t u1_recv_length;    // 接收數(shù)據(jù)長度
extern uint8_t  u1_recv_flag;      // 接收完成標(biāo)志位

void uart1_receive_clear(void);
void uart1_init(uint32_t __rate);

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

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-19     LCKFB-LP    first version
 */
#include "bsp_as608.h"
#include "stdio.h"
#include "string.h"
#include "bsp_uart.h"

volatile unsigned char FPM10A_RECEICE_BUFFER[32];
unsigned int finger_id = 0;

const unsigned char FPM10A_Get_Device[10] ={0x01,0x00,0x07,0x13,0x00,0x00,0x00,0x00,0x00,0x1b};//口令驗(yàn)證
const unsigned char FPM10A_Pack_Head[6] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF};  //協(xié)議包頭
const unsigned char FPM10A_Get_Img[6] = {0x01,0x00,0x03,0x01,0x00,0x05};    //獲得指紋圖像
const unsigned char FPM10A_Get_Templete_Count[6] ={0x01,0x00,0x03,0x1D,0x00,0x21 }; //獲得模版總數(shù)
const unsigned char FPM10A_Search[11]={0x01,0x00,0x08,0x04,0x01,0x00,0x00,0x03,0xE7,0x00,0xF8}; //搜索指紋搜索范圍0 - 999,使用BUFFER1中的特征碼搜索
const unsigned char FPM10A_Search_0_9[11]={0x01,0x00,0x08,0x04,0x01,0x00,0x00,0x00,0x13,0x00,0x21}; //搜索0-9號指紋
const unsigned char FPM10A_Img_To_Buffer1[7]={0x01,0x00,0x04,0x02,0x01,0x00,0x08}; //將圖像放入到BUFFER1
const unsigned char FPM10A_Img_To_Buffer2[7]={0x01,0x00,0x04,0x02,0x02,0x00,0x09}; //將圖像放入到BUFFER2
const unsigned char FPM10A_Reg_Model[6]={0x01,0x00,0x03,0x05,0x00,0x09}; //將BUFFER1跟BUFFER2合成特征模版
const unsigned char FPM10A_Delete_All_Model[6]={0x01,0x00,0x03,0x0d,0x00,0x11};//刪除指紋模塊里所有的模版
volatile unsigned char  FPM10A_Save_Finger[9]={0x01,0x00,0x06,0x06,0x01,0x00,0x0B,0x00,0x19};//將BUFFER1中的特征碼存放到指定的位置


uint8_t  u2_recv_buff[USART2_RECEIVE_LENGTH]; // 接收緩沖區(qū)
uint16_t u2_recv_length;                      // 接收數(shù)據(jù)長度
uint8_t  u2_recv_flag;                        // 接收完成標(biāo)志位


/******************************************************************
 * 函 數(shù) 名 稱:as608_gpio_config
 * 函 數(shù) 說 明:初始化as608引腳
 * 函 數(shù) 形 參:設(shè)置波特率 as608的默認(rèn)波特率是57600
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:as608的默認(rèn)波特率是57600
******************************************************************/
void as608_gpio_config(uint32_t band_rate)
{
    GPIO_InitTypeDef        GPIO_InitStruct; // GPIO初始化結(jié)構(gòu)體

    AS608_GPIO_RCC_ENABLE();        // 使能GPIO時(shí)鐘
    AS608_UART_RCC_ENABLE();        // 使能UART時(shí)鐘

    GPIO_InitStruct.Pins = AS608_TX_PIN;                 // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;          // 推挽輸出
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;             // 輸出速度高
    GPIO_Init(AS608_GPIO_PORT, &GPIO_InitStruct);        // 初始化

    GPIO_InitStruct.Pins = AS608_RX_PIN;                 // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLUP;       // 上拉輸入
    GPIO_Init(AS608_GPIO_PORT, &GPIO_InitStruct);        // 初始化

    GPIO_InitStruct.Pins = AS608_TOUCH_PIN;              // GPIO引腳
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLDOWN;// 下拉輸入
    GPIO_Init(AS608_GPIO_PORT, &GPIO_InitStruct);        // 初始化

    AS608_AF_UART_TX(); // UART_TX復(fù)用
    AS608_AF_UART_RX(); // UART_RX復(fù)用

    // 配置UART
    USART_InitTypeDef USART_InitStructure;

    USART_InitStructure.USART_BaudRate = band_rate;                     // 波特率
    USART_InitStructure.USART_Over = USART_Over_16;                     // 配置USART的過采樣率。
    USART_InitStructure.USART_Source = USART_Source_PCLK;               // 設(shè)置時(shí)鐘源
    USART_InitStructure.USART_UclkFreq = 64000000;                      //設(shè)置USART時(shí)鐘頻率(和主頻一致即可)
    USART_InitStructure.USART_StartBit = USART_StartBit_FE;             //RXD下降沿開始
    USART_InitStructure.USART_StopBits = USART_StopBits_1;              // 停止位1
    USART_InitStructure.USART_Parity = USART_Parity_No ;                // 不使用校驗(yàn)
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 不使用流控
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;     // 收發(fā)模式
    USART_Init(AS608_UART, &USART_InitStructure);                       // 初始化串口1

    // 優(yōu)先級,無優(yōu)先級分組
    NVIC_SetPriority(AS608_UART_IRQ, 0);

    // UARTx中斷使能
    NVIC_EnableIRQ(AS608_UART_IRQ);

    // 使能UARTx RC中斷
    USART_ITConfig(AS608_UART, USART_IT_RC, ENABLE);

}

/************************************************
函數(shù)名稱 : uart2_send_byte
功    能 : 串口發(fā)送一個(gè)字節(jié)
參    數(shù) : ucch:要發(fā)送的字節(jié)
返 回 值 :
作    者 : LC
*************************************************/
void uart2_send_byte(uint8_t ucch)
{
    // 發(fā)送一個(gè)字節(jié)
    USART_SendData_8bit(AS608_UART, (uint8_t)ucch);

    // 等待發(fā)送完成
    while( RESET == USART_GetFlagStatus(AS608_UART, USART_FLAG_TXE) ){}
}

/************************************************
函數(shù)名稱 : uart2_receive_clear
功    能 : 清除串口接收的全部數(shù)據(jù)
參    數(shù) : 無
返 回 值 : 無
作    者 : LC
*************************************************/
void  uart2_receive_clear(void)
{
    unsigned int i = 0;
    for( i = 0; i < USART2_RECEIVE_LENGTH; i++ )
    {
        u2_recv_buff[ i ] = 0;
    }
    u2_recv_length = 0;
        u2_recv_flag = 0;
}

/******************************************************************
 * 函 數(shù) 名 稱:get_as608_touch
 * 函 數(shù) 說 明:獲取是否有手指觸摸識別區(qū)
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:0沒有觸摸    1有觸摸
 * 作       者:LC
 * 備       注:無
******************************************************************/
char get_as608_touch(void)
{
        if( TOUCH_IN == 1 )//觸摸為1
        {
                //printf("Touch-1rn");
                return 1;
        }
        else
        {
                //printf("Touch-0rn");
        }
        return 0;
}

/******************************************************************
 * 函 數(shù) 名 稱:FPM10A_Cmd_Send_Pack_Head
 * 函 數(shù) 說 明:發(fā)送包頭
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:wu
 * 作       者:LC
 * 備       注:無
******************************************************************/
void FPM10A_Cmd_Send_Pack_Head(void)
{
        int i;
        for(i=0;i 0 )
        {
                delay_ms(1);
                timeout--;
        }

        delay_ms(100);        // 一定要加延時(shí)!!!
        if( u2_recv_flag == 1 )
        {
                u2_recv_flag = 0;
                for (i=0;i>8;
    FPM10A_Save_Finger[6] = (storeID&0x00FF);
    for(i=0;i> 8; //存放校驗(yàn)數(shù)據(jù)
    FPM10A_Save_Finger[8]= temp & 0x0000FF;
    FPM10A_Cmd_Send_Pack_Head(); //發(fā)送通信協(xié)議包頭
    for(i=0;i

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

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

#include "board.h"


#define AS608_GPIO_RCC_ENABLE()    __RCC_GPIOA_CLK_ENABLE()  // GPIO時(shí)鐘
#define AS608_UART_RCC_ENABLE()    __RCC_UART2_CLK_ENABLE()  // 串口2的時(shí)鐘

#define AS608_AF_UART_TX()         PA02_AFx_UART2TXD()
#define AS608_AF_UART_RX()         PA03_AFx_UART2RXD()

#define AS608_GPIO_PORT            CW_GPIOA          // GPIO端口

#define AS608_TX_PIN               GPIO_PIN_2        // 串口TX的引腳
#define AS608_RX_PIN               GPIO_PIN_3        // 串口RX的引腳

#define AS608_TOUCH_PIN            GPIO_PIN_1        // TOUCH的引腳

#define AS608_UART                 CW_UART2          // 串口2
#define AS608_UART_IRQ             UART2_IRQn        // 串口2中斷
#define AS608_UART_IRQHandler      UART2_IRQHandler  // 串口2中斷服務(wù)函數(shù)

#define TOUCH_IN                   GPIO_ReadPin( AS608_GPIO_PORT, AS608_TOUCH_PIN )

/* 串口緩沖區(qū)的數(shù)據(jù)長度 */
#define USART2_RECEIVE_LENGTH  1024

extern uint8_t  u2_recv_buff[USART2_RECEIVE_LENGTH]; // 接收緩沖區(qū)
extern uint16_t u2_recv_length;                      // 接收數(shù)據(jù)長度
extern uint8_t  u2_recv_flag;                        // 接收完成標(biāo)志位

void as608_gpio_config(uint32_t band_rate);
char get_as608_touch(void);
void uart2_receive_clear(void);

char Device_Check(void);
void FPM10A_Add_Fingerprint(void);//添加指紋
unsigned int FPM10A_Find_Fingerprint(void);//查找指紋
void FPM10A_Delete_All_Fingerprint(void);
#endif

04移植驗(yàn)證

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

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

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

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

    as608_gpio_config(57600U);

    printf("AS608 demo startrn");

    Device_Check();//模塊檢測

    FPM10A_Delete_All_Fingerprint();  //是否刪除全部指紋

    FPM10A_Add_Fingerprint();//是否添加指紋

    while(1)
    {
        FPM10A_Find_Fingerprint();//查找指紋
    }
}

上電現(xiàn)象:

wKgaombqfhGAdNvvAACqCOaBZh066.webp

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/13OYXBko_GfKrS4aRVg1VLg?pwd=LCKF

提取碼:LCKF

審核編輯 黃宇

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

    關(guān)注

    2564

    文章

    52607

    瀏覽量

    763853
  • 指紋識別傳感器
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    14846
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    242

    瀏覽量

    1102
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32模塊使用】MQ-4甲烷檢測傳感器

    轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號。MQ-4氣體傳感器中對甲烷的靈敏度高,對丙烷,丁烷也有較好的靈敏度。這種傳感器可檢測多種可燃性氣體,特別是天然氣,是一款適合多種應(yīng)用的低成本傳感器。 一、
    的頭像 發(fā)表于 12-30 11:36 ?980次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】MQ-4甲烷檢測<b class='flag-5'>傳感器</b>

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

    模塊是基于AMS的TCS3472XFN彩色光數(shù)字轉(zhuǎn)換為核心的顏色傳感器傳感器提供紅色,綠色,藍(lán)色(RGB)和清晰光感應(yīng)值的數(shù)字輸出。集成紅外阻擋濾光片可最大限度地減少入射光的紅外
    的頭像 發(fā)表于 12-30 11:28 ?642次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】TCS34725顏色<b class='flag-5'>識別傳感器</b>

    CW32模塊使用】SGP30氣體傳感器

    SGP30是一款單一芯片上具有多個(gè)傳感元件的金屬氧化物氣體傳感器,內(nèi)集成4個(gè)氣體傳感元件,具有完全校準(zhǔn)的空氣質(zhì)量輸出信號。另外,SGP易于集成,能夠?qū)⒔饘傺趸餁怏w傳感器集成到移動(dòng)設(shè)備
    的頭像 發(fā)表于 12-30 10:58 ?3385次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】SGP30氣體<b class='flag-5'>傳感器</b>

    CW32模塊使用 人體紅外傳感器

    人體紅外感應(yīng)模塊使用的是熱釋電紅外傳感器,它是利用溫度變化的特征來探測紅外線的輻射,利用雙靈敏元互補(bǔ)的方法抑制溫度變化產(chǎn)生的干擾,提高了傳感器的工作穩(wěn)定性。產(chǎn)品應(yīng)用廣泛,例如:保險(xiǎn)裝置、防盜報(bào)警
    的頭像 發(fā)表于 12-05 15:09 ?563次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 人體紅外<b class='flag-5'>傳感器</b>

    CW32模塊使用】微波多普勒無線雷達(dá)傳感器

    微波運(yùn)動(dòng)傳感器是利用多普勒雷達(dá)原理設(shè)計(jì)的微波移動(dòng)物體探測。不同于一般的紅外探測,微波傳感器通過通過檢測物體反射的微波來探測物體的運(yùn)動(dòng)狀況,檢測對象將并不會局限于人體,還有很多其他的
    的頭像 發(fā)表于 11-28 17:24 ?1403次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】微波多普勒無線雷達(dá)<b class='flag-5'>傳感器</b>

    CW32模塊使用】雨滴傳感器

    雨滴傳感器主要是用來檢測是否下雨及雨量的大小。主要用于汽車智能燈光(AFS)系統(tǒng)、汽車自動(dòng)雨刷系統(tǒng)、智能車窗系統(tǒng)。 該雨滴傳感器基本上是一塊板,上面以線形形式涂覆鎳。雨滴傳感器常見的工作原理是通過
    的頭像 發(fā)表于 11-28 11:23 ?2841次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】雨滴<b class='flag-5'>傳感器</b>

    基于CW32模塊的雨滴傳感器設(shè)計(jì)

    雨滴傳感器主要是用來檢測是否下雨及雨量的大小。主要用于汽車智能燈光(AFS)系統(tǒng)、汽車自動(dòng)雨刷系統(tǒng)、智能車窗系統(tǒng)。
    的頭像 發(fā)表于 11-26 17:22 ?646次閱讀
    基于<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>的雨滴<b class='flag-5'>傳感器</b>設(shè)計(jì)

    基于CW32模塊的火焰傳感器設(shè)計(jì)

    我們的目標(biāo)是將例程移植至CW32F030C8T6開發(fā)板上【判斷當(dāng)前檢測范圍是否有火光的功能】。首先要獲取資料,查看數(shù)據(jù)手冊應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。
    的頭像 發(fā)表于 11-26 17:18 ?903次閱讀
    基于<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>的火焰<b class='flag-5'>傳感器</b>設(shè)計(jì)

    國產(chǎn)人工智能教學(xué)實(shí)驗(yàn)箱操作案例分享:5-27 指紋識別實(shí)驗(yàn)

    的設(shè)計(jì)實(shí)現(xiàn):LCD顯示界面以及與用戶的交互; (3)編輯控制代碼; (4)編譯程序; (5)運(yùn)行程序。 Qt程序 指紋識別的Qt程序主要包括GUI的設(shè)計(jì)實(shí)現(xiàn)、指紋采集模塊指紋錄入
    發(fā)表于 10-15 16:43

    CW32模塊使用】紅外測距傳感器

    GP2Y0A02YKOF是夏普的一款距離測量傳感器模塊。它由PSD(position sensitive detector)和IRED(infrared emitting diode)以及信號處理
    的頭像 發(fā)表于 09-23 09:53 ?657次閱讀
    【<b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用】紅外測距<b class='flag-5'>傳感器</b>

    英飛凌推出帶指紋傳感器的生物識別芯片卡模塊

    英飛凌科技(Infineon Technologies)近期宣布了一項(xiàng)創(chuàng)新突破,成功推出了搭載指紋傳感器的生物識別芯片卡模塊——Infineon Secora Pay Bio,這一產(chǎn)品
    的頭像 發(fā)表于 09-19 17:31 ?1044次閱讀

    CW32模塊使用 紅外循跡傳感器

    ,調(diào)節(jié)方向與固定方便易用,使用寬電壓LM393比較,信號干凈,波形好,驅(qū)動(dòng)能力強(qiáng),超過15mA。可以應(yīng)用于機(jī)器人避障、機(jī)器人進(jìn)行白線或者黑線的跟蹤,可以檢測白底中的黑線,也可以檢測黑底中的白線,是尋線機(jī)器人的必備傳感器。 01模塊
    的頭像 發(fā)表于 09-18 14:31 ?864次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>模塊</b>使用 紅外循跡<b class='flag-5'>傳感器</b>

    顏色識別傳感器:精準(zhǔn)捕捉世界的每一抹色彩

    ?顏色識別傳感器作為現(xiàn)代工業(yè)、機(jī)器視覺、自動(dòng)化控制等領(lǐng)域的重要設(shè)備,其技術(shù)的發(fā)展和應(yīng)用對于提升生產(chǎn)效率、保障產(chǎn)品質(zhì)量具有重要意義。本文將從顏色識別傳感器的原理、結(jié)構(gòu)組成、應(yīng)用以及選型等方面進(jìn)行詳細(xì)
    的頭像 發(fā)表于 07-21 16:03 ?1373次閱讀
    顏色<b class='flag-5'>識別傳感器</b>:精準(zhǔn)捕捉世界的每一抹色彩

    基于FPGA的指紋識別系統(tǒng)設(shè)計(jì)

    能力,實(shí)現(xiàn)了指紋圖像的采集、處理、存儲和比對等功能。通過選用先進(jìn)的指紋傳感器和高效的算法,該系統(tǒng)在體積、速度和成本上均達(dá)到了優(yōu)化。
    的頭像 發(fā)表于 07-17 16:33 ?1907次閱讀

    【開源獲獎(jiǎng)案例】基于T5L智能屏的指紋識別解決方案

    ——來自迪文開發(fā)者論壇本期為大家推送迪文開發(fā)者論壇獲獎(jiǎng)開源案例——基于T5L智能屏的指紋識別解決方案。該方案通過智能屏串口進(jìn)行Modbus通訊,實(shí)現(xiàn)對指紋識別模塊的精準(zhǔn)控制,并集成了指紋
    的頭像 發(fā)表于 07-06 08:13 ?644次閱讀
    【開源獲獎(jiǎng)案例】基于T5L智能屏的<b class='flag-5'>指紋識別</b>解決方案