找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Arduino單片機10KG電子秤程序+HX711庫+OLED12864庫

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:745973 發(fā)表于 2021-2-28 22:51 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
Arduino單片機10KG電子秤,一個小白,為了給小烏龜稱重量,在各種網(wǎng)站東拼西湊,總算做好了。
臨時添加了dht11溫濕度模塊。


程序:
#include <HX711.h>
#include "U8glib.h"
#include <dht11.h>

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
int Weight = 0;
char str[4];  //定義重量值存儲數(shù)組,5位,其中4位為數(shù)字,1位為小數(shù)點
int temp = 0;  //定義重量值中間變量,,用于將獲取的float型重量值轉(zhuǎn)變?yōu)閡nsigned char數(shù)組

dht11 DHT11;
#define DHT11PIN 2

void draw(void)
{
  u8g.setFont(u8g_font_8x13); //使用8x13大小的字符
  u8g.setPrintPos(23, 10); // 對應(yīng) x,y 軸值
  u8g.print("H:");
  u8g.setPrintPos(54, 10);
  u8g.print(DHT11.humidity);
  u8g.setPrintPos(93, 10);
  u8g.print("%");

  u8g.setPrintPos(23, 26);
  u8g.print("T:");
  u8g.setPrintPos(54, 26);
  u8g.print(DHT11.temperature);
  u8g.setPrintPos(93, 26);
  u8g.print("C");

  u8g.setPrintPos(23, 50);
  u8g.print("W:");
  u8g.setPrintPos(50, 50);
  u8g.print(Weight);
  u8g.setPrintPos(93, 50);
  u8g.print("g");   
}

void setup()
{
Serial.begin(9600);

Serial.println("DHT11 TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();


Init_Hx711();//初始化HX711模塊連接的IO設(shè)置
Get_Maopi(); //獲取毛皮
delay(400);
Get_Maopi(); //獲取毛皮
}

void loop(){

  int chk = DHT11.read(DHT11PIN);
  Serial.print("Read sensor: ");
  switch (chk)
  {
    case DHTLIB_OK:
      Serial.println("OK");
      break;
    case DHTLIB_ERROR_CHECKSUM:
      Serial.println("Checksum error");
      break;
    case DHTLIB_ERROR_TIMEOUT:
      Serial.println("Time out error");
      break;
    default:
      Serial.println("Unknown error");
      break;
  }

    Weight=Get_Weight();//計算放在傳感器上的重物重量
    temp=Get_Weight();
    if(temp<0){temp =0;}
    dtostrf(temp,4,0,str);

//    Serial.print("Humidity (%): ");
//    Serial.println((float)DHT11.humidity, 1);
//    Serial.print("Temperature (oC): ");
//    Serial.println((float)DHT11.temperature, 1);
//    Serial.print("W="); //串口顯示重量
//    Serial.print(Weight);        //串口顯示重量
//    Serial.print(" g");        //顯示單位
    delay(400);

u8g.firstPage();
  do
  {
    draw();
  }
  while ( u8g.nextPage() );
}


根據(jù)實際情況修改,不用dth11模塊也可以。
Dht11.zip (1.6 KB, 下載次數(shù): 43)

OLED.zip (278.17 KB, 下載次數(shù): 43)

HX711.zip (1.22 KB, 下載次數(shù): 56)

Arduino單片機10KG電子秤程序.zip (1.56 KB, 下載次數(shù): 53)

評分

參與人數(shù) 1黑幣 +70 收起 理由
admin + 70 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1007434 發(fā)表于 2023-4-24 00:30 來自手機 | 只看該作者
謝謝你發(fā)的HX711
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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