android 连接蓝牙电子秤_蓝牙电子秤制作资料 带安卓app与单片机源码及原理图

该博客介绍了如何使用单片机和Android应用进行蓝牙电子秤的连接与数据交互。通过提供的代码,展示了如何读取和处理称重数据,并实现了超重报警功能。内容包括主函数、重量获取、按键扫描等关键步骤,适用于电子秤的DIY爱好者和开发者。

/**********************************************************************

***********************************************************************/

#include "main.h"

#include "HX711.h"

#include "uart.h"

#include "LCD1602.h"

#include

#define uchar unsigned char  //无符号字符型 宏定义        变量范围0~255

#define uint  unsigned int         //无符号整型 宏定义        变量范围0~65535

unsigned long HX711_Buffer = 0;

unsigned long Weight_Maopi = 0;

long Weight_Shiwu = 0;

unsigned char flag = 0;

bit Flag_ERROR = 0;

sbit beep= P1^7;

#define GapValue 405

//****************************************************

//主函数

//****************************************************

void main()

{

Uart_Init();

Init_LCD1602();

LCD1602_write_com(0x80);

LCD1602_write_word("Welcome to use!");

Delay_ms(1000);                 //延时,等待传感器稳定

Get_Maopi();                                //称毛皮重量

while(1)

{

EA = 0;

Get_Weight();                        //称重

EA = 1;

Scan_Key();

//显示当前重量

if( Flag_ERROR == 1)

{

LCD1602_write_com(0x80+0x40);

LCD1602_write_word("ERROR ");

beep=0;

}

else

{

beep=1;

Send_ASCII(0x82);

Send_ASCII(0x4);

Send_ASCII(Weight_Shiwu >> 8);

Send_ASCII(Weight_Shiwu);

LCD1602_write_com(0x80+0x40);

LCD1602_write_data(Weight_Shiwu/1000 + 0X30);

LCD1602_write_data(Weight_Shiwu%1000/100 + 0X30);

LCD1602_write_data(Weight_Shiwu%100/10 + 0X30);

LCD1602_write_data(Weight_Shiwu%10 + 0X30);

LCD1602_write_word(" g");

}

}

}

//扫描按键

void Scan_Key()

{

if(KEY1 == 0)

{

Delay_ms(5);

if(KEY1 == 0)

{

while(KEY1 == 0);

Get_Maopi();                        //去皮

}

}

}

//****************************************************

//称重

//****************************************************

void Get_Weight()

{

Weight_Shiwu = HX711_Read();

Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //获取净重

if(Weight_Shiwu > 0)

{

Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue);         //计算实物的实际重量

if(Weight_Shiwu > 5000)                //超重报警

{

Flag_ERROR = 1;

Send_ASCII(0x82);

Send_ASCII(0x4);

Send_ASCII(5000 >> 8);

}

else

{

Flag_ERROR = 0;

}

}

else

{

Weight_Shiwu = 0;

Send_ASCII(0x82);

Send_ASCII(0x4);

Send_ASCII(0 >> 8);

}

}

……………………

…………限于本文篇幅 余下代码请从51黑下载附件…………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值