一、设计介绍
模块说明:
- 1、STC89C52:主控芯片 单片机
- 2、JDY-33蓝牙模块:用于和手机APP进行数据传输
- 3、LCD1602:用于显示数据信息
- 4、HX711称重墨镜:用于获取物体重量的传感器
- 5、ADC0832: 数模转换芯片,用于将模拟量转换为数字量
- 6、有源蜂鸣器:可以发出声音进行警报,有源蜂鸣器只需要给电平就可以直接发出声响,无源蜂鸣器则需要改变高低电平频率来发出声响
- 7、红外光电开关:该模块可监测是否有遮挡,基于此功能可衍生其他作用
- 8、继电器:通过小电流来驱动大电流,也就是单片机引脚控制外部设备通断电
- 9、舵机:可以控制旋转角度,旋转力度很大,可以控制重物移动
功能介绍:
- 1、红外光电开关检测是否有手挥过或者蓝牙微信小程序手动,来控制垃圾桶开盖
- 2、垃圾桶重量或者烟雾超过阈值进行蜂鸣器报警,并且烟雾超过阈值后会打开水泵。烟雾的蜂鸣器报警频率会比重量报警更急促。
- 3、蓝牙微信小程序可以查看设备数据,并且可以控制垃圾桶开盖以及修改各参数阈值
- 4、可以修改垃圾桶自动关盖时间
- 5、设置的各项阈值可进行掉电保存
硬件框图:
软件流程图:
原理图:
使用立创EDA格式打开,打开方式为将文件夹内 .json 后缀文件拖入嘉立创EDA(标准版) - 免费、易用、强大的在线电路设计软件 立创EDA编辑网站中即可
本次原理图使用立创EDA画出的,对于新手较为方便,全中文易上手,不需要安装任何软件。另,Altium Designer 格式打开后标注会有所丢失,建议使用立创EDA
Proteus仿真图:
实物图:
元器件清单:
如果您不能独自完成焊接,我这边也提供付费焊接服务以及调试,完成后第一时间通过快递寄给您。
二、代码资料展示
主要代码展示:
/********************* 函数声明 *******************/
//显示界面 每个菜单的结构
void Dis_menu();
//显示 数据
void Dis_Dat();
//获取数据
void Get_Dat();
//按键扫描
void Key_Scan();
//刷新设置后的数据
void Dis_Set_Dat();
//处理舵机开关盖函数
void Proc_Servos();
//处理报警函数
void Proc_Alarm();
//处理红外光电开关
void Proc_Hw();
//读取掉电保存的内容
void Read_e2();
//将数据保存在芯片中
void Write_e2();
//定时器0初始化
void timer0_init();
//蓝牙数据发送
void Bluetooth_Data_Send();
//清除接收数组及清零计数
void UART0_RXD_CLR(void);
//使用串口需要你的芯片晶振是11.0592M hz 的 记住!!!
//注意 定时器1 和 串口 都是使用同一个计数器,所以不能同时使用!!!
//串口初始化---9600bps
void Uart_init();
//发送一个字节的数据 也就是一个单词或者数字
void UartSendByte(uchar byte);
//发送字符串
void UartSendString(uchar *string);
void Servos_Close();//垃圾桶关盖
void Servos_Open();//垃圾桶开盖
void main()
{
DelayMs(100);
LCD_Init();//液晶显示初始化
Dis_menu();//显示界面结构
Get_Maopi();//HX711上电清零
timer0_init();//定时器0初始化
Read_e2();//读取掉电保存数据
Uart_init();//串口初始化---9600bps
DelayMs(100);
Servos_Close();//上电默认关盖
DelayMs(100);
Servos_Close();//上电默认关盖
while (1)
{
Get_Dat();//获取数据
Key_Scan();//按键扫描
Proc_Alarm();//处理报警函数
Proc_Servos();//处理舵机开关盖函数
Proc_Hw();//处理红外光电开关
Bluetooth_Data_Send();//蓝牙数据发送
if (Flag_Save == 1)//蓝牙设置了数据,需要进行掉电保存
{
Write_e2();//写入掉电保存数据
Flag_Save = 0;
}
}
}
工程管理展示:
下载内容展示:
更多详细功能与代码视频讲解请B站搜索:易佳电子设计 主页搜索该设计编号或名称
视频链接:【51毕业设计案例】【023】蓝牙垃圾桶带重量烟雾检测(微信小程序)-基于51/52单片机_哔哩哔哩_bilibili