stm32+hx711+蓝牙hc05 称重系统(蓝牙电子秤)

article/2025/10/30 12:15:17

stm32+称重模块hx711+蓝牙模块hc05

本项目使用主控stm32f103c8t6,称重模块hx711,蓝牙模块hc05上传至手机app/电脑app显示数值
在这里插入图片描述

模块

1、stm32f103c8t6最小系统板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、hx711

HX711 模块 A 通道带有 128 倍信号增益,可以将 5mV 的电压放大 128 倍,然后采样输
出 24bit AD 转换的值,单片机通过指定时序将 24bit 数据读出
在这里插入图片描述

3、蓝牙模块hc05
HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。
因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。

HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。
当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;
当模块处于命令响应工作模式时能执行AT命令,用户可向模块发送各种AT 指令,为模块设定控制参数或发布控制命令。
在这里插入图片描述
在这里插入图片描述

过程

1、首先蓝牙模块hc05与串口模块连接
在这里插入图片描述
注意,蓝牙模块的vcc千万不能接3.3v会烧坏芯片

在这里插入图片描述
蓝牙模块tx 接 串口模块rx
蓝牙模块rx 接 串口模块tx
蓝牙模块vcc 接 串口模块5v
蓝牙模块gnd 接 串口模块gnd

然后按住蓝牙模块上的小按钮,上电,
观察蓝牙模块上的小灯是否是一秒闪一秒灭,如果是,就是进入at模式

正常的蓝牙模式是灯快闪

打开串口工具,设置好参数,尤其是波特率38400
在这里插入图片描述
发送AT进行测试,是否返回OK
在这里插入图片描述
在这里插入图片描述

所以接下来的设置步骤
AT
AT+ROLE=0 //设置为被动连接
AT+NAME=XXX //设置名字
AT+UART=115200,0,0 //设置蓝牙波特率
AT+PSWD=1234 //设置密码
这样就差不多了
然后用重新上电,手机蓝牙打开搜索
然后打开手机蓝牙APP
在这里插入图片描述
电脑串口助手发送字符串
在这里插入图片描述
手机app接收到字符串

蓝牙部分就这样差不多了

2、stm32+hx711

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按如图所示,接到hx711模块上
在这里插入图片描述
然后另一边的vcc接单片机的3.3v,gnd接gnd
还有一个DT和SCK又自己配置引脚使用

void Init_HX711pin(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	 //使能PF端口时钟//HX711_SCKGPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;				 // 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHzGPIO_Init(GPIOB, &GPIO_InitStructure);					 //根据设定参数初始化GPIOB//HX711_DOUTGPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//输入上拉GPIO_Init(GPIOB, &GPIO_InitStructure);  GPIO_SetBits(GPIOB,GPIO_Pin_0);					//初始化设置为0
}

然后就是hx711的处理过程函数了

//****************************************************
//读取HX711
//****************************************************
u32 HX711_Read(void)	//增益128
{unsigned long count; unsigned char i; HX711_DOUT=1; delay_us(1);HX711_SCK=0; count=0; while(HX711_DOUT); for(i=0;i<24;i++){ HX711_SCK=1; count=count<<1; delay_us(1);HX711_SCK=0; if(HX711_DOUT)count++; delay_us(1);} HX711_SCK=1; count=count^0x800000;//第25个脉冲下降沿来时,转换数据delay_us(1);HX711_SCK=0;  return(count);
}//****************************************************
//获取毛皮重量
//****************************************************
void Get_Maopi(void)
{Weight_Maopi = HX711_Read();	
} //****************************************************
//称重
//****************************************************
void Get_Weight(void)
{HX711_Buffer = HX711_Read();if(HX711_Buffer > Weight_Maopi)			{Weight_Shiwu = HX711_Buffer;Weight_Shiwu = Weight_Shiwu - Weight_Maopi;				//获取实物的AD采样数值。Weight_Shiwu = (s32)((float)Weight_Shiwu/GapValue); 	//计算实物的实际重量//因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的GapValue这个除数。//当发现测试出来的重量偏大时,增加该数值。//如果测试出来的重量偏小时,减小改数值。}
}

3、把蓝牙模块接上单片机,并使用手机APP连接连接,这样就能实现把称重模块的重量通过蓝牙发送到手机端了,当然,也可以发送到电脑端

在这里插入图片描述

项目代码请点击下载


http://chatgpt.dhexx.cn/article/n0d3VpAN.shtml

相关文章

蓝牙模块HC05遇到的一些常见的问题

调模块总是让人很头疼&#xff0c;有时候遇到一些其实很简单的问题也找不到原因&#xff0c;着实难受。这里写一点我在配置HC05遇到的一些常见的问题和对一些问题的理解。 如果你觉得对你有帮助&#xff0c;希望点个赞再走&#xff0c;如果按照本文没解决你的问题&#xff0c;下…

51单片机蓝牙模块(HC05)运行原理

51单片机蓝牙模块&#xff08;HC05&#xff09;及其运行原理 目录 51单片机蓝牙模块&#xff08;HC05&#xff09;及其运行原理一、测试蓝牙模块二、配置蓝牙模块三、烧写程序四、测试参考博文 一、测试蓝牙模块 在所有工作进行之前首先看一看自己的蓝牙模块是否是正常的&…

HC-05的使用-详细

蓝牙转串口模块HC-05模块使用记录 最近在弄一个需要无线传输数据的项目&#xff0c;虽然以前也接触过HC-05这个模块&#xff0c;但是始终只是知道简单的使用&#xff0c;借这个机会更加深入的学习一下这个模块。 初识HC-05 BLK-MD-HC-05蓝牙模块是专为智能无线数据传输而打造…

STM32系列——手把手教你蓝牙模块HC05、HC06的使用,重在“用起来”(HAL库)

前言 不论是HC05还是HC06&#xff0c;我们用到的都是蓝牙模块的透传功能&#xff0c;只需要用到4个引脚&#xff1a;RXD、TXD、VCC&#xff08;5V&#xff09;、GND。 HC-05的使用 1、HC-05有6个引脚&#xff0c;但是我们只用到4个。 2、HC-05正面有一个按键。与HC-06的区别是&…

基于 OSGi的企业级开发框架实践——认识OSGi和SpringDM

一. OSGi基础 1. 什么是OSGi OSGi——Open Service Gateway Initiative&#xff0c;最初的目的是为各种嵌入式设备提供通用的软件运行平台。后来经过10年的发展和壮大&#xff0c;OSGi已经不只是在嵌入式设备中应用&#xff0c;而是被推广到各种其他的应用领域&#xff0c;比如…

Kotlin + Spring Boot: 下一代企业级开发

Kotlin Spring Boot: 下一代企业级开发 前端 React UXCore &#xff08;使用 nowa&#xff09;学习 Jietu20171210-022532.jpg Jietu20171210-022551.jpg image.png 工程源代码&#xff1a;https://github.com/KotlinSpringBoot/wekool

《Qt 企业级开发》

作者&#xff1a; 一去、二三里 个人微信号&#xff1a; iwaleon 微信公众号&#xff1a; 高效程序员 《Qt 企业级开发》 是亮哥专门打造的一个 Qt 终极篇 专栏&#xff0c;主要面向企业级一站式开发&#xff0c;包括&#xff1a;模块化开发、日志输出、打包发布、单元测试、自…

BladeX企业级开发平台商业版源码,BladeXAvue联合版

BladeX企业级开发平台 BladeX是一款精心设计的微服务架构&#xff0c;提供 SpringCloud 全套解决方案 开源中国首批完美集成 SpringCloud Alibaba 系列组件的微服务架构 基于稳定生产的商业项目升级优化而来&#xff0c;更加贴近企业级的需求 追求企业开发更加高效&#xff0c…

JAVA企业级开发技术

传统框架 SpringMVC(表现层)Struts2(表现层)Mybatis(数据层)Hibernate(数据层)SpringData Jpa(数据层) 开发中比较常见的组合: SSM : Spring-SpringMVC-MybaitsSSH :Spring-Struts2-hibernate 2017年热门开发框架 Springboot快捷开发,封装牛逼,简单入门 SpringCloud 通过Spr…

Spring Boot 企业级开发课后题答案

Spring Boot 企业级开发课后题答案 黑马程序员 加粗字体为答案 转发请注明出处【感谢】 第一章 1.1 填空题 Pivotal 团队在原有 spring 框架的基础上开发了全新的Spring Boot框架。Spring Boot框架在开发过程中大量使用 约定优先配置 的思想来摆脱框架中各种复杂的手动配置。…

SpringBoot企业级开发

根据书籍《SpringBoot企业级开发教程》梳理SpringBoot开发框架&#xff0c;代码在本人Mac运行通过&#xff0c;IDE是IntelliJ。 SpringBoot知识图谱&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1CXMCMBimTPk8kUYir4JETg 提取码&#xff1a;bnpb 部分截图&#…

企业级应用开发(SSM) Spring

目录 一&#xff1a;引言 1.1企业级系统&#xff1a; 1.2那么如何去应对企业级应用开发 1.3 Spring的绿草丛 二&#xff1a;Spring的绿草丛 2.1 Spring 介绍 2.2 Spring两大核心技术 a.控制反转&#xff08;IoC(Inversion of Control) / 依赖注入&#xff08;DI)&#xf…

2019泰迪杯C题案例分析-python大数据自动化数据挖掘

第七届“泰迪杯”数据挖掘挑战赛——C 题&#xff1a;运输车辆安全驾驶行为的分析 一、问题背景二、研究问题三、分析问题excel的批量处理时间、速度、方向角的处理经纬度的处理大数据处理的优化 一、问题背景 车联网是指借助装载在车辆上的电子标签通过无线射频等识别技术&am…

利用SPSS Modeler进行数据挖掘——探究不同程序语言的就业情况

欢迎加入程序员QQ交流群&#xff5e;&#xff5e;&#xff1a;859022876 程序员 本次SPSS Modeler项目实战&#xff0c;是我个人课余做的一个简单案例&#xff0c;因为本人也是互联网大家庭中的一员&#xff0c;因此最关心的必定是程序语言的未来走势和就业情况&#xff0c;于是…

数据挖掘实战—餐饮行业的数据挖掘之数据探索(EDA)

文章目录 引言一、前期准备1.目标定义与任务理解 二、数据采集与抽样三、数据探索1.数据质量分析1.1缺失值分析1.1.1缺失值可视化1.1.2描述性统计1.1.3统计缺失数与缺失率 1.2异常值分析1.2.1 3σ原则1.2.2箱型图分析 1.3一致性分析1.4重复数据处理 2.数据特征分析2.1分布分析2…

数据挖掘实战—餐饮行业的数据挖掘之数据预处理

文章目录 引言一、数据清洗1.缺失值处理1.1 拉格朗日插值法1.2牛顿差值法 2.异常值的处理 二、数据集成1.实体识别2.冗余属性识别3.数据变换3.1 简单函数变换3.2 规范化3.2.1 最小-最大规范化3.2.2 零-均值规范化&#xff08;标准化&#xff09;3.2.3 小数定标规范化 3.3 连续属…

数据挖掘案例:建立客户流失模型

随着市场竞争的加剧&#xff0c;中国电信面临的压力越来越大&#xff0c;客户流失也日益增大。从统计数据看&#xff0c;今年固话小灵通的销户数已经超过了开户数。面对如此严峻的市场形式&#xff0c;当务之急就是要尽全力减少客户的流失。因此&#xff0c;利用数据挖掘方法&a…

数据挖掘实战案例——客户细分

我们首先来看看原始数据 具体代码与原始数据可以在我的GitHub中git clone一下学习 代码与数据github地址 共26663条数据 此次分析是想对根据客户的购买情况对客户进行细分 分析用户的购买消费行为 首先读取csv import pandas as pd #import numpy as np trad_flow pd.read_…

浅谈数据挖掘

一、数据挖掘起源 人们迫切希望能对海量数据进行深入分析&#xff0c;发现并提取隐藏在其中的信息&#xff0c;以更好地利用这些数据。但仅以数据库系统的录入、查询、统计等功能&#xff0c;无法发现数据中存在的关系和规则&#xff0c;无法根据现有的数据预测未来的发展趋势…

Python数据分析挖掘案例:Python爬虫助力疫情数据追踪

通过学习Python数据分析挖掘案例&#xff0c;可以掌握通过Python爬虫获取的数据进行处理以及可视化分析的主要方法和技能&#xff0c;并为后续相关课程学习及将来从事数据分析工作奠定基础。 新冠病毒疫情在武汉突然爆发&#xff0c;确诊病例、疑似病例、死亡病例等数据牵动着每…