HX711による秤の作成

センサーモジュールHX711による秤の作成ができます。まず下記リンクからドライバhx711_pioをダウンロードして、Raspberry Pi Pico本体に保存してください。それから下記ソースコードをコピーしてmain.pyとしてPico本体に保存してください。GP14、GP15は物理ピン19、20に相当します。GP16は物理ピン21に相当し、GND23物理ピンとショートさせてください。0gリセット。

GitHub - robert-hh/hx711: MicroPython driver for the HX711 load cell interface.
MicroPython driver for the HX711 load cell interface. - robert-hh/hx711

from machine import Pin
from hx711_pio import HX711
import time

# --- 設定項目 ---
# 最初は 1.0 にしておき、後で下の「校正手順」を元に数値を書き換えます
CALIBRATION_FACTOR = 420.0 

# 1. ピンの設定
pin_OUT = Pin(14, Pin.IN, pull=Pin.PULL_DOWN)
pin_SCK = Pin(15, Pin.OUT)
button = Pin(16, Pin.IN, Pin.PULL_UP)

# 2. HX711の初期化
hx = HX711(pin_SCK, pin_OUT, state_machine=0)

# 3. 起動時のゼロリセット
print("秤の上に何も置かないでください。起動時リセット中...")
hx.tare()
print("準備完了。")

# 4. メインループ
while True:
    # リセットボタンの判定
    if button.value() == 0:
        print("--- ゼロリセット(風袋引き)実行中 ---")
        hx.tare()
        print("リセット完了")
        time.sleep(0.5)

    # 重量の計算
    # get_value() は (生の数値 - オフセット) を返します
    raw_value = hx.get_value()
    grams = raw_value / CALIBRATION_FACTOR
    
    # 表示(小数点以下1桁まで)
    print(f"Weight: {grams:.1f} g")
    
    # 読み取り間隔(10秒は長いので、テスト用に0.5秒にしています。必要に応じて戻してください)
    time.sleep(0.5)
    

Comments

Copied title and URL