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

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

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

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

STM32項(xiàng)目分享:STM32智能語(yǔ)音分類(lèi)垃圾桶

機(jī)智云 ? 2025-03-15 10:02 ? 次閱讀

項(xiàng)目成品圖片:


9a911080-0141-11f0-9434-92fbcf53809c.jpg


01

項(xiàng)目簡(jiǎn)介


1.功能詳解


STM32智能語(yǔ)音分類(lèi)垃圾桶

功能如下:


1. STM32F103C8T6單片機(jī)系統(tǒng)板作為主控單元

2. 舵機(jī)驅(qū)動(dòng)垃圾桶蓋打開(kāi)與關(guān)閉

3. 按鍵控制四個(gè)分類(lèi)垃圾桶的開(kāi)關(guān)

4. 語(yǔ)音識(shí)別控制分類(lèi)垃圾桶開(kāi)關(guān)

5. 光電紅外傳感器監(jiān)測(cè)垃圾是否已滿(mǎn),并指示燈提示

6. OLED顯示屏顯示分類(lèi)垃圾桶開(kāi)關(guān)狀態(tài)

7. 手機(jī)藍(lán)牙APP接收分類(lèi)垃圾桶已滿(mǎn)消息



2.材料清單

STM32F103C8T6單片機(jī)

OLED 屏幕

光電紅外傳感器

SNR8016語(yǔ)音識(shí)別模塊

BT04A藍(lán)牙模塊

舵機(jī)



02


原理圖設(shè)計(jì)


9aa35b50-0141-11f0-9434-92fbcf53809c.png


03


PCB硬件設(shè)計(jì)


PCB圖

9ab92e44-0141-11f0-9434-92fbcf53809c.png9ad41ce0-0141-11f0-9434-92fbcf53809c.png


04

程序設(shè)計(jì)


#include"sys.h"#include"stdio.h"#include"string.h"#include"delay.h"#include"gpio.h"#include"key.h"#include"usart.h"#include"motor_duoji.h"#include"oled.h"

/**********************************變量定義**********************************/uint8_tkey_num =0;//按鍵掃描標(biāo)志位uint32_ttime_num =0;//10ms計(jì)時(shí)uint8_tflag_waste_1 =0;//可回收垃圾桶標(biāo)志位uint8_tflag_waste_2 =0;//廚余垃圾桶標(biāo)志位

uint8_tflag_waste_3 =0;//有害垃圾桶標(biāo)志位uint8_tflag_waste_4 =0;//其他垃圾桶標(biāo)志位externuint8_tusart2_buf[64];//串口2接收數(shù)組
/**********************************函數(shù)聲明**********************************/voidKey_function(void);//按鍵函數(shù)

voidMonitor_function(void);//監(jiān)測(cè)函數(shù)voidManage_function(void);//處理函數(shù)

/***********主函數(shù)*****/intmain(){Delay_Init(); //延時(shí)初始化 Gpio_Init(); //IO初始化Key_Init(); //按鍵初始化Motor_Duoji_Init(); //舵機(jī)初始化Motor_Duoji2_Init(); //舵機(jī)初始化OLED_Init();Usart1_Init(9600);//串口1初始化Usart2_Init(9600);//串口2初始化
TIM_SetCompare1(TIM1,1830); //PWM輸出Delay_ms(100);//延時(shí)100msTIM_SetCompare4(TIM1,1830); //PWM輸出Delay_ms(100);//延時(shí)100msTIM_SetCompare1(TIM2,1830); //PWM輸出Delay_ms(100);//延時(shí)100msTIM_SetCompare2(TIM2,1830); //PWM輸出Delay_ms(100);//延時(shí)

100msOLED_Clear();OLED_ShowChinese(0,0,0,16,1);OLED_ShowChinese(16,0,1,16,1);OLED_ShowChinese(32,0,2,16,1);OLED_ShowChinese(48,0,15,16,1);OLED_ShowChinese(64,0,16,16,1);OLED_ShowChar(80,0,':',16,1);OLED_ShowChinese(96,0,11,16,1);OLED_ShowChinese(112,0,12,16,1);
OLED_ShowChinese(0,16,3,16,1);OLED_ShowChinese(16,16,4,16,1);OLED_ShowChinese(32,16,15,16,1);OLED_ShowChinese(48,16,16,16,1);OLED_ShowChar(80,16,':',16,1);OLED_ShowChinese(96,16,11,16,1);OLED_ShowChinese(112,16,12,16,1);
OLED_ShowChinese(0,32,5,16,1);OLED_ShowChinese(16,32,6,16,1);OLED_ShowChinese(32,32,15,16,1);OLED_ShowChinese(48,32,16,16,1);OLED_ShowChar(80,32,':',16,1);OLED_ShowChinese(96,32,11,16,1);OLED_ShowChinese(112,32,12,16,1);
OLED_ShowChinese(0,48,7,16,1);OLED_ShowChinese(16,48,8,16,1);OLED_ShowChinese(32,48,15,16,1);OLED_ShowChinese(48,48,16,16,1);OLED_ShowChar(80,48,':',16,1);OLED_ShowChinese(96,48,11,16,1);OLED_ShowChinese(112,48,12,16,1);
while(1){key_num =Chiclet_Keyboard_Scan(0);//按鍵掃描

if(key_num !=0)//有按鍵按下

{switch(key_num){case1://按鍵1:控制可回收垃圾桶打開(kāi)OLED_ShowChinese(96,0,9,16,1);OLED_ShowChinese(112,0,10,16,1);TIM_SetCompare1(TIM2,1920); //打開(kāi)

Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare1(TIM2,1830); //關(guān)閉OLED_ShowChinese(96,0,11,16,1);OLED_ShowChinese(112,0,12,16,1);break;
case2://按鍵2:控制廚余垃圾桶打開(kāi)

OLED_ShowChinese(96,16,9,16,1);OLED_ShowChinese(112,16,10,16,1);TIM_SetCompare2(TIM2,1920); //打開(kāi)

Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare2(TIM2,1830); //關(guān)閉

OLED_ShowChinese(96,16,11,16,1);OLED_ShowChinese(112,16,12,16,1);break;
case3://按鍵3:控制有害垃圾桶打開(kāi)OLED_ShowChinese(96,32,9,16,1);OLED_ShowChinese(112,32,10,16,1);TIM_SetCompare1(TIM1,1920); //打開(kāi)

Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare1(TIM1,1830); //關(guān)閉OLED_ShowChinese(96,32,11,16,1);OLED_ShowChinese(112,32,12,16,1);break;
case4://按鍵4:控制其他垃圾桶打開(kāi)

OLED_ShowChinese(96,48,9,16,1);OLED_ShowChinese(112,48,10,16,1);TIM_SetCompare4(TIM1,1920); //打開(kāi)Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare4(TIM1,1830); //關(guān)閉

OLED_ShowChinese(96,48,11,16,1);OLED_ShowChinese(112,48,12,16,1);break;
default:break;}}if(USART2_WaitRecive() ==0)//如果收到數(shù)據(jù){if(usart2_buf[0] ==0x01)//收到語(yǔ)音指令是“廢紙|塑料瓶|可回收垃圾”,控制可回收垃圾桶打開(kāi)

{OLED_ShowChinese(96,0,9,16,1);OLED_ShowChinese(112,0,10,16,1);TIM_SetCompare1(TIM2,1920); //打開(kāi)

Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare1(TIM2,1830); //關(guān)閉USART2_Clear();//清空緩存

OLED_ShowChinese(96,0,11,16,1);OLED_ShowChinese(112,0,12,16,1);}elseif(usart2_buf[0] ==0x02)//收到語(yǔ)音指令是“剩飯|骨頭|廚余垃圾”,控制廚余垃圾桶打開(kāi)

{OLED_ShowChinese(96,16,9,16,1);OLED_ShowChinese(112,16,10,16,1);TIM_SetCompare2(TIM2,1930); //打開(kāi)

Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare2(TIM2,1820); //關(guān)閉USART2_Clear();//清空緩存

OLED_ShowChinese(96,16,11,16,1);OLED_ShowChinese(112,16,12,16,1);}elseif(usart2_buf[0] ==0x03)//收到語(yǔ)音指令是“燈泡|有害垃圾”,控制有害收垃圾桶打開(kāi)

{OLED_ShowChinese(96,32,9,16,1);OLED_ShowChinese(112,32,10,16,1);TIM_SetCompare1(TIM1,1920); //打開(kāi)Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare1(TIM1,1830); //關(guān)閉USART2_Clear();//清空緩存OLED_ShowChinese(96,32,11,16,1);OLED_ShowChinese(112,32,12,16,1);}elseif(usart2_buf[0] ==0x04)//收到語(yǔ)音指令是“木頭|其他垃圾”,控制其他垃圾桶打開(kāi)

{OLED_ShowChinese(96,48,9,16,1);OLED_ShowChinese(112,48,10,16,1);TIM_SetCompare4(TIM1,1920); //打開(kāi)Delay_ms(1000);//延時(shí)2sDelay_ms(1000);TIM_SetCompare4(TIM1,1830); //關(guān)閉USART2_Clear();//清空緩存OLED_ShowChinese(96,48,11,16,1);OLED_ShowChinese(112,48,12,16,1);}}if(IR_1 ==0)//可回收垃圾桶裝滿(mǎn),紅燈亮,并通過(guò)藍(lán)牙發(fā)送"可回收垃圾桶已滿(mǎn)"{Delay_ms(100);if(IR_1 ==0){LED1_G =0;LED1_R =1;if(flag_waste_1){UsartPrintf(USART1,"可回收垃圾桶已滿(mǎn)\r\n");flag_waste_1 =0;}}}else//未裝滿(mǎn),綠燈亮{LED1_G =1;LED1_R =0;flag_waste_1 =1;}
if(IR_2 ==0)//廚余垃圾桶裝滿(mǎn),紅燈亮,并通過(guò)藍(lán)牙發(fā)送"廚余垃圾桶已滿(mǎn)"{Delay_ms(100);if(IR_2 ==0){LED2_G =0;LED2_R =1;if(flag_waste_2){UsartPrintf(USART1,"廚余垃圾桶已滿(mǎn)\r\n");flag_waste_2 =0;}}}else//未裝滿(mǎn),綠燈亮

{LED2_G =1;LED2_R =0;flag_waste_2 =1;}
if(IR_3 ==0)//有害垃圾桶裝滿(mǎn),紅燈亮,并通過(guò)藍(lán)牙發(fā)送"有害垃圾桶已滿(mǎn)"{Delay_ms(100);if(IR_3 ==0){LED3_G =0;LED3_R =1;if(flag_waste_3){UsartPrintf(USART1,"有害垃圾桶已滿(mǎn)\r\n");flag_waste_3 =0;}}}else//未裝滿(mǎn),綠燈亮

{LED3_G =1;LED3_R =0;flag_waste_3 =1;}
if(IR_4 ==0)//其他垃圾桶裝滿(mǎn),紅燈亮,并通過(guò)藍(lán)牙發(fā)送"其他垃圾桶已滿(mǎn)"{Delay_ms(100);if(IR_4 ==0){LED4_G =0;LED4_R =1;if(flag_waste_4){UsartPrintf(USART1,"其他垃圾桶已滿(mǎn)\r\n");flag_waste_4 =0;}}}else//未裝滿(mǎn),綠燈亮

{LED4_G =1;LED4_R =0;flag_waste_4 =1;}

}}


05

實(shí)驗(yàn)效果

9aeb63dc-0141-11f0-9434-92fbcf53809c.png9b1200be-0141-11f0-9434-92fbcf53809c.jpg


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

    關(guān)注

    2290

    文章

    11018

    瀏覽量

    362944
  • 智能語(yǔ)音
    +關(guān)注

    關(guān)注

    11

    文章

    798

    瀏覽量

    49414
收藏 人收藏

    評(píng)論

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

    基于CW32的智能語(yǔ)音分類(lèi)垃圾桶

    基于武漢芯源半導(dǎo)體CW32F030C8T6和啟英泰倫CI-C22GS02制作的智能語(yǔ)音分類(lèi)垃圾桶,能夠?qū)崿F(xiàn)識(shí)別語(yǔ)音來(lái)判斷垃圾種類(lèi),同時(shí)打開(kāi)相
    的頭像 發(fā)表于 08-01 15:39 ?1685次閱讀
    基于CW32的<b class='flag-5'>智能</b><b class='flag-5'>語(yǔ)音分類(lèi)</b><b class='flag-5'>垃圾桶</b>

    【 平頭哥CB5654語(yǔ)音開(kāi)發(fā)板試用連載】智能垃圾桶

    項(xiàng)目名稱(chēng):智能垃圾桶試用計(jì)劃:根據(jù)語(yǔ)音識(shí)別開(kāi)啟不同存儲(chǔ)空間,達(dá)到智能垃圾
    發(fā)表于 03-13 16:23

    【樂(lè)鑫ESP32-DevKitC-32D模組開(kāi)發(fā)板試用連載】智能語(yǔ)音垃圾桶

    項(xiàng)目名稱(chēng):智能語(yǔ)音垃圾桶試用計(jì)劃:1:本人用此模塊實(shí)現(xiàn)小區(qū)內(nèi)垃圾桶語(yǔ)音提示
    發(fā)表于 07-03 10:14

    【大聯(lián)大品佳 Nuvoton ISD9160語(yǔ)音識(shí)別試用申請(qǐng)】語(yǔ)音控制的智能垃圾分類(lèi)垃圾桶

    項(xiàng)目名稱(chēng):語(yǔ)音控制的智能垃圾分類(lèi)垃圾桶試用計(jì)劃:項(xiàng)目
    發(fā)表于 08-10 17:49

    人工智能分類(lèi)垃圾桶原理

    人工智能分類(lèi)垃圾桶原理,Hello,大家好,作者終于考完研了,現(xiàn)在開(kāi)始更新自己以前的科研項(xiàng)目來(lái)供大家一起學(xué)習(xí)參考,開(kāi)源共享,,歡迎加油一起學(xué)習(xí),一起開(kāi)源中國(guó)。今天共享的開(kāi)源
    發(fā)表于 07-21 07:48

    基于stm32智能垃圾桶設(shè)計(jì)

    一、硬件材料清單:1、STM32核心板2、OLED顯示屏3、語(yǔ)音識(shí)別模塊4、舵機(jī)二、實(shí)現(xiàn)的功能1:語(yǔ)音識(shí)別2:垃圾分類(lèi)3:例如說(shuō)出“干
    發(fā)表于 08-11 09:07

    怎樣去設(shè)計(jì)一種基于STM32智能語(yǔ)音識(shí)別垃圾桶

    ASR-08B模塊有哪些優(yōu)點(diǎn)?怎樣去設(shè)計(jì)一種基于STM32智能語(yǔ)音識(shí)別垃圾桶
    發(fā)表于 10-11 07:59

    基于51單片機(jī)的一個(gè)語(yǔ)音識(shí)別分類(lèi)智能垃圾桶設(shè)計(jì)

    編寫(xiě)語(yǔ)音模塊(部分代碼)語(yǔ)音模塊串口調(diào)試結(jié)果51單片機(jī)代碼(部分代碼)項(xiàng)目展示基本介紹這個(gè)一個(gè)基于51單片機(jī)做的一個(gè)語(yǔ)音識(shí)別分類(lèi)
    發(fā)表于 11-18 07:19

    求大佬分享STM32實(shí)現(xiàn)的語(yǔ)音識(shí)別智能垃圾桶的代碼

    求大佬分享STM32實(shí)現(xiàn)的語(yǔ)音識(shí)別智能垃圾桶的代碼
    發(fā)表于 12-13 06:23

    基于小凌派RK2206的智能垃圾桶設(shè)計(jì)

    模塊用于與用戶(hù)交互。舵機(jī)模塊用于打開(kāi)垃圾桶。2.4項(xiàng)目展示智能垃圾桶模型正面實(shí)物智能垃圾桶模型背
    發(fā)表于 02-13 17:34

    智能語(yǔ)音識(shí)別分類(lèi)垃圾桶的設(shè)計(jì)資料合集

    本文檔的主要內(nèi)容詳細(xì)介紹的是智能語(yǔ)音識(shí)別分類(lèi)垃圾桶的設(shè)計(jì)資料合集 使用LD3320語(yǔ)音識(shí)別模塊進(jìn)行語(yǔ)音
    發(fā)表于 12-21 08:00 ?35次下載
    <b class='flag-5'>智能</b><b class='flag-5'>語(yǔ)音</b>識(shí)別<b class='flag-5'>分類(lèi)</b><b class='flag-5'>垃圾桶</b>的設(shè)計(jì)資料合集

    『開(kāi)源項(xiàng)目』基于STM32智能垃圾桶之舵機(jī)控制(HAL庫(kù))

    大家好,我是『芯知識(shí)學(xué)堂』的SingleYork,前面給大家簡(jiǎn)單介紹了<基于STM32智能垃圾桶之成員簡(jiǎn)介>、<基于STM32
    發(fā)表于 11-25 20:36 ?29次下載
    『開(kāi)源<b class='flag-5'>項(xiàng)目</b>』基于<b class='flag-5'>STM32</b>的<b class='flag-5'>智能</b><b class='flag-5'>垃圾桶</b>之舵機(jī)控制(HAL庫(kù))

    『開(kāi)源項(xiàng)目』基于STM32智能垃圾桶語(yǔ)音播報(bào)

    大家好,我是『芯知識(shí)學(xué)堂』的SingleYork,前面給大家簡(jiǎn)單介紹了<基于STM32智能垃圾桶之成員簡(jiǎn)介>和<基于STM32
    發(fā)表于 12-02 13:51 ?34次下載
    『開(kāi)源<b class='flag-5'>項(xiàng)目</b>』基于<b class='flag-5'>STM32</b>的<b class='flag-5'>智能</b><b class='flag-5'>垃圾桶</b>之<b class='flag-5'>語(yǔ)音</b>播報(bào)

    『開(kāi)源項(xiàng)目』基于STM32智能垃圾桶之綜合代碼(HAL庫(kù))

    ;基于STM32智能垃圾桶語(yǔ)音播報(bào)>和
    發(fā)表于 12-16 16:53 ?34次下載
    『開(kāi)源<b class='flag-5'>項(xiàng)目</b>』基于<b class='flag-5'>STM32</b>的<b class='flag-5'>智能</b><b class='flag-5'>垃圾桶</b>之綜合代碼(HAL庫(kù))

    基于CW32的智能語(yǔ)音分類(lèi)垃圾桶設(shè)計(jì)

    基于CW32的智能語(yǔ)音分類(lèi)垃圾桶設(shè)計(jì)
    的頭像 發(fā)表于 11-06 16:51 ?1743次閱讀
    基于CW32的<b class='flag-5'>智能</b><b class='flag-5'>語(yǔ)音分類(lèi)</b><b class='flag-5'>垃圾桶</b>設(shè)計(jì)
    主站蜘蛛池模板: 男女交性视频免费播放视频 | 精品国产免费久久久久久婷婷 | fenfencao在线观看免费视频 | 免费网站看黄 | 韩国三级理论在线观看视频 | 大学生一级特黄的免费大片视频 | 日韩精品一区二区三区毛片 | 九九热免费在线观看 | 一级特黄色片 | 天天干影视 | 日本在线不卡一区 | 高清色本在线www | 开心色99xxxx开心色 | 国产三级日本三级日产三级66 | 国产亚洲精品美女2020久久 | 久操视频网 | 久青草免费在线视频 | 国产精品久久久久久久久久妇女 | 亚洲四虎影院 | 日韩一级精品视频在线观看 | 久久福利国产 | 啪啪免费视频 | 狠狠五月深爱婷婷网 | 免费国产午夜高清在线视频 | 五月天婷五月天综合网在线 | 免费视频爰爱太爽了 | 天天做天天添婷婷我也去 | 免费观看成人毛片 | 日本成本人三级在线观看2018 | 宅男666在线永久免费观看 | 一级毛片一级毛片 | 国语一区 | 在线观看视频色 | 亚洲黄色网址在线观看 | 天天色天天操综合网 | 欧美成人aaaa免费高清 | 欧美午夜视频在线 | 年轻人影院www你懂的 | 免费看黄在线 | 美女无遮挡拍拍拍免费视频 | 亚洲最大色网 |