当前位置: 首页 > news >正文

【STM32项目开源】基于STM32的智能电子秤

目录

一、设计背景和意义

1.1设计背景

1.2设计意义

二、实物效果展示

2.1实物图片

2.2实物演示视频

三、硬件功能简介

3.1项目功能详解

3.2元器件清单

四、主框图与软件流程图

五、硬件PCB展示

六、软件程序设计

七、项目资料包内容

         资料获取:查看主页介绍“充哥单片机设计”


一、设计背景和意义

1.1设计背景

        近年来,随着物联网技术、嵌入式系统以及智能终端设备的快速发展,传统电子秤正经历着从单一称重工具向多功能智能设备的转型。在零售业、物流仓储、家庭厨房等应用场景中,用户对电子秤的需求已不仅限于基本的重量测量,更希望其具备数据记录、价格计算、远程监控等智能化功能。目前市场上的电子秤产品主要分为两大类:一类是功能简单、价格低廉的传统电子秤,仅能实现基本称重和显示功能;另一类是面向商业应用的高端智能电子秤,虽然功能丰富但价格昂贵,且系统复杂度高,不适合普通用户使用。

1.2设计意义

        本课题研发的智能电子秤系统,在技术创新层面具有多重突破价值。以 STM32F103C8T6 为核心的主控方案,充分发挥其高性能处理能力与丰富外设资源,为系统的多功能集成奠定硬件基础。HX711 称重模块与主控芯片的协同设计,通过高精度 A/D 转换与数字化信号传输,将称重误差控制在更细微的范围内,推动电子秤从 “粗略计量” 向 “精准感知” 升级。蓝牙模块与手机 APP 的联动机制,打破了传统电子秤的信息孤岛状态,构建起 “设备 - 终端 - 用户” 的实时交互链路,为计量设备的物联网化改造提供了可复制的技术范式。这种 “硬件模块化 + 软件智能化” 的设计思路,也为嵌入式系统在计量领域的应用积累了实践经验,有助于推动相关技术的标准化与产业化。​

二、实物效果展示

2.1实物图片

2.2实物演示视频

【开源】基于STM32的智能电子秤

三、硬件功能简介

3.1项目功能详解

1)液晶显示屏幕显示当前的重量
2)按键可以设置当前物品的单价
3)具有去皮清零的功能
4)按键确认显示当前的重量、单价、总价
5)称重的重量发送蓝牙App显示

3.2元器件清单

  1. 主控STM32F103C8T6最小系统板
  2. 0.96OLED显示屏幕
  3. HX711称重模块
  4. JDY31-SPP蓝牙模块
  5. 矩阵按键

四、主框图与软件流程图

主框图

流程图

五、硬件PCB展示

六、软件程序设计

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "Timer.h"
#include "OLED.h"
#include "BEEP.h"
#include "KEY.h"
#include "Weight.h"uint8_t TIM2_Flag = 0;//定时器2中断标志uint8_t keynum; //按键
float Pi_weight;
float Weight;
float weight_err;
char price[7];
float single_price;
float total_price;
uint8_t  decimal;//小数位void show_init();
void set_price();//设置单价void main_Init(void);
void main_loop(void);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();}}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);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();
}

七、项目资料包内容

         资料获取:查看主页介绍“充哥单片机设计”

http://www.dtcms.com/a/438241.html

相关文章:

  • 网站建设专用图形库西安网站快速排名提升
  • 红色php企业网站模板下载wordpress slider设置
  • Starting again-02
  • 【IMX6ULL驱动学习】PWM驱动
  • 智能向善” 核心,解析技术发展中的红利与风险平衡
  • 品牌 RWA 化构建白皮书
  • 个人数据泄露有哪些法律与安全风险?
  • 学习Java第二十九天——黑马点评33~36
  • 常见端口安全弱点汇总表
  • 抓取网站访问量小程序登录网址
  • LNMP 环境部署 WordPress
  • 从域名到网站建设完成的流程连云港做网站哪家好
  • 企业后端多节点部署实现大文件分片与断点上传
  • 算法入门:专题攻克主题一---双指针
  • 长春市城建网站网站建设相关问题
  • 设计模式(C++)详解——状态模式(State)(1)
  • 【计算机组成原理】深入浅出ASCII码:从历史起源到现代应用的全方位解析
  • [USACO11NOV] Cow Lineup S(黄)
  • 安卓开发学习
  • 全人源抗体制备的 “动物工厂”:转基因与嵌合小鼠技术如何突破免疫原性瓶颈?
  • 郑州网站建设报价电子商务的网站建设要求步骤
  • 做前端网站用什么软件写代码吗如何链接自己做的网站
  • 高阳网站建设网站头部通用代码
  • Ubuntu中安装Viper炫彩蛇教程(亲测可用)
  • 欢迎来到量化实战
  • 网站如何增加百度权重的方法亚马逊官网中国网页版
  • DOM 遍历
  • 《C++ STL:vector类(上)》:详解基础使用核心接口及经典算法题
  • osg中相机矩阵到vsg相机矩阵的转换
  • 怎么给网站做seo上海中风险地区什么时候能解除