一、项目介绍
1、语音识别功能
该功能主要是通过ASRpro语音识别模块来实现,结合舵机部分,通过天问block编程,以达到用户输入语音指令,通过正确识别后控制舵机打开相应垃圾桶盖子,以实现垃圾分类(可回收垃圾、其他垃圾、厨余垃圾、有害垃圾)。
2、满溢警示功能
该功能是利用Arduino Uno开发板结合红外对管和LED灯等器件实现,红外模块时刻发送红外信号,当检测到的反射的信号值高于红外阈值,判定垃圾桶已经盈满,红外模块向Arduino输出低电平信号,Arduino控制相应的LED灯亮起,实现垃圾桶满载提醒功能。
3、短信提醒功能
该功能是通过SIM900A模块发送短信实现,通过红外模块识别垃圾桶盈满情况,当垃圾桶盈满时,红外模块向Arduino返回低电平信号,经过单片机识别,向SIM900A模块发送指令,令其将相应短信发送给管理人员,以达到提醒目的。
二、硬件准备
序号 |
器、耗材名称 |
规格型号 |
数量 |
链接 |
1 |
ASRPRO语音识别开发板 |
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 |
短信发送模块 |
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控制短信发送模块
注意:具体接口以代码为准
四、代码
1、烧写软件为天问BLOCK,请联系淘宝客服下载使用。录入ASRpro语音开发板的代码,用于识别语音指令并控制舵机。代码中包含以下几个部分:初始化ASRpro语音识别开发板;设置语音识别库;识别语音指令;控制舵机打开或关闭垃圾桶盖子。
ASRpro语音开发板的代码:
#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:"音量调整到最大"}
//{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
//{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
/*描述该功能...
*/
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:程程-标准男童,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:"数码产品",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:"医用棉签",ASRTO:"有害,马上打开垃圾桶"}
//{ID:44,keyword:"命令词",ASR:"纱布",ASRTO:"有害,马上打开垃圾桶"}
//{ID:45,keyword:"命令词",ASR:"注射器",ASRTO:"有害,马上打开垃圾桶"}
//{ID:46,keyword:"命令词",ASR:"调色板",ASRTO:"有害,马上打开垃圾桶"}
//{ID:47,keyword:"命令词",ASR:"农药瓶",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:"节能灯",ASRTO:"有害,马上打开垃圾桶"}
//{ID:53,keyword:"命令词",ASR:"蚊香片",ASRTO:"有害,马上打开垃圾桶"}
//{ID:54,keyword:"命令词",ASR:"创可贴",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:"发胶",ASRTO:"有害,马上打开垃圾桶"}
//{ID:61,keyword:"命令词",ASR:"医用手套",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:"动物内脏",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:"卫生纸",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:"头发",ASRTO:"其他,马上打开垃圾桶"}
//{ID:138,keyword:"命令词",ASR:"纸尿裤",ASRTO:"其他,马上打开垃圾桶"}
//{ID:139,keyword:"命令词",ASR:"关闭",ASRTO:"好的,马上关闭垃圾桶"}
servo_2.attach(2);
servo_3.attach(3);
servo_5.attach(5);
servo_6.attach(6);
}
另外有一个帖子写的就是这个程序,还有教程。其中包含天问block的下载和所需程序的下载地址。
参考链接:
分享案例~ASRPRO语音控制垃圾桶 - 扩展库 - 好好搭搭论坛 - 好好搭搭在线文章来源:https://www.toymoban.com/news/detail-752424.html
2、录入Arduino开发板的代码,用于控制LED灯和sim900a模块。代码中包含以下几个部分:初始化红外模块和LED灯;读取红外模块的输出信号;根据红外模块的输出信号控制LED灯的亮灭;初始化sim900a模块;检测sim900a准备情况;根据红外模块输出信号控制短信发送。以下是Arduino开发板的代码:
#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);
// 设置红外对管引脚为输入模式
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模块准备就绪
Serial.print("等待 SIM900A 模块准备就绪...");
while(!sim900a.available())
{
sim900a.println("AT");
delay(1000);
Serial.print(".");
}
Serial.println(" SIM900A 模块准备就绪");
}
void loop() {
// 读取红外对管状态
int irState1 = digitalRead(irPin1);
int irState2 = digitalRead(irPin2);
int irState3 = digitalRead(irPin3);
int irState4 = digitalRead(irPin4);
if (irState1 == LOW)
{
digitalWrite(ledPin1, HIGH);
Serial.println("可回收垃圾箱已满");
// 发送短信
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);
// 检查短信是否发送成功
String response = sim900a.readString();
if (response.indexOf("+CMGS:") != -1)
{
Serial.println("短信发送成功");
}
else
{
Serial.println("短信发送失败");
}
}
else
{
digitalWrite(ledPin1, LOW);
//Serial.println("可回收垃圾箱正常");
}
if (irState2== LOW)
{
digitalWrite(ledPin2, HIGH);
Serial.println("有害垃圾箱已满");
// 发送短信
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);
// 检查短信是否发送成功
String response = sim900a.readString();
if (response.indexOf("+CMGS:") != -1)
{
Serial.println("短信发送成功");
}
else
{
Serial.println("短信发送失败");
}
}
else
{
digitalWrite(ledPin2, LOW);
//Serial.println("有害垃圾箱正常");
}
if (irState3== LOW)
{
digitalWrite(ledPin3, HIGH);
Serial.println("其他垃圾箱已满");
// 发送短信
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);
// 检查短信是否发送成功
String response = sim900a.readString();
if (response.indexOf("+CMGS:") != -1)
{
Serial.println("短信发送成功");
}
else
{
Serial.println("短信发送失败");
}
}
else
{
digitalWrite(ledPin3, LOW);
//Serial.println("其他垃圾箱正常");
}
if (irState4== LOW)
{
digitalWrite(ledPin4, HIGH);
Serial.println("厨余垃圾箱已满");
// 发送短信
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);
// 检查短信是否发送成功
String response = sim900a.readString();
if (response.indexOf("+CMGS:") != -1)
{
Serial.println("短信发送成功");
}
else
{
Serial.println("短信发送失败");
}
}
else
{
digitalWrite(ledPin4, LOW);
//Serial.println("厨余垃圾箱正常");
}
}
文章来源地址https://www.toymoban.com/news/detail-752424.html
到了这里,关于Arduino智能语音识别分类垃圾桶的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!