www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > TopSemic嵌入式
[導(dǎo)讀]成就一番偉業(yè)的唯一途徑就是熱愛自己的事業(yè)。如果你還沒能找到讓自己熱愛的事業(yè),繼續(xù)尋找,不要放棄。跟隨自己的心,總有一天你會找到的?!獑滩妓??你去關(guān)燈,你去,你去,。。我去。。小伙伴們有沒有在天氣寒冷時候,想去關(guān)燈,卻離不開心愛的被窩的經(jīng)歷呢,有的話,跟著小飛哥一起來DIY一個...


成就一番偉業(yè)的唯一途徑就是熱愛自己的事業(yè)。如果你還沒能找到讓自己熱愛的事業(yè),繼續(xù)尋找,不要放棄。跟隨自己的 心,總有一天你會找到的。——喬布斯

??

你去關(guān)燈,你去,你去,。。我去。。小伙伴們有沒有在天氣寒冷時候,想去關(guān)燈,卻離不開心愛的被窩的經(jīng)歷呢,有的話,跟著小飛哥一起來DIY一個離線語音控制器,有了它,我們就可以安穩(wěn)的臥在暖和的被窩了,來,干!


? ? ? ? 先看看演示視頻:


完成目標(biāo)

  • HAL庫串口使用
  • 常用串口接收及數(shù)據(jù)協(xié)議解析
  • 接收離線語音控制模塊數(shù)據(jù)、解析,實現(xiàn)相應(yīng)的控制

硬件環(huán)境

  • STM32F407ZGT6(或其他主控板)
  • 海凌科HLK-V20離線語音控制模塊
海凌科HLK-V20離線語音控制模塊
  • 電容式駐極體話筒(咪頭)
  • 杜邦線,LED燈,實驗用到3個LED燈,面包板(非必備)

軟件環(huán)境

  • keil5
  • cubemx

1 離線語音模塊控制器

1.1 模塊簡介

??在某寶購買的,只需要9.9元,語音識別固定,支持57條語音,基本的是夠用了,基本的風(fēng)扇控制、燈控制、電飯煲控制、溫度控制等都具備,基本上比較全面。

1.2 模塊特性

處理內(nèi)核:

  • 32bit RISC 內(nèi)核, 運行頻率 240M
  • 支持 DSP 指令集以及 FPU 浮點運算單元
  • FFT 加速器:最大支持 1024 點復(fù)數(shù) FFT/IFFT 運算或者是2048 點的實數(shù) FFT/IFFT 運算
  • 定制化語音算法算子

存儲:

  • 內(nèi)置高速 SRAM
  • 內(nèi)置 2MB FLASH

音頻輸入輸出:

  • 支持 1 路模擬 Mic 輸入
  • 支持雙聲道 DAC 輸出
  • 持 I2S input/output

供電和時鐘:

  • 內(nèi)置 5V 轉(zhuǎn) 3.3V, 3.3V 轉(zhuǎn) 1.2V LDO 為芯片供電
  • RC 12MHz 時鐘源和 PLL 鎖相環(huán)時鐘源
  • 置 POR(Power on Reset) , 低電壓檢測和看門狗

系統(tǒng)功能框圖:

系統(tǒng)功能框圖

引腳介紹:

??模塊有 16 個引腳, 包括功放輸出、 差分輸入與串口。具體定義說明見下表。

引腳介紹
引腳介紹

機械尺寸:

機械尺寸

功能描述

??HLK-V20模塊是可以控制自身IO的,有幾個IO可以通過語音控制使用,實現(xiàn)基本的控制功能,具體使用如下:

  • 模塊喚醒后, 使用命令詞” 打開空調(diào)” ,對應(yīng)模塊上 B7 引腳, 使用命令詞” 關(guān)閉空調(diào)” ,B7 輸出對應(yīng)電平
  • 使用命令詞” 打開燈光” , 對應(yīng)模塊上 B6 引腳, 使用命令詞” 關(guān)閉燈光” , B6 輸出對應(yīng)電平
  • 使用命令詞” 打開開關(guān)” ,對應(yīng)模塊上 B2 引腳, 使用命令詞” 關(guān)閉開關(guān)” , B2 輸出對應(yīng)電平
??為了方便后續(xù)擴展功能,本次小飛哥使用的是外接MCU,通過讀取HLK-V20模塊串口輸出數(shù)據(jù),解析進行相應(yīng)的控制,此辦法在后續(xù)的擴展功能中比較方便,建議大家有條件的可以采用這種辦法應(yīng)用實例如下:

??模塊可作為主控, 運用在語音控制 LED 燈, 語音控制繼電器等場景。模塊可以應(yīng)用在以下場景:聲控吊燈、 聲控壁燈、 聲控浴霸、 聲控開關(guān)、 聲控射燈、 聲控 吸頂燈、 聲控臺燈、 墻壁開關(guān)、 酒店控制面板、 LED 臺燈、 面板、 晾衣機、 電動窗簾、 風(fēng)扇、 智能門鎖、 掃地機、 智能臺燈、 智能空調(diào)、 智能茶壺、 故事機、 智能窗簾、 智能風(fēng)扇、 音控音 箱、 車載音控。

1.3 模塊輸出數(shù)據(jù)協(xié)議格式分析

??采用外接MCU的控制方法,那就必須首先對模塊輸出的數(shù)據(jù)協(xié)議格式進行分析,正確解析數(shù)據(jù)之后才能實現(xiàn)我們的功能,廠家出廠是有一套固定協(xié)議的,如果需要更改為自己的協(xié)議,需要廠家定制,估計走量的,暫時用廠家的就可以啦。協(xié)議格式說明:

??Payload 為喚醒與命令詞對應(yīng)的 action 標(biāo)識, 喚醒對應(yīng)的 action 為 wakeup_uni, 命令詞對應(yīng)的 action 詳見后面介紹,對于我們來說,最重要的是解析出來action數(shù)據(jù),根據(jù)action數(shù)據(jù)內(nèi)容具體來定制我們要控制的設(shè)備。??下圖為語音喚醒與命令詞對應(yīng)的串口數(shù)據(jù)(hex 格式), 8 條數(shù)據(jù)分別表示為喚醒、 打開臺燈、 關(guān)閉臺燈、 打開空調(diào)、 關(guān)閉空調(diào)、 打開浴霸、 關(guān)閉浴霸、 退出識別狀態(tài)


??關(guān)于提到的action字段,參考廠家提供的離線命令詞與播報答復(fù)列表,簡單列舉一些:

??紅框里面是模塊收到語音控制命令之后,串口輸出的數(shù)據(jù),我們只需要把這部分?jǐn)?shù)據(jù)解析出來,知道當(dāng)前是什么指令,然后控制相應(yīng)的設(shè)備即可。

2 軟件實現(xiàn)

??主要用到串口1、串口3,定時器7、定時器3,串口1用于調(diào)試信息打印,定時器3用于PWM控制燈光亮度,實現(xiàn)調(diào)光功能,串口3用于接收模塊串口輸出數(shù)據(jù)、解析數(shù)據(jù),定時7用于控制串口數(shù)據(jù)接收超時,下面來小飛哥來一步步介紹實現(xiàn)過程。

2.1 cubemx配置

??時鐘配置,參考上us延時3種實現(xiàn)方法一文,就不再做詳細(xì)介紹了。

串口配置:

??串口1配置,主要配置下圖紅框中的幾項即可,開啟接收中斷,中斷優(yōu)先級可以選擇默認(rèn)的即可,波特率115200。

??串口2配置,基本同串口1配置,也是主要配置下圖紅框中的幾項即可,開啟接收中斷,中斷優(yōu)先級可以選擇默認(rèn)的即可,波特率115200。

串口2配置

定時器配置:

??定時器3配置,定時器3時鐘為 84M/84=1Mhz,重裝載值 500,所以 PWM 頻率為 1M/500=2Khz。??定時器7配置,定時7配置為1ms周期,后面串口超時時間具體在配置。

定時器7配置
??配置完之后的中斷開啟情況如下圖:

??配置完之后的IO使用情況如下圖:

2.2 PWM簡介

??脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation” 的縮寫,簡稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù)。簡單一點,就是對脈沖寬度的控制,PWM 原理如圖 所示:

??上圖就是一個簡單的 PWM 原理示意圖。圖中,我們假定定時器工作在向上計數(shù) PWM模式,且當(dāng) CNT=CCRx 時輸出 1。那么就可以得到如上的 PWM示意圖:當(dāng) CNT 值小于 CCRx 的時候, IO 輸出低電平(0),當(dāng) CNT 值大于等于 CCRx 的時候,IO 輸出高電平(1),當(dāng) CNT 達(dá)到 ARR 值的時候,重新歸零,然后重新向上計數(shù),依次循環(huán)。改變 CCRx 的值,就可以改變 PWM 輸出的占空比,改變 ARR 的值,就可以改變 PWM 輸出的頻率,這就是 PWM 輸出的原理,后面調(diào)光用到的就是這個原理,玩過PWM呼吸燈的小伙伴肯定就比較熟悉了,正點原子講的也比較詳細(xì)了,小飛哥就不啰嗦了。

2.3 代碼編寫

硬件連接

  • 主控MCU與HLK-V20連接
STM32HLK-V20
VCC-5VVCC
GNDGND
RX(PA3)TX
  • HLK-V20yu 揚聲器連接
揚聲器HLK-V20
任意端SP
任意端SP-
  • 主控MCU與受控設(shè)備連接
STM32受控設(shè)備
PB0(TIM3-CH3)臺燈LED正極
GND臺燈LED負(fù)極
PF9開燈LED正極
GND開燈LED負(fù)極
PB5紅燈LED正極
GND紅燈LED負(fù)極
??以上接法僅僅是演示使用,實際使用還是配合繼電器使用,能達(dá)到實際使用需求,無奈小飛哥手里就一個幾年前買的繼電器,還壞掉了,這次只能演示用了,后續(xù)會畫板子開源出來,希望大家多多關(guān)注小飛哥公眾號。

串口2代碼編寫

??初始化部分由cubemx配置完成,就不啰嗦了,配置的正確,就不會有問題。

typedef?struct?{
?char?Rxbuff[100];
?uint8_t?RxData;
?uint8_t?RxCnt;
?uint8_t?RxTimCnt;
?uint8_t?RxRecFlag;
?uint8_t?RxEndFlag;
}uart2_para;
uart2_para?Voice_RevPara;

/**
??*?@brief??串口中斷回調(diào)函數(shù)
??*?????????
??*?@param??
??*?@param??
??*?@retval?none
??*/

void?HAL_UART_RxCpltCallback(UART_HandleTypeDef?*huart)
{
?if(huart->Instance==USART1)
?{
???Voice_RecUartCallBack();
?}
?else?if(huart->Instance==USART2)
?{
???Voice_RecUartCallBack();
?}
}

/**
??*?@brief??語音模塊串口中斷回調(diào)函數(shù)
??*?????????
??*?@param??none
??*?@param??none
??*?@retval?none
??*/

void?Voice_RecUartCallBack(void)?
{
??Voice_RevPara.RxTimCnt?=?0;
??Voice_RevPara.RxRecFlag?=?1;?????
??Voice_RevPara.Rxbuff[Voice_RevPara.RxCnt]?=?Voice_RevPara.RxData;
??Voice_RevPara.RxCnt ;
??if(Voice_RevPara.RxCnt>=100){
???Voice_RevPara.RxCnt=0;
??}
??HAL_UART_Receive_IT(
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉
關(guān)閉