1100074-基于STM32的电子称体重秤HX711去皮proteus惠斯通电桥小数点
功能描述:
基于STM32f103c8的电子称体重秤HX711去皮proteus惠斯通电桥小数点
实现原理:在proteus中使用惠斯通电桥模拟真实的物理称重传感器,通过HX711高精度体重传感器检测数据,通过STM32单片机处理数据。可以实现商品单价输入,计算商品总价。监测设备的工作温度,保证设备的运行精确度。可实现去皮的功能。
1、商品的重量监测
2、商品的价格输入
3、商品的总价计算
4、商品去皮
5、设备超负荷报警
6、控制键盘可输入0-9,小数点、确认、退格、清除、去皮的4*4矩阵键盘。
有哪些资料:
1、仿真工程文件
2、源代码工程文件
3、原理图工程
#include "systick_delay.h"
#include "key.h"
#include "lcd1602.h"
#include "Price.h"
#include "HX711.h"
#include "led.h"
/* Global Variable全局变量 -----------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------*/
/**
* @brief main主函数
**/
int main(void)
{
int32_t Temp_Weight = 0;//临时保存物品重量
HX711_Init();//HX711初始化
KEY_Init();//按键初始化函数
LCD1602_Init();//LCD1602初始化
LED_Init();//LED初始化函数
while(1)
{
Get_Input_Price_And_Calculate();//获取按键输入的价格并计算总的价格
if(Tare_Key_Flag == 1)//去皮按键被按下标志位为1,显示去皮重量后的净重
{
Temp_Weight = HX711_Convert();//HX711进行转换
Temp_Weight = Temp_Weight - Tare_Weight;//当前总重量减去皮重才是要计算的重量
if(Temp_Weight <= 0)//如果小于等于0
{
Temp_Weight = 0;//如果小于等于0,强制置数为0即净重为0,为什么要这样,因为在仿真时,如果一直减小重量,减小到HX711的值比皮重还小。
}
sprintf((char *)Temp_Strings, "%5.1fKg", (float)((Temp_Weight)/36059.19));//将公式计算结果以指定格式变成字符串保存到Temp_Strings中
LCD1602_Display_String(1, 10, Temp_Strings);//在LCD1602的第1行的第10列开始显示字符串
}