一、主要功能

打开串口调试助手,波特率设置为115200,系统运行后,蜂鸣器滴一声表示去皮完成,同时串口助手会显示传感器检测实时重量,若重量超过2000g,蜂鸣器报警。当按下KEY1键,物品稳定重量会显示在串口助手上。

二、硬件资源

1、STM32开发板一个(本人使用为STM32407)

2、HX711称重模块一个

3、USB线一条

4、杜邦线

三、硬件连接

蜂鸣器模块-->单片机IOBEEP-->PF8按键模块-->单片机IOKEY0-->PA0KEY1-->PE2KEY2-->PE3KEY3-->PE4HX711称重模块(5KG)-->单片机IODOUT-->PB10(USART3_TX)SCK-->PB11(USART3_RX)VCC-->5VGND-->GND

(经测试,选用供电电压3.3V结果会不稳定,故采用5V供电。)

四、软件设计

1、主要框架

2、主要代码

//主函数程序#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "usart.h"
#include "hx711.h"
#include "beep.h"
#include "key.h"int main()
{ u8 res=0;u8 key=0;SysTick_Init(168);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中断优先级分组,分2组USART1_Init(115200);//波特率设置为115200LED_Init();//LED初始化BEEP_Init();//蜂鸣器初始化KEY_Init();//按键初始化hx711_init();//HX711模块初始化get_plet();//获取毛皮重量BEEP=1;delay_ms(1000);get_plet();//延时1s,再一次获取毛皮重量BEEP=0;while(1){LED1=!LED1;//LED1灯在正常运行中不断闪烁res=get_suttle();//获取净重if(res==0){printf("实时检测重量:%d克\r\n",hx_str.suttle);if(hx_str.suttle>2000)BEEP=1;elseBEEP=0;}}delay_ms(300);key=KEY_Scan(0);if(key==KEY2_PRESS){printf("物品检测重量:%d克\r\n",hx_str.suttle);}}
//hx711部分程序
u32 hx711_read(void)
{u32 count; u8 i; HX711_DOUT=1; delay_us(10);HX711_SCK=0; count=0;while(HX711_DOUT); for(i=0;i<24;i++){ HX711_SCK=1; count=count<<1; delay_us(10);HX711_SCK=0; if(HX711_DOUT)count++;delay_us(10);} HX711_SCK=1; count=count^0x800000;//  第25个下降沿来时,转换数据delay_us(10);HX711_SCK=0;  return(count);
}//获取毛皮重量
void get_plet(void)
{hx_str.plet=hx711_read();
}//正常返回0,负重返回2,超重返回1
u8 get_suttle(void)
{hx_str.suttle=hx711_read();if(hx_str.suttle>hx_str.plet){hx_str.suttle=hx_str.suttle-hx_str.plet;//进行去皮if(hx_str.suttle>0){hx_str.suttle=hx_str.suttle/GapValue;//转换为实际重量,此处GapValue设置为400if(hx_str.suttle>5000)//如果超过HX711最大5kg量程return 1;elsereturn 0;}else   return 2;}return 1;
}

五、实验现象

如需更多帮助,请私信作者。

基于STM32的HX711模块的电子秤设计相关推荐

  1. a4988 脉宽要求_基于STM32的微型步进电机驱动控制器设计

    基于STM32的微型步进电机驱动控制器设计 摘 要: 设计了一种微型步进电机驱动控制器,通过上位机界面修改步进电机转速.旋转角度.细分系数.该设计以STM32F103T8U6作为主控制器,以A4988 ...

  2. 基于STM32的ESP8266模块控制多路继电器

    基于STM32的ESP8266模块控制多路继电器 1.视频讲解 基于STM32单片机ESP8266物联网阿里云MQTT多路继电器控制 物联网视频教程STM32+ESP8266 2.实物设计 ESP82 ...

  3. 基于STM32与红外感应开关的自动门设计与实现(结构+设计)

    基于STM32与红外感应开关的自动门设计与实现 采用STM32作为主控,设计了自动和手动开门装置,MLX90614作为设计测温装置. 前言说明 元器件清单说明 STM32F103C8T6系统板 微型滑 ...

  4. 基于STM32的电子琴音乐播放器设计

    基于STM32的电子琴/音乐播放器设计 文章目录 基于STM32的电子琴/音乐播放器设计 @[toc] 引言 第一章 总体设计 1.1 系统功能 1.2 主要技术性能指标 第二章 系统设计 2.1 系 ...

  5. 毕业设计 —— 基于STM32手势控制显示系统的设计

    目录 一.前言 二.项目背景及资源分享 三.项目简介 1.项目名称 2.系统框架 3.功能简介 4.控制核心 5.最小系统: 6.外围模块: 四.相关设计原理及框图 1.系统设计的原理 2.手势识别原 ...

  6. 基于STM32的指纹识别智能锁设计

    本设计是基于stm32的指纹识别智能锁设计,主要实现以下功能: 1,OLED显示输入锁的状态,解锁状态,开锁成功,开锁失败,确定,清除 2,通过矩阵键盘输入开门密码.修改密码.确认密码等操作: 3,可 ...

  7. 基于 STM32 的新型激光测距控制系统的设计

    基于 STM32 的新型激光测距控制系统的设计 基于 STM32 的新型激光测距控制系统的设计 闵小 (陕西理工大学(物理与电信工程学院)电子专业1502班,陕西 汉中 723003) 指导老师:韩团 ...

  8. 基于STM32的智能手环系统的设计

    STM32系列 基于STM32的智能手环系统的设计 STM32系列 前言 一.系统方案的设计 1.1系统功能分析 1.2系统总体结构 二.硬件电路的搭建 2.1STM32最小系统组成部分 2.2S硬件 ...

  9. 基于STM32与GSM模块发送中英文短信

    基于STM32与GSM模块发送中英文短信 最近在做毕业设计有用到GSM模块进行短信报警,模块的功能比较多这里就不介绍了,一般的拨打电话都很简单就只需要一条指令即可,发送英文短信也很简单也只要几条命令也 ...

最新文章

  1. mysql 自动管理内存_MySQL内存管理,内存分配器和操作系统
  2. 4 信道编码之循环码
  3. navicat 导入csv未响应_使用navicat将csv文件导入mysql
  4. §3—2 借贷记账法
  5. 《Haskell趣学指南》—— 第2章,第2.3节类型变量
  6. mysql编译卡主_mysql 编译安装以及主从设定
  7. 【LCT】大融合(luogu 4219)
  8. Unity3D-RayMarch-几何图元1-添加基本着色模型
  9. Oracle递归查询,Oracle START WITH……CONNECT BY查询
  10. python开发app教程_超简单app制作教程,颠覆行业的开发模式来啦
  11. activemq_CVE-2015-5254_漏洞复现_源码分析
  12. 如何干掉腾讯网迷你版
  13. Linux学习简单教程和常用命令(小白学习法)
  14. rstudio中读取数据_用RStudio导入数据
  15. Unity制作RPG游戏——补充
  16. Excel表格中,删除列或行的快捷键是什么
  17. 1,515美元的价格可让您驾驭野兽式机械套装
  18. 诺禾-实验技巧之WB篇
  19. 存储技术和灾备解决方案要点
  20. 产品方法论—如何竞品分析

热门文章

  1. 深圳IT培训机构,曝光
  2. 【天光学术】会计论文:S 快递企业借壳上市动因及效益分析(节选)
  3. SIwave学习记录:电热耦合仿真
  4. 检验仪器与计算机接口通信,检验仪器与计算机接口技术.ppt
  5. 网络协议-HTTPS(笔记)
  6. office365打开服务器文件出错,新安装的Office 365,打开Excel文件时出错,停止工作...
  7. 数字标牌视频直播系统的应用前景
  8. 资深建模大师所涉及的必备软件你知道哪些?
  9. Eclipse配置Tomcat超级基础教程
  10. SD-WAN怎么样优化广域网?