色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

STM32項目分享:STM32智能語音分類垃圾桶

機智云 ? 2025-03-15 10:02 ? 次閱讀

項目成品圖片:


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


01

項目簡介


1.功能詳解


STM32智能語音分類垃圾桶

功能如下:


1. STM32F103C8T6單片機系統板作為主控單元

2. 舵機驅動垃圾桶蓋打開與關閉

3. 按鍵控制四個分類垃圾桶的開關

4. 語音識別控制分類垃圾桶開關

5. 光電紅外傳感器監測垃圾是否已滿,并指示燈提示

6. OLED顯示屏顯示分類垃圾桶開關狀態

7. 手機藍牙APP接收分類垃圾桶已滿消息



2.材料清單

STM32F103C8T6單片機

OLED 屏幕

光電紅外傳感器

SNR8016語音識別模塊

BT04A藍牙模塊

舵機



02


原理圖設計


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


03


PCB硬件設計


PCB圖

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


04

程序設計


#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;//按鍵掃描標志位uint32_ttime_num =0;//10ms計時uint8_tflag_waste_1 =0;//可回收垃圾桶標志位uint8_tflag_waste_2 =0;//廚余垃圾桶標志位

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

voidMonitor_function(void);//監測函數voidManage_function(void);//處理函數

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

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:控制可回收垃圾桶打開OLED_ShowChinese(96,0,9,16,1);OLED_ShowChinese(112,0,10,16,1);TIM_SetCompare1(TIM2,1920); //打開

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

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

Delay_ms(1000);//延時2sDelay_ms(1000);TIM_SetCompare2(TIM2,1830); //關閉

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

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

OLED_ShowChinese(96,48,9,16,1);OLED_ShowChinese(112,48,10,16,1);TIM_SetCompare4(TIM1,1920); //打開Delay_ms(1000);//延時2sDelay_ms(1000);TIM_SetCompare4(TIM1,1830); //關閉

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

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

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

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

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

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

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

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

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

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

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

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

}}


05

實驗效果

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


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

    關注

    2281

    文章

    10971

    瀏覽量

    360408
  • 智能語音
    +關注

    關注

    10

    文章

    793

    瀏覽量

    49229
收藏 0人收藏

    評論

    相關推薦

    基于CW32的智能語音分類垃圾桶

    基于武漢芯源半導體CW32F030C8T6和啟英泰倫CI-C22GS02制作的智能語音分類垃圾桶,能夠實現識別語音來判斷垃圾種類,同時打開相
    的頭像 發表于 08-01 15:39 ?1519次閱讀
    基于CW32的<b class='flag-5'>智能</b><b class='flag-5'>語音分類</b><b class='flag-5'>垃圾桶</b>

    【 平頭哥CB5654語音開發板試用連載】智能垃圾桶

    項目名稱:智能垃圾桶試用計劃:根據語音識別開啟不同存儲空間,達到智能垃圾
    發表于 03-13 16:23

    【樂鑫ESP32-DevKitC-32D模組開發板試用連載】智能語音垃圾桶

    項目名稱:智能語音垃圾桶試用計劃:1:本人用此模塊實現小區內垃圾桶語音提示
    發表于 07-03 10:14

    【大聯大品佳 Nuvoton ISD9160語音識別試用申請】語音控制的智能垃圾分類垃圾桶

    項目名稱:語音控制的智能垃圾分類垃圾桶試用計劃:項目
    發表于 08-10 17:49

    人工智能分類垃圾桶原理

    人工智能分類垃圾桶原理,Hello,大家好,作者終于考完研了,現在開始更新自己以前的科研項目來供大家一起學習參考,開源共享,,歡迎加油一起學習,一起開源中國。今天共享的開源
    發表于 07-21 07:48

    基于stm32智能垃圾桶設計

    一、硬件材料清單:1、STM32核心板2、OLED顯示屏3、語音識別模塊4、舵機二、實現的功能1:語音識別2:垃圾分類3:例如說出“干
    發表于 08-11 09:07

    怎樣去設計一種基于STM32智能語音識別垃圾桶

    ASR-08B模塊有哪些優點?怎樣去設計一種基于STM32智能語音識別垃圾桶
    發表于 10-11 07:59

    基于51單片機的一個語音識別分類智能垃圾桶設計

    編寫語音模塊(部分代碼)語音模塊串口調試結果51單片機代碼(部分代碼)項目展示基本介紹這個一個基于51單片機做的一個語音識別分類
    發表于 11-18 07:19

    求大佬分享STM32實現的語音識別智能垃圾桶的代碼

    求大佬分享STM32實現的語音識別智能垃圾桶的代碼
    發表于 12-13 06:23

    基于小凌派RK2206的智能垃圾桶設計

    模塊用于與用戶交互。舵機模塊用于打開垃圾桶。2.4項目展示智能垃圾桶模型正面實物智能垃圾桶模型背
    發表于 02-13 17:34

    智能語音識別分類垃圾桶的設計資料合集

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

    『開源項目』基于STM32智能垃圾桶之舵機控制(HAL庫)

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

    『開源項目』基于STM32智能垃圾桶語音播報

    大家好,我是『芯知識學堂』的SingleYork,前面給大家簡單介紹了<基于STM32智能垃圾桶之成員簡介>和<基于STM32
    發表于 12-02 13:51 ?34次下載
    『開源<b class='flag-5'>項目</b>』基于<b class='flag-5'>STM32</b>的<b class='flag-5'>智能</b><b class='flag-5'>垃圾桶</b>之<b class='flag-5'>語音</b>播報

    『開源項目』基于STM32智能垃圾桶之綜合代碼(HAL庫)

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

    基于CW32的智能語音分類垃圾桶設計

    基于CW32的智能語音分類垃圾桶設計
    的頭像 發表于 11-06 16:51 ?1511次閱讀
    基于CW32的<b class='flag-5'>智能</b><b class='flag-5'>語音分類</b><b class='flag-5'>垃圾桶</b>設計
    主站蜘蛛池模板: 午夜福利不卡片在线播放免费 | 国产在线成人一区二区三区 | 狠狠色综合7777久夜色撩人 | 国产精品自产拍在线观看中文 | 久久88综合 | 久久永久视频 | 一个人的视频在线观看免费观看 | 国产69精品久久久久APP下载 | 18未满不能进的福利社 | 国产午夜久久影院 | 好爽好深太大了再快一点 | 精品区2区3区4区产品乱码9 | 午夜影视不用充钱的免费 | 久久国产精品人妻中文 | 免费人成在线观看网站视频 | 伊人狠狠丁香婷婷综合尤物 | 亚洲黄色成人 | 午夜视频在线网站 | 久久天堂成人影院 | 甜宠溺H宝贝嗯撞PLAY啊 | 亚洲青青草原 | 亚洲高清中文字幕 | 日产精品久久久久久久蜜殿 | 久久青青无码AV亚洲黑人 | 99久久精品国产免费 | 国产午夜三区视频在线 | 女同给老师下媚药 | 国产午夜一区二区三区免费视频 | 人人爽天天碰狠狠添 | 天天久久狠狠色综合 | 国产欧美精品国产国产专区 | 最近韩国日本免费观看mv免费版 | 国产高清美女一级毛片久久 | 双性大乳浪受噗呲噗呲h总 双性被疯狂灌满精NP | 一扒二脱三插片在线观看 | 欧美人成在线观看ccc36 | 人人干人人插 | 99精品99 | 超碰免费视频公开97 | 办公室沙发口爆12P 办公室日本肉丝OL在线 | 久久视频这里只精品6国产 久久视频在线视频观品15 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品