【STM32项目开源】STM32单片机多功能电子秤

目录

一、设计背景和意义

1.1设计背景:

1.2设计意义:

二、实物展示

三、硬件功能介绍

[2.1 硬件清单:](#2.1 硬件清单:)

[2.2 功能介绍:](#2.2 功能介绍:)

四、软件设计流程图

五、硬件PCB展示

六、软件主函序展示

七、单片机实物资料

[资料获取 查看主页介绍:兆龙电子单片机设计](#资料获取 查看主页介绍:兆龙电子单片机设计)


一、设计背景和意义

1.1设计背景:

在日常家庭食材精准称重、商铺零售定量计价、快递驿站重量核算、实验室小样称量及工业小件重量检测的背景下,重量精准测量、计价智能换算、多场景便捷适配、数据可追溯管理成为电子秤类产品的核心需求。传统电子秤使用方式存在明显局限:一方面,高端智能称重管控系统(如定制化工业称重中控平台、工业级高精度计量网关、品牌成套商用计价称重设备)功能虽全但成本高昂,部署复杂且需专业人员上门调试与后期维护,难以普及到普通家庭、小型商铺、快递驿站及小型实验室等日常场景,且系统生态封闭性强,不同品牌、不同协议的称重设备与数据终端兼容性差,无法与个人移动终端、商铺收银系统、机智云物联网平台灵活联动,更换或升级成本高,无法满足不同人群(如普通家庭用户、商铺经营者、快递员、实验室人员)的便捷称重与计量管理需求;另一方面,普通简易电子秤装置(如传统机械台秤、单一功能便携电子秤、基础款计价秤)虽操作简单、价格低廉,但功能单一,仅能实现基础的重量测量或固定单价计价,缺乏多单位重量换算、称重数据存储、远程数据同步及设备故障状态提醒(如传感器漂移、计价模块失灵、设备低电量)等功能,无法满足现代化生活与经营场景下对全面覆盖、智能响应、便捷高效的称重与计量管控需求。

现有关电子秤管控方案还存在功能割裂与集成度低的问题:部分高端智能称重管控系统虽具备多维度计量管控与数据联动功能,但依赖复杂的软硬件架构与专属生态维护,后期使用成本高,难以覆盖预算有限的普通消费群体、个体商户或小型实验室的称重场景;而低成本电子秤装置又在功能完整性与智能化上存在欠缺,无法实现称重数据与电子秤终端、移动 APP、机智云物联网平台的实时联动,导致计价换算延迟、重量测量误差偏大、个性化需求(如家庭烘焙精准配料称重、商铺零售自动计价、快递重量一键记录)无法满足等问题,无法为用户精准称重计量(如把控食材分量、核算商品价格)及高效开展经营与实验活动(如追溯称重数据、监测异常计量状态)提供可靠支撑。基于此,本设计以 STM32 单片机为核心,融合高精度重量采集与辅助模块(如压力传感模块、多单位换算模块、计价计算模块、语音播报模块)、LCD 显示模块、数据存储模块及基于机智云的物联网通信与异常提醒模块,构建低成本、高集成度的 STM32 单片机多功能电子秤系统 - 机智云版,以解决传统电子秤使用方式操作繁琐、智能化程度低、功能单一及称重计量管控效率低的问题。

1.2设计意义:

从使用体验与多功能电子秤精细化管控效率角度,该系统突破了传统电子秤使用方式的局限:一是实现了多维度重量监测与全场景计量联动(如支持物品重量实时采集、多单位重量精准换算、单价自定义计价、定时称重记录控制,联动机智云物联网通信模块、异常声光提醒模块、电子秤智能计量执行模块),无需用户手动换算单位、频繁核对称重数值或记录计量设备运行情况,减少称重计量的繁琐性与数据管控的延迟性;二是配备 OLED 实时显示模块,直观呈现当前物品重量 / 计价金额 / 单位换算结果、系统运行状态(正常 / 异常)及提醒类型,同时支持数据自动存储(可通过机智云平台传输至移动 APP / 个人称重管理平台 / 商铺计量管控平台),方便用户与商铺管理员长期追溯称重、计价等历史数据、设备运行记录,也为优化称重计量方案、排查设备故障隐患及多场景规模化计量管控提供完整数据支撑;三是新增个性化计量预警与自动响应功能,当监测到计量异常状态(如传感器漂移、超重预警、单价未设置、设备低电量),系统根据状态类型自动触发对应执行动作(同时通过声光提醒模块反馈预警 / 执行信息与设备当前工作状态,机智云同步推送至关联移动终端),并联动电子秤执行模块完成智能操作(如联动 "超重预警",自动锁定计价功能、播报超重提示、记录异常时间与重量参数,同步更新计量台账),无需人工现场干预即可实现多功能电子秤的精细化管控,大幅提升了称重计量的便捷性与数据管理的高效性。

从技术实践与成本控制角度,本设计以 STM32 单片机为核心,充分利用其低功耗、高性价比的优势,搭配低成本的高精度重量采集模块及通用外围模块,在保证计量管控精度(核心重量监测准确率可控制在 98% 以上,计价 / 单位换算与预警响应时间可控制在 0.5 秒以内)的前提下,有效降低了系统整体成本,相比同功能的高端智能称重管控系统成本降低 40%-60%,更易普及到普通家庭、小型商铺、快递驿站、实验室及个体经营摊位等场景。同时,系统支持模块化扩展(如后续可新增多人个性化计量权限管理功能、基于机智云的远程手动校准与参数设置功能、称重数据统计分析功能),为后续功能升级预留了空间,具备良好的灵活性与可扩展性。

**二、**实物展示

下方为实物演示视频

演示视频https://www.bilibili.com/video/BV1bUn7zKErv/?spm_id_from=333.1387.upload.video_card.click&vd_source=2a672ca4e8794dca68cbe6d047b42ca5

下方为实物展示图片

三、硬件功能介绍

2.1 硬件清单:

  • STM32F103C8T6

  • OLED显示

  • HX711称重传感器

  • 声光报警

  • 矩阵键盘

  • 降压模块

  • WIFI模块

2.2 功能介绍:

(1)液晶屏实时显示皮重、重量、单价与总价

(2)通过按键设置物品单价

(3)支持去皮清零与单价清除功能

(4)按下确认键,屏幕锁定并显示当前的重量、单价及总价

(5)所有显示数据同步上传至手机WIFI APP,并可远程进行单价设置与去皮操作

四、软件设计流程图

五、硬件PCB展示

六、软件主函序展示

复制代码
int main(void)
{
	main_Init();
	while(1)
	{
		main_loop();
	}
}

void main_Init()
{
	OLED_Init();
	Timer_Init();
	BEEP_Init();
	OLED_Clear();
	HX711_GPIO_Init();
	OLED_ShowChinese(2,2,"正在初始化...");
	Delay_ms(2000);			//对接成功界面停留一定时间
	weight_err = Get_Tare();
	Pi_weight = Get_Tare();	
}

void main_loop()
{
	show_init();
	keynum = KeyScan();
	if(keynum != 255)
	{
		if(keynum == remove_tare)
		{
			Pi_weight = Get_Tare();
		}else if(keynum == set)
		{
			set_price();
		}
	}
	/*
	OLED_ShowNum(1,7,(int)(Pi_weight - weight_err),4);
	OLED_ShowNum(1,12,(int)(weight_err),4);
	OLED_ShowNum(2,7,(int)(Pi_weight),4);
	*/

	Weight = 1.73*Get_Weight(Pi_weight);
	if(Weight < 0.5)Weight = 0;//去除干扰
	total_price = single_price*Weight/1000;
	OLED_ShowNum(1,7,(int)(Pi_weight - weight_err)/1000,1);
	OLED_ShowChar(1,8,'.');
	OLED_ShowNum(1,9,(((Pi_weight - weight_err)/1000)-(int)((Pi_weight - weight_err)/1000))*10000,4);
	OLED_ShowNum(2,7,(int)(Weight)/1000,1);
	OLED_ShowChar(2,8,'.');
	OLED_ShowNum(2,9,(((Weight)/1000)-(int)((Weight)/1000))*10000,4);

//	OLED_ShowNum(2,7,Weight,4);
	if(price[0] == '\0')
	{
		OLED_ShowNum(3,7,0,6);
	}else 
		OLED_ShowString(3,7,price);
	OLED_ShowNum(4,7,(int)total_price,5);
	OLED_ShowChar(4,12,'.');
	OLED_ShowNum(4,13,(total_price-(int)total_price)*10,1);
	Delay_ms(100);
}

void show_init()
{
	OLED_ShowChinese(1,1,"皮重:");
	OLED_ShowChinese(1,7,"千克");
	OLED_ShowChinese(2,1,"重量:");
	OLED_ShowChinese(2,7,"千克");
	OLED_ShowChinese(3,1,"单价:");
	OLED_ShowChinese(3,8,"元");
	OLED_ShowChinese(4,1,"价格:");
	OLED_ShowChinese(4,8,"元");
}


void set_price()
{
	OLED_Clear();
	OLED_ShowChinese(1,3,"请输入单价");
		uint8_t index = 0;
			uint8_t dot_flag = 0;
			uint8_t end_flag = 0;
		single_price = 0;
	decimal = 0;
			price[0] = '\0';
			while(1)
			{
				if(index == 6)break;
				keynum = KeyScan();
				if(keynum == ok)
				{
					break;
				}else if(keynum >=0 && keynum <= 9 && end_flag == 0)
				{
					price[index] = '0' + keynum;
					if(index < 6)
						price[index+1] = '\0';
					OLED_ShowChar(3,7+index,price[index]);
					if(index > 0 && price[index-1] == '.')
					{
						single_price += keynum*0.1;
						decimal = keynum;
						end_flag = 1;
					}else 
					{
						single_price *= 10;
						single_price += keynum;
					}
					index++;
				}else if(keynum == dot)
				{
					if(index > 0)
					{
						if(dot_flag==0)
						{
							dot_flag = 1;
							price[index] = '.';
							if(index < 6)
							price[index+1] = '\0';
							OLED_ShowChar(3,7+index,price[index]);
							index++;
						}							

					}
				}

			}
			OLED_Clear();
}

七、单片机实物资料

资料获取 查看主页介绍:兆龙电子单片机设计

相关推荐
向哆哆2 小时前
高校四六级报名管理系统的考试信息模块实现:Flutter × OpenHarmony 跨端开发实践
flutter·开源·鸿蒙·openharmony·开源鸿蒙
切糕师学AI2 小时前
ARM 架构中的复位(Reset)与复位流程
arm开发·单片机·嵌入式·复位
wotaifuzao2 小时前
STM32多协议网关-FreeRTOS事件驱动架构实战
stm32·嵌入式硬件·can·freertos·uart·modbus·spi
llilian_162 小时前
信号发生器 多通道多功能脉冲信号发生器应用解决方案 多功能脉冲发生器
功能测试·单片机·嵌入式硬件·测试工具
路由侠内网穿透.2 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
CoderJia程序员甲3 小时前
GitHub 热榜项目 - 日榜(2026-01-31)
ai·开源·大模型·github·ai教程
yuanmenghao3 小时前
Classic AUTOSAR深入浅出系列 - 【第十六篇】MCAL:为什么 MCU 换了,上层几乎不用动
单片机·嵌入式硬件·autosar
MickyCode4 小时前
嵌入式开发调试之Traceback
arm开发·stm32·单片机·mcu
计算机毕业编程指导师4 小时前
大数据可视化毕设:Hadoop+Spark交通分析系统从零到上线 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·城市交通