OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6558|回复: 1

春节宅家DIY了”它“!亲戚邻居都眼红~

[复制链接]

183

主题

187

帖子

0

精华

高级会员

Rank: 4

积分
813
金钱
813
注册时间
2020-5-19
在线时间
79 小时
发表于 2021-2-18 11:48:13 | 显示全部楼层 |阅读模式

祝大家牛年大吉!万事胜意~

春节宅家闲来无事,不如找点新乐子~


随着大众环保意识的提升以及社会环境保护监管的加强,全国各地逐步实行垃圾分类政策。

家庭、社区和企业对智能垃圾分类设备的需求也愈发强烈。无论是自己家中还是公司里,随着垃圾分类政策的普及,垃圾桶的功能性也有个更高的要求!

因此,涂鸦开发者基于涂鸦 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.h>SoftwareSerial mySerial(6, 7); // RX, TX#define _SS_MAX_RX_BUFF 300#define relay 10int 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;  }}

涂鸦物联网开发平台为开发者提供了便捷的 IoT 开发工具与服务,助力开发者更高效的完成设备接入,并为开发者提供物联网应用开发及场景服务能力。

auth.tuya.com/?from=https%3A%2F%2Fiot.tuya.com%2F&_source=db5b2e380bb88adaccc9fbc259587499
看完之后是不是很心动,赶快给家人、朋友DIY一款智能语音垃圾桶,智能便捷又好玩儿~

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

172

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3141
金钱
3141
注册时间
2014-11-29
在线时间
183 小时
发表于 2021-2-19 09:35:38 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表