1. 系统功能概述
本系统是一款集体重检测、体温测量、数据存储、远程通信及智能报警于一体的多功能智能体重秤。系统以单片机为核心控制单元,利用高精度称重传感器模块HX711实现体重的精准采集,并结合体温检测电路实现人体体温监测。系统不仅能够实时显示体重与体温信息,还能自动存储三组历史测量数据,方便用户随时查询。同时,通过WiFi模块实现与手机或远程终端的数据交互,用户可远程查看体重数据、设定阈值或监测异常状态。
系统具备以下主要功能:
- 精准体重测量:采用HX711与测重电桥模块,实现毫克级精度的体重采集,确保测量稳定可靠。
- 体温检测功能:内置高精度温度传感器,实时检测人体体温。
- 历史数据存储与查询:系统可存储三组测量数据(体重+体温),可循环覆盖并支持按键查询。
- 阈值设定与报警机制:用户可通过按键或远程指令设定体重上限阈值,当检测结果超限时,蜂鸣器立即报警。
- WiFi远程通信:通过ESP8266 WiFi模块与手机APP或电脑端通信,实现体重数据的上传与阈值远程修改。
- LCD信息显示:采用LCD1602液晶屏实时显示体重、体温、存储信息及报警状态,使系统操作直观可视。
该系统融合了传感器测量、数据存储、无线通信与人机交互等多项技术,能够满足智能健康监测设备的应用需求。
2. 系统电路设计
整个系统以单片机为控制核心,外围电路包括HX711称重传感器模块、体温测量模块、LCD显示模块、WiFi通信模块、按键输入模块、蜂鸣器报警模块及电源稳压模块。系统结构清晰,各模块功能相互独立又相互协作。
2.1 主控单片机模块
本系统采用 STC89C52 单片机 作为主控芯片。该芯片是经典的MCS-51内核单片机,具有足够的I/O口资源和中断处理能力,能够满足称重、体温检测、WiFi通信与LCD显示等多任务需求。
其主要功能包括:
系统中单片机采用外部晶振12MHz工作频率,使用5V直流供电。
2.2 称重检测模块
体重检测模块由 称重传感器 + HX711模数转换芯片 组成。称重传感器是一种电阻应变式传感器,通过测重电桥输出与重量成比例的微小电压信号。HX711是一款24位高精度A/D转换器,专为电子秤设计,具有高分辨率和低噪声特性。
HX711通过两线制接口(DT与SCK)与单片机通信,采用时序方式读取重量数据。系统上电后,单片机首先进行零点校准,然后实时采集体重数据并进行滤波与换算处理。
2.3 体温检测模块
体温检测模块采用 DS18B20 数字温度传感器。该传感器支持单总线通信,具有高精度、响应快和数字输出等特点。DS18B20输出温度数据范围为-55℃125℃,分辨率可选912位。
单片机通过单总线方式读取体温数据,将测量结果与体重信息一同显示在LCD上。系统还可根据需要在WiFi上传输时附加体温数据,实现更完整的健康监测。
2.4 数据存储模块
系统内存储三组最新的体重与体温数据,采用 EEPROM(如AT24C02) 实现掉电保存。单片机通过I2C总线与EEPROM通信,每次测量完成后将数据写入EEPROM指定地址。
用户可通过按键进行“历史记录查询”,LCD显示最近三组数据,实现数据可追溯。
2.5 LCD显示模块
系统选用 LCD1602 液晶显示屏。其具有两行16字符显示能力,用于实时显示体重、体温、报警提示及操作信息。例如:
- 正常状态:
Weight: 65.3kg
Temp: 36.7°C - 报警状态:
Overweight!
Threshold: 70kg
LCD通过RS、RW、EN控制线及4位数据总线与单片机连接。显示模块由软件驱动函数控制,可动态更新显示内容。
2.6 WiFi通信模块
WiFi模块选用 ESP8266,工作于UART串口通信模式。单片机通过发送AT指令控制ESP8266连接指定WiFi网络,并将测量数据上传至云端或手机APP端。
主要功能包括:
- 数据上传(体重、体温、时间);
- 阈值下发(用户在APP端设置新的体重上限);
- 异常报警通知(当体重超限时,APP接收警报信息)。
ESP8266与单片机间的通信波特率一般设置为9600bps,通信格式为8N1。
2.7 按键输入与报警模块
系统设计有多个功能按键,包括:
- 查询键:用于切换查看历史记录;
- 设置键:用于调整体重阈值;
- 确认键:确认设定操作。
此外,蜂鸣器作为报警装置,当体重超过设定阈值时,蜂鸣器发出间断声,同时LCD显示“Overweight!”,提示用户注意。
2.8 电源模块
系统采用5V直流电源供电。单片机、LCD和EEPROM共用5V电压,ESP8266需经AMS1117-3.3稳压芯片降压供电。所有模块共地设计,确保系统稳定运行。
3. 系统程序设计
软件部分采用模块化设计思想,程序主要分为以下几个模块:
各模块相互独立,通过函数调用实现系统协同工作。
3.1 主程序控制模块
主程序负责系统初始化、模块调用及主循环逻辑。
主要流程为:
- 初始化各外设(LCD、HX711、DS18B20、EEPROM、ESP8266);
- 显示系统启动界面;
- 进入主循环,周期性采集体重与体温;
- 判断是否超限并执行报警;
- 处理按键输入与数据存储;
- 向WiFi模块发送测量数据。
#include <reg52.h>
#include "lcd1602.h"
#include "hx711.h"
#include "ds18b20.h"
#include "eeprom.h"
#include "wifi.h"
float weight, temp;
float threshold = 70.0;
void main()
{
Init_LCD();
Init_HX711();
Init_DS18B20();
Init_EEPROM();
Init_WIFI();
LCD_ShowString(1,1,"Smart Scale");
LCD_ShowString(2,1,"System Ready");
delay_ms(1500);
while(1)
{
weight = Get_Weight();
temp = Get_Temp();
LCD_Display(weight, temp);
if(weight > threshold)
{
Beep_Alert();
LCD_ShowString(2,1,"Overweight!");
}
WIFI_SendData(weight, temp);
Store_Data(weight, temp);
delay_ms(2000);
}
}
3.2 称重数据采集模块
HX711数据采集模块通过模拟时序方式读取24位重量数据,并进行滤波与校准。
long HX711_Read()
{
unsigned long count;
unsigned char i;
count = 0;
while(DT);
for(i=0;i<24;i++)
{
SCK=1;
count = count << 1;
SCK=0;
if(DT) count++;
}
SCK=1;
count ^= 0x800000;
SCK=0;
return(count);
}
float Get_Weight()
{
long data = HX711_Read();
float weight = (data - OFFSET) / SCALE;
return weight;
}
系统在上电时自动进行零点校准,并保存系数参数,用于后续测量精度修正。
3.3 体温采集模块
体温模块通过单总线方式读取DS18B20数据。
float Get_Temp()
{
unsigned char TL, TH;
int temp;
DS18B20_Start();
DS18B20_WriteByte(0xCC);
DS18B20_WriteByte(0x44);
delay_ms(800);
DS18B20_Start();
DS18B20_WriteByte(0xCC);
DS18B20_WriteByte(0xBE);
TL = DS18B20_ReadByte();
TH = DS18B20_ReadByte();
temp = (TH << 8) | TL;
return temp * 0.0625;
}
3.4 数据存储模块
每次测量完成后,系统将数据存入EEPROM指定地址,并自动更新记录索引。
void Store_Data(float w, float t)
{
unsigned char addr = Get_Index();
EEPROM_Write(addr, w);
EEPROM_Write(addr+4, t);
addr += 8;
if(addr >= 24) addr = 0;
EEPROM_Write(0x00, addr); // 保存当前索引
}
3.5 WiFi通信模块
WiFi模块采用AT指令通信方式上传数据。
void WIFI_SendData(float w, float t)
{
char buffer[32];
sprintf(buffer, "W:%.2fkg T:%.2fCrn", w, t);
UART_SendString(buffer);
}
当接收到远程设置命令(如“SET THR=75”)时,单片机自动解析并更新阈值。
3.6 报警与按键模块
当体重超过设定阈值时,蜂鸣器间歇鸣响3次。
void Beep_Alert()
{
for(int i=0;i<3;i++)
{
BEEP = 0;
delay_ms(200);
BEEP = 1;
delay_ms(200);
}
}
按键模块通过独立输入检测,用于数据查询与阈值调整。
4. 系统总结
本设计实现了一款基于单片机的多功能智能体重监测系统,融合了高精度称重技术、温度检测、历史存储与WiFi远程通信功能。系统在硬件上采用模块化设计,结构简单、可靠性高;在软件上采用层次化编程思想,逻辑清晰、功能完备。
主要优势如下:
- 高精度测量:HX711保证了毫克级精度;
- 多功能集成:实现体重、体温、存储、远程通信四合一;
- 人机交互友好:LCD显示与按键操作直观便捷;
- 智能报警机制:超限自动报警与远程通知兼具;
- 可扩展性强:WiFi模块可进一步扩展至云平台或手机端监控系统。
该系统可广泛应用于家庭健康监测、健身房体重检测、医疗机构病患管理等场景,为智能健康设备的发展提供了重要参考与实践基础。
点击链接下载资料:https://download.csdn.net/download/m0_51061483/92081510
1110