一、項目介紹
1、語音識別功能
????該功能主要是通過ASRpro語音識別模塊來實現(xiàn),結(jié)合舵機部分,通過天問block編程,以達到用戶輸入語音指令,通過正確識別后控制舵機打開相應(yīng)垃圾桶蓋子,以實現(xiàn)垃圾分類(可回收垃圾、其他垃圾、廚余垃圾、有害垃圾)。
2、滿溢警示功能
該功能是利用Arduino Uno開發(fā)板結(jié)合紅外對管和LED燈等器件實現(xiàn),紅外模塊時刻發(fā)送紅外信號,當(dāng)檢測到的反射的信號值高于紅外閾值,判定垃圾桶已經(jīng)盈滿,紅外模塊向Arduino輸出低電平信號,Arduino控制相應(yīng)的LED燈亮起,實現(xiàn)垃圾桶滿載提醒功能。
3、短信提醒功能
該功能是通過SIM900A模塊發(fā)送短信實現(xiàn),通過紅外模塊識別垃圾桶盈滿情況,當(dāng)垃圾桶盈滿時,紅外模塊向Arduino返回低電平信號,經(jīng)過單片機識別,向SIM900A模塊發(fā)送指令,令其將相應(yīng)短信發(fā)送給管理人員,以達到提醒目的。
二、硬件準(zhǔn)備
序號 |
器、耗材名稱 |
規(guī)格型號 |
數(shù)量 |
鏈接 |
1 |
ASRPRO語音識別開發(fā)板 |
CZ0001 |
1 |
https://m.tb.cn/h.56j1hZM?tk=0MuEW0oS87q |
2 |
迷你分類垃圾桶 |
13cm*9cm |
1 |
https://m.tb.cn/h.UrCU9S7?tk=iTu7d9VqZPF |
3 |
舵機 |
SG90 |
4 |
https://m.tb.cn/h.UIvmdom?tk=quCqd9VpVHD |
4 |
ArduinoUNO單片機 |
1 |
https://m.tb.cn/h.5gAgjWo?tk=YaSgW0oidft |
|
5 |
短信發(fā)送模塊 |
SIM900A模塊 |
1 |
https://m.tb.cn/h.UrC47rq?tk=vqred9VKJpl |
6 |
紅外避障模塊 ? |
4 |
https://m.tb.cn/h.5gAgjWo?tk=YaSgW0oidft |
|
7 |
LED燈 |
4 |
三、線路連接
1、ASRPRO控制舵機
2、Arduino控制紅外
3、 Arduino控制短信發(fā)送模塊
注意:具體接口以代碼為準(zhǔn)
四、代碼
1、燒寫軟件為天問BLOCK,請聯(lián)系淘寶客服下載使用。錄入ASRpro語音開發(fā)板的代碼,用于識別語音指令并控制舵機。代碼中包含以下幾個部分:初始化ASRpro語音識別開發(fā)板;設(shè)置語音識別庫;識別語音指令;控制舵機打開或關(guān)閉垃圾桶蓋子。
ASRpro語音開發(fā)板的代碼:
#include "asr.h"
extern "C"{ void * __dso_handle = 0 ;}
#include "setup.h"
#include "myLib/asr_servo.h"
uint32_t snid;
Servo servo_2;
Servo servo_3;
Servo servo_5;
Servo servo_6;
void ASR_CODE();
//{ID:250,keyword:"命令詞",ASR:"最大音量",ASRTO:"音量調(diào)整到最大"}
//{ID:251,keyword:"命令詞",ASR:"中等音量",ASRTO:"音量調(diào)整到中等"}
//{ID:252,keyword:"命令詞",ASR:"最小音量",ASRTO:"音量調(diào)整到最小"}
/*描述該功能...
*/
void ASR_CODE(){
? if(((snid) > 1) && ((snid) <= 37)){
? ? servo_2.write(180);
? }
? if(((snid) > 37) && ((snid) <= 69)){
? ? servo_3.write(90);
? }
? if(((snid) > 69) && ((snid) <= 106)){
? ? servo_5.write(180);
? }
? if(((snid) > 106) && ((snid) <= 138)){
? ? servo_6.write(90);
? }
? if((snid) == 139){
? ? servo_2.write(90);
? ? servo_3.write(0);
? ? servo_5.write(90);
? ? servo_6.write(0);
? }
}
void setup()
{
? //{speak:程程-標(biāo)準(zhǔn)男童,vol:18,speed:10,platform:haohaodada}
? //{playid:10001,voice:歡迎使用智能垃圾桶,請用小群喚醒我。}
? //{playid:10002,voice:我退下了,用小群喚醒我}
? //{ID:1,keyword:"喚醒詞",ASR:"小群",ASRTO:"我在"}
? //{ID:2,keyword:"命令詞",ASR:"塑料瓶",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:3,keyword:"命令詞",ASR:"玩偶",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:4,keyword:"命令詞",ASR:"鐵鍋",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:5,keyword:"命令詞",ASR:"衣服",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:6,keyword:"命令詞",ASR:"家電",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:7,keyword:"命令詞",ASR:"報紙",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:8,keyword:"命令詞",ASR:"紙箱",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:9,keyword:"命令詞",ASR:"梳子",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:10,keyword:"命令詞",ASR:"塑料籃",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:11,keyword:"命令詞",ASR:"鎖",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:12,keyword:"命令詞",ASR:"鞋子",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:13,keyword:"命令詞",ASR:"牙膏皮",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:14,keyword:"命令詞",ASR:"牙刷",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:15,keyword:"命令詞",ASR:"雨傘",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:16,keyword:"命令詞",ASR:"紙盒",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:17,keyword:"命令詞",ASR:"紙袋",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:18,keyword:"命令詞",ASR:"夾子",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:19,keyword:"命令詞",ASR:"勺子",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:20,keyword:"命令詞",ASR:"鏡子",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:21,keyword:"命令詞",ASR:"書包",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:22,keyword:"命令詞",ASR:"手提包",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:23,keyword:"命令詞",ASR:"牛奶盒",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:24,keyword:"命令詞",ASR:"書",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:25,keyword:"命令詞",ASR:"垃圾桶",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:26,keyword:"命令詞",ASR:"帽子",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:27,keyword:"命令詞",ASR:"玩具",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:28,keyword:"命令詞",ASR:"罐頭",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:29,keyword:"命令詞",ASR:"期刊",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:30,keyword:"命令詞",ASR:"油桶",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:31,keyword:"命令詞",ASR:"酒瓶",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:32,keyword:"命令詞",ASR:"廣告單",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:33,keyword:"命令詞",ASR:"塑料瓶",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:34,keyword:"命令詞",ASR:"玻璃",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:35,keyword:"命令詞",ASR:"易拉罐",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:36,keyword:"命令詞",ASR:"數(shù)碼產(chǎn)品",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:37,keyword:"命令詞",ASR:"塑料玩具",ASRTO:"可回收,馬上打開垃圾桶"}
? //{ID:38,keyword:"命令詞",ASR:"藥片",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:39,keyword:"命令詞",ASR:"藥品",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:40,keyword:"命令詞",ASR:"膠囊",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:41,keyword:"命令詞",ASR:"油漆",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:42,keyword:"命令詞",ASR:"油漆桶",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:43,keyword:"命令詞",ASR:"醫(yī)用棉簽",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:44,keyword:"命令詞",ASR:"紗布",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:45,keyword:"命令詞",ASR:"注射器",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:46,keyword:"命令詞",ASR:"調(diào)色板",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:47,keyword:"命令詞",ASR:"農(nóng)藥瓶",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:48,keyword:"命令詞",ASR:"相紙",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:49,keyword:"命令詞",ASR:"溶劑",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:50,keyword:"命令詞",ASR:"殺蟲劑",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:51,keyword:"命令詞",ASR:"消毒",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:52,keyword:"命令詞",ASR:"節(jié)能燈",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:53,keyword:"命令詞",ASR:"蚊香片",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:54,keyword:"命令詞",ASR:"創(chuàng)可貼",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:55,keyword:"命令詞",ASR:"水銀溫度計",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:56,keyword:"命令詞",ASR:"血壓計",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:57,keyword:"命令詞",ASR:"香水瓶",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:58,keyword:"命令詞",ASR:"熒光",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:59,keyword:"命令詞",ASR:"電池",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:60,keyword:"命令詞",ASR:"發(fā)膠",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:61,keyword:"命令詞",ASR:"醫(yī)用手套",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:62,keyword:"命令詞",ASR:"水彩筆",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:63,keyword:"命令詞",ASR:"化妝品",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:64,keyword:"命令詞",ASR:"藥品包裝物",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:65,keyword:"命令詞",ASR:"溶劑包裝物",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:66,keyword:"命令詞",ASR:"消毒劑包裝物",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:67,keyword:"命令詞",ASR:"口服液瓶",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:68,keyword:"命令詞",ASR:"煤氣罐",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:69,keyword:"命令詞",ASR:"酒精",ASRTO:"有害,馬上打開垃圾桶"}
? //{ID:70,keyword:"命令詞",ASR:"豆",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:71,keyword:"命令詞",ASR:"魚",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:72,keyword:"命令詞",ASR:"草莓",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:73,keyword:"命令詞",ASR:"蔥",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:74,keyword:"命令詞",ASR:"蘑菇",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:75,keyword:"命令詞",ASR:"巧克力",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:76,keyword:"命令詞",ASR:"土豆",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:77,keyword:"命令詞",ASR:"番茄醬",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:78,keyword:"命令詞",ASR:"骨頭",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:79,keyword:"命令詞",ASR:"梨",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:80,keyword:"命令詞",ASR:"茄子",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:81,keyword:"命令詞",ASR:"甘蔗",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:82,keyword:"命令詞",ASR:"豌豆",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:83,keyword:"命令詞",ASR:"西瓜",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:84,keyword:"命令詞",ASR:"西紅柿",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:85,keyword:"命令詞",ASR:"玉米",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:86,keyword:"命令詞",ASR:"橙皮",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:87,keyword:"命令詞",ASR:"辣椒",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:88,keyword:"命令詞",ASR:"蟹殼",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:89,keyword:"命令詞",ASR:"水果",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:90,keyword:"命令詞",ASR:"蝦",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:91,keyword:"命令詞",ASR:"香蕉",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:92,keyword:"命令詞",ASR:"洋蔥",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:93,keyword:"命令詞",ASR:"茶渣",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:94,keyword:"命令詞",ASR:"菜葉",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:95,keyword:"命令詞",ASR:"剩飯",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:96,keyword:"命令詞",ASR:"剩菜",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:97,keyword:"命令詞",ASR:"面包",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:98,keyword:"命令詞",ASR:"雞肉",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:99,keyword:"命令詞",ASR:"蔬菜",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:100,keyword:"命令詞",ASR:"蛋糕",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:101,keyword:"命令詞",ASR:"餅干",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:102,keyword:"命令詞",ASR:"蘋果核",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:103,keyword:"命令詞",ASR:"蛋殼",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:104,keyword:"命令詞",ASR:"動物內(nèi)臟",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:105,keyword:"命令詞",ASR:"中藥藥渣",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:106,keyword:"命令詞",ASR:"寵物飼料",ASRTO:"廚余,馬上打開垃圾桶"}
? //{ID:107,keyword:"命令詞",ASR:"陶瓷",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:108,keyword:"命令詞",ASR:"煙蒂",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:109,keyword:"命令詞",ASR:"貝殼",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:110,keyword:"命令詞",ASR:"砧板",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:111,keyword:"命令詞",ASR:"海綿",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:112,keyword:"命令詞",ASR:"花盆",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:113,keyword:"命令詞",ASR:"花瓶",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:114,keyword:"命令詞",ASR:"寵物糞便",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:115,keyword:"命令詞",ASR:"籃球",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:116,keyword:"命令詞",ASR:"馬桶",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:117,keyword:"命令詞",ASR:"尿片",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:118,keyword:"命令詞",ASR:"壇子",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:119,keyword:"命令詞",ASR:"掃把",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:120,keyword:"命令詞",ASR:"桃核",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:121,keyword:"命令詞",ASR:"瓦片",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:122,keyword:"命令詞",ASR:"衛(wèi)生紙",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:123,keyword:"命令詞",ASR:"化妝刷",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:124,keyword:"命令詞",ASR:"煙蒂",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:125,keyword:"命令詞",ASR:"煙頭",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:126,keyword:"命令詞",ASR:"一次性",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:127,keyword:"命令詞",ASR:"浴缸",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:128,keyword:"命令詞",ASR:"餐巾紙",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:129,keyword:"命令詞",ASR:"磚塊",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:130,keyword:"命令詞",ASR:"尿不濕",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:131,keyword:"命令詞",ASR:"抹布",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:132,keyword:"命令詞",ASR:"濕巾紙",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:133,keyword:"命令詞",ASR:"塑料袋",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:134,keyword:"命令詞",ASR:"食品包裝",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:135,keyword:"命令詞",ASR:"渣土",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:136,keyword:"命令詞",ASR:"保鮮膜",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:137,keyword:"命令詞",ASR:"頭發(fā)",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:138,keyword:"命令詞",ASR:"紙尿褲",ASRTO:"其他,馬上打開垃圾桶"}
? //{ID:139,keyword:"命令詞",ASR:"關(guān)閉",ASRTO:"好的,馬上關(guān)閉垃圾桶"}
? servo_2.attach(2);
? servo_3.attach(3);
? servo_5.attach(5);
? servo_6.attach(6);
}
另外有一個帖子寫的就是這個程序,還有教程。其中包含天問block的下載和所需程序的下載地址。
參考鏈接:
分享案例~ASRPRO語音控制垃圾桶 - 擴展庫 - 好好搭搭論壇 - 好好搭搭在線文章來源:http://www.zghlxwxcb.cn/news/detail-752424.html
2、錄入Arduino開發(fā)板的代碼,用于控制LED燈和sim900a模塊。代碼中包含以下幾個部分:初始化紅外模塊和LED燈;讀取紅外模塊的輸出信號;根據(jù)紅外模塊的輸出信號控制LED燈的亮滅;初始化sim900a模塊;檢測sim900a準(zhǔn)備情況;根據(jù)紅外模塊輸出信號控制短信發(fā)送。以下是Arduino開發(fā)板的代碼:
#include <SoftwareSerial.h>
// 紅外對管引腳定義
int irPin1 = 2;
int irPin2 = 3;
int irPin3 = 4;
int irPin4 = 5;
int ledPin1 = 6;
int ledPin2 = 7;
int ledPin3 = 8;
int ledPin4 = 9;
// SIM900A 模塊串口通信引腳定義
SoftwareSerial sim900a(10, 11);
void setup()
{
? // 初始化串口
? Serial.begin(9600);
? sim900a.begin(9600);
? // 設(shè)置紅外對管引腳為輸入模式
? pinMode(irPin1, INPUT);
? pinMode(irPin2, INPUT);
? pinMode(irPin3, INPUT);
? pinMode(irPin4, INPUT);
? pinMode(ledPin1, OUTPUT);
? pinMode(ledPin2, OUTPUT);
? pinMode(ledPin3, OUTPUT);
? pinMode(ledPin4, OUTPUT);
? // 等待SIM900A模塊準(zhǔn)備就緒
? Serial.print("等待 SIM900A 模塊準(zhǔn)備就緒...");
? while(!sim900a.available())
? {
? ? sim900a.println("AT");
? ? delay(1000);
? ? Serial.print(".");
? }
? Serial.println(" SIM900A 模塊準(zhǔn)備就緒");
}
void loop() {
? // 讀取紅外對管狀態(tài)
? int irState1 = digitalRead(irPin1);
? int irState2 = digitalRead(irPin2);
? int irState3 = digitalRead(irPin3);
? int irState4 = digitalRead(irPin4);
? if (irState1 == LOW)
? ?{
? ? digitalWrite(ledPin1, HIGH);
? ? Serial.println("可回收垃圾箱已滿");
? ? // 發(fā)送短信
? ? sim900a.println("AT+CMGF=1");
? ? delay(1000);
? ? sim900a.println("AT+CMGS=\"15623288697\"");
? ? delay(1000);
? ? sim900a.println("Recyclable waste can is full!");
? ? delay(1000);
? ? sim900a.write(26);
? ? delay(1000);
? ? // 檢查短信是否發(fā)送成功
? ? String response = sim900a.readString();
? ? if (response.indexOf("+CMGS:") != -1)
? ? {
? ? ? Serial.println("短信發(fā)送成功");
? ? }
? ? else
? ? {
? ? ? Serial.println("短信發(fā)送失敗");
? ? }
? }
? else
? {
? ? digitalWrite(ledPin1, LOW);
? ? //Serial.println("可回收垃圾箱正常");
? }
? if (irState2== LOW)
? {
? ? digitalWrite(ledPin2, HIGH);
? ? Serial.println("有害垃圾箱已滿");
? ? // 發(fā)送短信
? ? sim900a.println("AT+CMGF=1");
? ? delay(1000);
? ? sim900a.println("AT+CMGS=\"15623288697\"");
? ? delay(1000);
? ? sim900a.println("Hazardous waste can is full!");
? ? delay(1000);
? ? sim900a.write(26);
? ? delay(1000);
? ? // 檢查短信是否發(fā)送成功
? ? String response = sim900a.readString();
? ? if (response.indexOf("+CMGS:") != -1)
? ? {
? ? ? Serial.println("短信發(fā)送成功");
? ? }
? ? else
? ? {
? ? ? Serial.println("短信發(fā)送失敗");
? ? }
? }
? else
? {
? ? digitalWrite(ledPin2, LOW);
? ? //Serial.println("有害垃圾箱正常");
? }
if (irState3== LOW)
? {
? ? digitalWrite(ledPin3, HIGH);
? ? Serial.println("其他垃圾箱已滿");
? ? // 發(fā)送短信
? ? sim900a.println("AT+CMGF=1");
? ? delay(1000);
? ? sim900a.println("AT+CMGS=\"15623288697\"");
? ? delay(1000);
? ? sim900a.println("Other waste can is full!");
? ? delay(1000);
? ? sim900a.write(26);
? ? delay(1000);
? ? // 檢查短信是否發(fā)送成功
? ? String response = sim900a.readString();
? ? if (response.indexOf("+CMGS:") != -1)
? ? {
? ? ? Serial.println("短信發(fā)送成功");
? ? }
? ? else
? ? {
? ? ? Serial.println("短信發(fā)送失敗");
? ? }
? }
? else
? {
? ? digitalWrite(ledPin3, LOW);
? ? //Serial.println("其他垃圾箱正常");
? }
? if (irState4== LOW)
? {
? ? digitalWrite(ledPin4, HIGH);
? ? Serial.println("廚余垃圾箱已滿");
? ? // 發(fā)送短信
? ? sim900a.println("AT+CMGF=1");
? ? delay(1000);
? ? sim900a.println("AT+CMGS=\"15623288697\"");
? ? delay(1000);
? ? sim900a.println("Kitchen waste can is full!");
? ? delay(1000);
? ? sim900a.write(26);
? ? delay(1000);
? ? // 檢查短信是否發(fā)送成功
? ? String response = sim900a.readString();
? ? if (response.indexOf("+CMGS:") != -1)
? ? {
? ? ? Serial.println("短信發(fā)送成功");
? ? }
? ? else
? ? {
? ? ? Serial.println("短信發(fā)送失敗");
? ? }
? }
? else
? {
? ? digitalWrite(ledPin4, LOW);
? ? //Serial.println("廚余垃圾箱正常");
? } ?
}
?
?
?文章來源地址http://www.zghlxwxcb.cn/news/detail-752424.html
?
到了這里,關(guān)于Arduino智能語音識別分類垃圾桶的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!