ロードセルとHX711を使ってArduinoで電子秤を作ってみる
とは言ったものの、そもそも買ったのがキットみたいな感じなのでそこまでは面倒では無かったです。
買ったパーツはこちら
⇒ロードセル計量センサ5KG + HX711 24BIT精密ADモジュール
で、今回はこれとArduinoとジャンパー線さえあればOKです。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <Arduino.h> // https://github.com/bogde/HX711 #include "HX711.h" const int DT_PIN = 2; const int SCK_PIN = 3; HX711 Scale; void setup() { Serial.begin(9600); Scale.begin(DT_PIN, SCK_PIN); //パラメータ設定 Scale.set_scale(386.3); Scale.tare(); } //重量格納変数 int gram = 0; void loop() { //重量を四捨五入 gram = Scale.get_units(10) + 0.5; //重量表示 Serial.println(gram); Scale.power_down(); delay(500); Scale.power_up(); } |
頭のところで読み込んでるライブラリは以下のGitHubから拾ってきました。
⇒https://github.com/bogde/HX711
解説
めちゃくちゃ作りが雑です。別の目的で簡易的に作りたかったので。
配線は以下の通り。
- VCC(HX711)-5V(Arduino)
- GND(HX711)-GND(Arduino)
- DT(HX711)-2ピン(Arduino)
- SCK(HX711)-3ピン(Arduino)
15行目の以下のコードが調整部分です。
1 |
Scale.set_scale(386.3); |
正直調整方法がわからなかったので、実際の電子秤を元に比較しながら調整しました。
参考までに買った電子秤も…
⇒TANITA KJ-216 2kg 1g ホワイト
ちなみに、四捨五入してるのは、1g精度の秤を参考にしていたからです。
噂では0.1g単位でもできるのだとか…温度等の条件に左右されそうですが。
実はI2Cで重さを他のマイコンに送りたかったのですが、どうやら通信規格が干渉してしまってるようです。多分。
そちらは分かり次第改めて記事にしますね!
今回のブログ曲
今回投稿中に聴いていた曲はこちら