# SmartGarbage **Repository Path**: bad-lemon/smart-garbage ## Basic Information - **Project Name**: SmartGarbage - **Description**: 基于orangePi Zero2 + wiringPi的多线程垃圾分类的智能垃圾桶程序。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-24 - **Last Updated**: 2025-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能分类垃圾桶 ## 一、前言 >该垃圾桶所用芯片为H616。使用orangePi Zero2开发板+WiringPi进行开发。采用多线程开发。 ## 二、环境基础 香橙派采用`Orangepizero2_3.0.6_ubuntu_jammy_desktop_xfce_linux5.16.17`的系统镜像 。镜像中默认自带了Python3.10的版本。 > 采用C语言角度学习,使用 C语言进行开发,采用C语言调用python语言的方式进行实现垃圾分类的垃圾桶。 ## 三、模块介绍 1. **语言模块:** > 当语音模块接收到 '垃圾识别' 的指令后,语音模块会通过串口发送 `AA 55 46 00 55 AA`到主机,主机接收到命令后,语音线程中会发送线程信号给阿里云交互线程。 阿里云交互线拍完照后运行阿里云垃圾识别的api,情况如下: |识别结果|接收的数据 |播报内容| |:-: |:-: | :-: | | 干垃圾|AA 55 41 00 55 AA|该物品为干垃圾| | 湿垃圾|AA 55 42 00 55 AA|该物品为湿垃圾| | 可回收垃圾|AA 55 43 00 55 AA|该物品为可回收垃圾| | 有害垃圾|AA 55 45 00 55 AA|未识别到物品| 2. **舵机** > 采用sg90控制垃圾桶的翻盖功能 > > 通过控制pwm波的占空比实现垃圾桶的打开与关闭。 3. **摄像头** > 摄像头我们采用的是 mjpg-streamer控制摄像头的拍照。 4. **oled显示屏** > 按照识别垃圾的结果显示内容。 ## 四、功能介绍 #### 功能需求: - 语音接入控制垃圾分类识别,并触发垃圾桶的开关盖 - Socket编程,实现Sockect发送指令远程控制垃圾分类识别,并触发垃圾桶的开关盖 - 图像识别垃圾分类功能 语音播报垃圾物品类型 - OLED显示垃圾物品类型 - 根据垃圾类型开关不同类型垃圾桶 > 简单讲就是嵌入式设备负责数据采集,转发给人工智能识别后,基于结果进行执行器动作 #### 实现流程 > 基本实现流程如下 ![智能垃圾桶](README.assets/智能垃圾桶.png)