周朝霞
(厦门大学嘉庚学院,福建 漳州 361305)
随着科技的发展和人们生活水平的提高,人们越来越追求舒适、安全、节能、智能化的家居生活,而垃圾桶作为日常生活的必需品,越来越受到大众关注[1]。
本文设计的蓝牙智能垃圾桶,以STM32F103C8T6单片机为主控芯片,外围包括超声波传感器、红外接收传感器、HC05蓝牙通信模块、步进电机、直流电机、RGB灯。系统整体硬件框架如图1所示[2-4]。
图1 整体硬件框
(1)自动开关桶盖功能:当扔垃圾时,无需接触,超声波传感器自动感应人手,电机快速反应,迅速打开垃圾桶盖;人手离开,延时20 s,垃圾桶盖自动关闭。
(2)垃圾桶容量提醒功能:RGB三色显示垃圾桶容量,当垃圾桶未满30%时,显示绿灯;当30%~70%时,显示蓝灯;当超过70%时,显示红灯。
(3)红外遥控功能:用户通过红外遥控器控制垃圾桶的前进、后退、转弯、开盖、关盖。
(4)手机蓝牙控制功能:系统里嵌入HC05蓝牙模块,可远程控制垃圾桶的移动、转弯、自动开关盖等功能,同时手机端也可显示桶内垃圾容量。
智能蓝牙垃圾桶采用意法半导体(ST Microelect ronics)开发的增强型微控芯片STM32F103C8T6为主控器,是ARM Cortex-M3的内核,具有32位CPU、64 K的存储器容量、72 MHz的系统时钟、10×12 bit的模数转换器A/D,片内外设主要有存储器(DMA)、电机控制脉冲宽度调制(PWM)和温度传感器[5]。最小系统电路如图2所示。
图2 最小系统电路
设计选用HS-SR04超声波模块实现桶盖和物体的测距及桶盖到桶底的测距,HS-SR04型超声波模块的工作原理是发送端发出超声波信号后,以340 m/s的声速向前面的目标定向发射,遇到障碍物后立刻反射回来,被HS-SR04型超声波模块的接收模块接收。通过STM32单片机快速计算,按照“距离=时间×声速”的计算公式,得出桶盖与桶底之间的距离,实现垃圾桶容量的检测。
本次设计使用HC-05无线蓝牙模块实现单片机和手机的无线通信,将其正常工作的频段2.4 GHz ISM,GFSK作为它的调制方式。主控芯片STM32F103 C8T6单片机通过串口连接HC-05,安卓手机端自带蓝牙,通过手机App与单片机蓝牙设备建立配对,蓝牙模块将接收的数据传送给单片机,单片机处理后控制电机的运转和桶盖的开关[7]。工作原理如图3所示。
图3 蓝牙工作原理
本设计选用L293D驱动芯片控制两个独立运转的直流电机,该驱动芯片采用单H桥集成电路,具有很强的驱动能力和工作电压高、输出电流大、响应频率高、稳定性好等特点,一个L293D芯片有4个输出端,能够同时控制两直流电机的正转、反转及停止[8]。
电源是整个硬件电路的重要组成部分,它为系统提供稳定的工作电压。如图4所示,使用两节3.7 V充电锂电池串联给系统供电,供电电压为7.4 V,因STM32外围硬件模块的工作电压是5 V。为保证电源正常运行,选用LM7805稳压芯片对7.4 V的电压进行降压处理,将7.4 V电源电压稳定到5 V。电源模块结构如图4所示。
图4 电源模块
软件设计方面,系统初始化设定参数,超声波测距检测垃圾桶用量并用不同颜色RGB灯指示,超声波测距判断是否需打开桶盖和是否有红外遥控信号或手机蓝牙指令,单片机接收到指令做相应处理并控制执行元器件做出反应。主程序流程如图5所示。
图5 主程序流程
本文设计的蓝牙智能垃圾桶实物如图6所示,4轮驱动小车安装在桶底,4个电机的正负极铜片通过杜邦线和桶内底部的2个L293D驱动板连接,桶盖下有1个超声波传感器,与主控单片机STM32F103C8T6相连,以测量垃圾桶的容量。垃圾桶的桶口安装另一超声波传感器、红外接收传感器和1个RGB灯,该超声波传感器用来测量桶盖上方物体距离,实现自动开盖功能,红外接收传感器用来接收来自红外遥控器的信号,实现红外控制桶盖的开启与闭合、垃圾桶的前进后退转弯,RGB灯用来提醒用户垃圾容量。
图6 自动开盖