找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3802|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)藍(lán)牙電子秤程序設(shè)計(jì) 包含原理圖手機(jī)APP

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
制作出來(lái)的實(shí)物圖如下:

如圖所示


電路原理圖如下:

元件清單:
            
電源電路            
電源DC端子    J1    1套   
開(kāi)關(guān)    S1    1個(gè)   
指示燈    D1    1個(gè)   
電阻1K    R2    1個(gè)   
            
            
單片機(jī)最小系統(tǒng)            
IC座子40P    U1    1個(gè)   
單片機(jī)    U1    1個(gè)   
晶振11.0592M    Y1    1個(gè)   
獨(dú)石電容22P    C1、C2    2個(gè)    元件上標(biāo):220
按鍵    K0 、K1    2個(gè)   
電解電容    C3    1個(gè)   
電阻 10K    R1    1個(gè)   
            
蜂嚀器電路            
蜂嚀器    B1    1個(gè)   
三極管S8550    Q1    1個(gè)   
電阻1K    R3    1個(gè)   
            
藍(lán)牙電路            
藍(lán)牙模塊    U3    1個(gè)   
4P排座        1個(gè)    插藍(lán)牙模塊
            
液晶電路            
16P排座    LCD1    1個(gè)   
液晶1602    LCD1    1個(gè)   
電位器 10K    W1    1個(gè)    高檔電位器
            
壓力傳感器電路            
壓力傳感器(套裝)    U2    1個(gè)   
4P杜邦線        1條   
            
主板            
萬(wàn)能板    7cm*9cm    1張   



單片機(jī)源程序如下:
  1. #include "main.h"
  2. #include "HX711.h"
  3. #include "uart.h"
  4. #include "LCD1602.h"
  5. #include <intrins.h>
  6. #define uchar unsigned char  //無(wú)符號(hào)字符型 宏定義        變量范圍0~255
  7. #define uint  unsigned int         //無(wú)符號(hào)整型 宏定義        變量范圍0~65535

  8. unsigned long HX711_Buffer = 0;
  9. unsigned long Weight_Maopi = 0;
  10. long Weight_Shiwu = 0;

  11. unsigned char flag = 0;
  12. bit Flag_ERROR = 0;
  13. sbit beep= P1^7;

  14. #define GapValue 405



  15. //****************************************************
  16. //主函數(shù)
  17. //****************************************************
  18. void main()
  19. {
  20.     Uart_Init();
  21.   
  22.         Init_LCD1602();
  23.         LCD1602_write_com(0x80);
  24.         LCD1602_write_word("Welcome to use!");
  25.         Delay_ms(1000);                 //延時(shí),等待傳感器穩(wěn)定

  26.         Get_Maopi();                                //稱毛皮重量
  27.        
  28.         while(1)
  29.         {
  30.                 EA = 0;
  31.                 Get_Weight();                        //稱重
  32.                 EA = 1;

  33.                 Scan_Key();

  34.                 //顯示當(dāng)前重量
  35.                 if( Flag_ERROR == 1)
  36.                 {
  37.          
  38.                        

  39.                         LCD1602_write_com(0x80+0x40);
  40.                         LCD1602_write_word("ERROR ");
  41.                         beep=0;
  42.                 }               
  43.                 else
  44.                 {         
  45.                         beep=1;
  46.             Send_ASCII(0x82);
  47.             Send_ASCII(0x4);
  48.             Send_ASCII(Weight_Shiwu >> 8);
  49.             Send_ASCII(Weight_Shiwu);
  50.                        


  51.                         LCD1602_write_com(0x80+0x40);
  52.                         LCD1602_write_data(Weight_Shiwu/1000 + 0X30);
  53.             LCD1602_write_data(Weight_Shiwu%1000/100 + 0X30);
  54.             LCD1602_write_data(Weight_Shiwu%100/10 + 0X30);
  55.             LCD1602_write_data(Weight_Shiwu%10 + 0X30);
  56.                         LCD1602_write_word(" g");



  57.                 }

  58.        

  59.                
  60.         }
  61. }

  62. //掃描按鍵
  63. void Scan_Key()
  64. {
  65.         if(KEY1 == 0)
  66.         {
  67.                 Delay_ms(5);
  68.                 if(KEY1 == 0)
  69.                 {
  70.                         while(KEY1 == 0);
  71.                         Get_Maopi();                        //去皮
  72.                 }       
  73.         }
  74. }

  75. //****************************************************
  76. //稱重
  77. //****************************************************
  78. void Get_Weight()
  79. {
  80.         Weight_Shiwu = HX711_Read();
  81.         Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //獲取凈重
  82.         if(Weight_Shiwu > 0)                       
  83.         {       
  84.                 Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/GapValue);         //計(jì)算實(shí)物的實(shí)際重量
  85.                                                                                                                                                
  86.                                                                                                                                                
  87.                 if(Weight_Shiwu > 5000)                //超重報(bào)警
  88.                 {
  89.                         Flag_ERROR = 1;       
  90.                         Send_ASCII(0x82);
  91.       Send_ASCII(0x4);
  92.       Send_ASCII(5000 >> 8);

  93.                 }
  94.                 else
  95.                 {
  96.                         Flag_ERROR = 0;
  97.                 }
  98.         }
  99.         else
  100.         {
  101.                 Weight_Shiwu = 0;
  102.     Send_ASCII(0x82);
  103.     Send_ASCII(0x4);
  104.     Send_ASCII(0 >> 8);


  105.         }
  106.        
  107. }

  108. //****************************************************
  109. //獲取毛皮重量
  110. //****************************************************
  111. void Get_Maopi()
  112. {
  113.         Weight_Maopi = HX711_Read();       
  114. }

  115. //****************************************************
  116. //MS延時(shí)函數(shù)(12M晶振下測(cè)試)
  117. //****************************************************
  118. void Delay_ms(unsigned int n)
  119. {
  120.         unsigned int  i,j;
  121.         for(i=0;i<n;i++)
  122.                 for(j=0;j<123;j++);
  123. }
復(fù)制代碼

Keil代碼下載+app(無(wú)代碼)下載:
藍(lán)牙電子稱.7z (3.17 MB, 下載次數(shù): 168)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1050979 發(fā)表于 2022-11-8 10:54 | 只看該作者
nice實(shí)用
回復(fù)

使用道具 舉報(bào)

板凳
ID:499081 發(fā)表于 2022-11-22 22:43 來(lái)自手機(jī) | 只看該作者
壓力傳感器用多少kg的合適
回復(fù)

使用道具 舉報(bào)

地板
ID:849017 發(fā)表于 2023-3-3 11:03 | 只看該作者
求app制作的教程哇
回復(fù)

使用道具 舉報(bào)

5#
ID:477512 發(fā)表于 2023-12-31 09:00 | 只看該作者
傳感器用哪種規(guī)格?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表