随着大众环保意识的提升以及社会环境保护监管的加强,全国各地逐步实行垃圾分类政策。
家庭、社区和企业对智能垃圾分类设备的需求也愈发强烈。无论是自己家中还是公司里,随着垃圾分类政策的普及,垃圾桶的功能性也有个更高的要求!
因此,涂鸦开发者基于涂鸦 iot 平台智能垃圾桶产品的 mcu 接入方案,配合涂鸦三明治语音 wi-fi 通信板(vwxr2)和 涂鸦三明治直流供电电源板开发的智能语音垃圾桶,通过语音识别和云端垃圾分类标准数据库对接功能,实现了对垃圾类型的快速识别和垃圾的准确、无接触投放,提供了更加卫生和高效的垃圾分类解决方案。
本教程内容均为涂鸦开发者 @田洋 提供,经其授权编辑发布。
接下来康康我们的技术大牛怎么diy出一款智能语音垃圾桶吧~
物料清单
硬件 (3)
涂鸦三明治语音 wi-fi 通信板(vwxr2)
数量:1
mg996r 舵机控制
数量:1
涂鸦三明治直流供电电源板
数量:1
步骤
第 1 步:作品框图
第 2 步:开发过程
硬件部分
语音控制模块
mcu 通信板
mg996r 舵机控制
供电模块
软件部分
采用涂鸦智能 mcu 接入方式完成接入。
1、创建产品。
使用智能垃圾桶的模型,自定义 dp 云云对接。
2、创建 dp 点。
添加垃圾分类网站 url 。
3、创建设备面板。
4、点击保存,扫描二维码可在手机端查看。
第 3 步:mcu_sdk 移植
登录 iot 平台。
选择目标模组,在产品>硬件开发页面的底部的下载资料区域,下载 mcu sdk。
配置开发板,移植 sdk。
说明: demo 采用 arduino uno 开发板。
1、在 arduino ide 中单击文件 > 新建,新建项目。
工程中,您需要注意以下函数:
setup():用于初始化,只执行一次
loop():循环执行函数
2、将 mcu 开发包中文件复制至新建的项目路径下。
3、将.c文件后缀改为.cpp。
4、打开 .ino 文件,即可在 ide 中发现添加的 mcu sdk 文件。
5、移植代码和报错排查。
mcu sdk 初次导入工程未进行任何移植操作前,编译会参数报错,属于正常现象。后续步骤中,您需要依次对代码进行移植修改,直到编译后没有错误。
说明: 调试方法参见 mcu sdk开发包移植调试。
登录 iot 平台。
选择目标模组,在产品>硬件开发页面的底部的下载资料区域,下载 mcu sdk。
配置开发板,移植 sdk。
说明: demo 采用 arduino uno 开发板。
4、编写主函数
#include wifi.h #include protocol.h #include softwareserial myserial(6, 7); // rx, tx #define _ss_max_rx_buff 300 #define relay 10 int pc13 = 3; int s1=4; int time_cnt = 0, cnt = 0, init_flag = 0;
void setup() { pinmode(relay, output); // 继电器 i/o 初始化 digitalwrite(relay, low); pinmode(pc13, input); // 重置 wi-fi 按键初始化 pinmode(2, output); // wi-fi 状态指示灯初始化 serial.begin(9600); serial.println(serial init successful!); wifi_protocol_init(); } void loop() { if (init_flag == 0) { time_cnt++; if (time_cnt % 6000 == 0) { time_cnt = 0; cnt ++; }
void key_scan(void) { static char ap_ez_change = 0; unsigned char buttonstate = high; buttonstate = digitalread(pc13); if (buttonstate == low) { delay(3000); buttonstate = digitalread(pc13); printf(----%d,buttonstate); if (buttonstate == low) { printf(123\r\n); init_flag = 0; switch (ap_ez_change) { case 0 : mcu_set_wifi_mode(smart_config); break; case 1 : mcu_set_wifi_mode(ap_config); break; default: break; } ap_ez_change = !ap_ez_change; } } } void wifi_stat_led(int *cnt) { #define wifi_stat_led 2 switch (mcu_get_wifi_work_state()) { case smart_config_state: //0x00 init_flag = 0; if (*cnt == 2) { *cnt = 0; }
if (*cnt % 2 == 0) //led 快闪 { digitalwrite(wifi_stat_led, low); } else { digitalwrite(wifi_stat_led, high); } break; case ap_state: //0x01 init_flag = 0; if (*cnt >= 30) { *cnt = 0; } if (*cnt == 0) // led 慢闪 { digitalwrite(wifi_stat_led, low); } else if (*cnt == 15) { digitalwrite(wifi_stat_led, high); } break; case wifi_not_connected: // 0x02 digitalwrite(wifi_stat_led, high); // led 熄灭 break; case wifi_connected: // 0x03 break; case wifi_conn_cloud: // 0x04 if ( 0 == init_flag ) { digitalwrite(wifi_stat_led, low);// led 常亮 init_flag = 1; // wi-fi 连接上后该灯可控 *cnt = 0; } break; default: digitalwrite(wifi_stat_led, high); break; } }
云天励飞荣膺“年度最具投资价值AI企业”
瑞丰光电筹建Mini LED量产线
京东展示了自动驾驶在物流行业的应用
华为腕上穿戴设备市场份额已达全球第一
瑞芯微全球发布了旗下内置高能效NPU的AIoT芯片解决方案——RK1808
如何快速DIY一个智能语音垃圾桶
AD1953的功能及应用
R课堂 | RBQ系列:高温环境下也能稳定运行,新增可满足高耐压需求的100V产品
OLED电视迎来爆发式增长,创维首销“壁纸”电视
谷歌5G智能手机将于下周发布,搭载高通骁龙855处理器
苹果年度开发者大会WWDC在6月22日召开 华为5G研发专利全球排名第一
智慧医疗将改变看病方式
音响改得好,女神跟你跑 别克昂科威升级芬朗汽车音响
2019年全球蜂窝基带处理器市场的收益情况分析
脸书人工智能背后的人工:将用户私人数据标注外包给了印度人
中国移动推出5G智慧港口平台,共同推进智慧港航转型升级
电动汽车充电桩的内部转换器
数据看板搭建的常见错误
工业云进入下半场 靠谱的云最重要
今年中央正式提出加快以5G为代表的新型基础设施建设