Arduino智能语音识别分类垃圾桶

这篇具有很好参考价值的文章主要介绍了Arduino智能语音识别分类垃圾桶。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目介绍

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控制舵机

arduino智能垃圾桶,语音识别,人工智能

2、Arduino控制红外

arduino智能垃圾桶,语音识别,人工智能

3、 Arduino控制短信发送模块

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语音控制垃圾桶 - 扩展库 - 好好搭搭论坛 - 好好搭搭在线

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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能语音识别垃圾桶

    主要采用Arduino单片机与LD3320语音模块结合,实现垃圾分类。 目录 设计方案 详细设计 总结 简介:传统垃圾桶都是采用不封口,手动或者脚踩的方式打开桶盖投递垃圾,不但操作麻烦,而且对人体的卫生健康有不利的影响,对空气环境也会造成污染。针对以上存在的问题,本

    2023年04月27日
    浏览(48)
  • 基于STM32的智能语音垃圾桶设计

    一. 系统设计及框图: 本设计整体功能如下: 1. 超声波感应到有人靠近时语音提示“垃圾放置请分类”。 2. 检测垃圾筒时是否满,当满时语音提示“垃圾桶已满”。 3. 光传感器检测,指示灯指示。 4. 语音识别不同的垃圾类型。 二. 离线语音模块的设计: 离线语音模块SU-0

    2024年02月01日
    浏览(40)
  • 智能垃圾分类垃圾桶(K210+stm32mp157)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 有需要源码参考的可以点赞在评论区留邮箱 K210识别垃圾 k210识别2 文章目录 前言 一、垃圾分类识别+舵机控制(K210) 二、语音控制(K210+ld3320)(UART通信) 三、满溢度距离传感器数据获取(STM32MP157)

    2024年02月03日
    浏览(52)
  • 工训赛智能垃圾桶分类全流程代码分享(树莓派+stm32)

    目录 目录 前言 一、机械结构设计 附机械部分图纸​编辑 二、树莓派视觉识别 1.数据集的制作 (1)数据集处理部分  (2)数据集的优化 2.数据集打标签建议 (1)网站推荐 (2)问题示例 3.树莓派环境搭建部分 (1)  YOLOv5-Lite环境的部署 4.具体Yolov5-lite算法部分 (1)引入库部分

    2024年04月24日
    浏览(161)
  • 【arduino】超声波垃圾桶

    🎊专栏【Arduino】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【勋章】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 ⭐效果 ⭐所需器材  ⭐连线图片  ⭐程序代码 ⭐代码分析 ✨引入所需的库文件 ✨定义引脚  ✨定义变量并且初始化   ✨程

    2024年02月12日
    浏览(47)
  • 【Arduino】arduino期末课程设计作品——新型垃圾桶与消毒液一体化设计

    目录 1、组成器件 2、总体方案框图 3、 原理 4、电路连接图 5、代码 6、作品展示 7、总结 UNO 开发板 两个超声波模块 三个舵机 若干根杜邦线 一瓶消毒液 一个可以打开的盒子 面包板。 超声波模块检测距离,然后根据距离判断使得舵机进行转动。   arduino课程设计 本次课程设

    2024年02月11日
    浏览(46)
  • 手把手教你做一个物联网垃圾桶(ARDUINO ESP8266)

    最近自创的项目结题了,就顺手将相关的技术细节记录一下,也给需要做自创的同学提供一个简单的可复制的小项目 智能垃圾桶的选型 通过充分考虑实际生活场景,加入了 IP65 级别防水设计,可以满足大多数需要场景,此外采用升压和可充电电池, 践行环保理念 ,实现长续

    2024年02月03日
    浏览(89)
  • 智能垃圾桶项目【课程设计】【全套开源】

    1.1 功能描述 当物体接近垃圾桶时,垃圾桶自动打开,并有\\\" 嘀\\\"的一声;当远离垃圾桶后,自动关闭; 当按下按键时,垃圾桶也可以自动打开,并有\\\" 嘀\\\"的一声; 当感受到震动时,也自动打开,(同上) 垃圾桶开时,led1 灯开,led2 灯关;当垃圾桶关时,led1 灯关,led2 灯开

    2024年01月16日
    浏览(47)
  • 机器人制作开源方案 | 智能垃圾桶

           智能垃圾桶是一种利用物联网技术和智能感知能力的智能设备,旨在提高垃圾分类和处理的效率。通常具备以下特点和功能: ① 智能感知:智能垃圾桶配备各种传感器,如压力传感器、红外线传感器等,可以实时感知垃圾桶内垃圾的填充情况和类型。 ② 垃圾分类:

    2024年02月16日
    浏览(56)
  • 智能垃圾桶丨悦享便捷生活

           垃圾桶是人们日常生活所必不可少的必需品,它让生活中所产生的垃圾有了一个正确的存放地方。随着生产技术的迅速发展,垃圾桶也得以更新换代。由最初的简单式的圆筒式垃圾桶,到现在出现的感应式垃圾桶、智能语音控制垃圾桶,垃圾桶也变得越来越智能,让

    2024年02月07日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包