センサーモジュール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