要做一個Arduino的電子秤,需要幾個主要的零件:HX711重量感測模組、荷重元(Load Cell),當然還要一塊Arduino,以及顯示重量的LCD。這個例子我們從校正開始,到讓重量出現在LCD上,只要一步步來,並不難的。

前往完整電子秤套件賣場:https://www.jmaker.com.tw/products/hx711-project

已組裝好的HX711電子秤 A款
已組裝好的HX711電子秤 B款

有的電子稱套件還沒組裝,有的已經裝好,都是可以的,看個人需求,組裝這些壓克力和銅柱很簡單,難不倒大家的!而HX711接線也很簡單,只需要接4條線就搞定了。

如果負重元(Load Cell)的線還沒接,也沒關係,很簡單,它的顏色是固定的,照著接就可以了:

  • E+ => 紅
  • E- =>黑
  • A- =>白
  • A+ =>綠

load-cell

要從HX711取得重量是要花點功夫的,首先要安裝一套函式庫,這會讓你省事許多,傑森建議用Bogdan Necula的HX711函式庫。

這次的例子我們分3支程式來寫,第一支程式是先做校正。

校正程式不難,找一個手邊的物品,先到其它地方秤得正確的重量,記起來;傑森這次是拿了一個重量是100g的砝瑪來示範,先把sample_weight設為100。當然,其它只要你知道確切重量的東西都是可以的。

const int sample_weight = 100;  //基準物品的真實重量(公克)

先別急著把東西放上秤子,等監控視窗出現:"Please put sapmple object on it...",再把東西放上去。

然後監控視窗會出現一串計算後的比例參數,把它記起來,我們之後要用在正式的程式中。

不過這個比例參數可能會在一定範圍內跳動,先挑一個中間值就可以了。

再來就要寫正式測量重量的程式了。

首先把剛才得到的比例參數填進去。

const int scale_factor = 375;

物品記得在下一行程式執行後再放上去,這樣才會套用到比例參數。

scale.set_scale(scale_factor);

最重要的就是這行:scale.get_units(10);

這行是取得加了比例參數後得到的正確重量,10的意思是取10次的平均。

上一個例子我們只能在監控視窗中看到結果,最後我們再補上1602 LCD,讓重量可以從LCD上顯示,這樣就完成囉!

至於LCD的部份就請大家參考之前的文章囉:

Arduino 1602 LCD 最快速範例

前往完整電子秤套件賣場:https://reurl.cc/qDkY1q