要做一個Arduino的電子秤,需要幾個主要的零件:HX711重量感測模組、荷重元(Load Cell),當然還要一塊Arduino,以及顯示重量的LCD。這個例子我們從校正開始,到讓重量出現在LCD上,只要一步步來,並不難的。
前往完整電子秤套件賣場:https://www.jmaker.com.tw/products/hx711-project
有的電子稱套件還沒組裝,有的已經裝好,都是可以的,看個人需求,組裝這些壓克力和銅柱很簡單,難不倒大家的!而HX711接線也很簡單,只需要接4條線就搞定了。
如果負重元(Load Cell)的線還沒接,也沒關係,很簡單,它的顏色是固定的,照著接就可以了:
- E+ => 紅
- E- =>黑
- A- =>白
- A+ =>綠
要從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的部份就請大家參考之前的文章囉:
前往完整電子秤套件賣場:https://reurl.cc/qDkY1q