ja1yaz’s diary

感動したいおやじの備忘録的ブログ 

HX711とRaspberrypi3を接続してみる

MSB=1となる波形

10回の計測中、最初何回かMSB=1となるリスト



前の実験からRaspberrypi Picoでは、最初のエッジのとり逃しをしてしまうことが分かった。そこで、頼みの綱のRaspberryPi3を接続してみた。しかし最初の方の計測で、重りなしでMSB=1となってしまうこと(上記画像)があり、そうしたケースは計測しないようにするようにプログラムしてみた。以前実験したときは10000回の連続計測でもエラーしなかったはずだったが、数回の計測でエラーとなるのはどうしたことか、温度のせいか。

かきのプログラムでomosa.omosa(10)などで、10回計測できるようにしてみた。

 

def omosa(kaisuu):
    import RPi.GPIO as GPIO
    from time import sleep

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(17,GPIO.OUT)   #CLK  HX711 to Rsapberrypi GPIO
    GPIO.setup(4,GPIO.IN)     #Data HX711 to Rsapberrypi GPIO

    n=kaisuu        #loop iteration limit
    k=0                #loop iteration 
    a=0
    w=0
    d=0
    while k<n:
        a=GPIO.input(4)
        while a==GPIO.input(4):
            pass
    #if k==0:    
    #    utime.sleep_us(100)
    #utime.sleep_us(80)
        a=0
        test_list=[]
        a=0
    
        while a<25:
            GPIO.output(17,GPIO.HIGH)
    #sleep(0.5)
            test_list.append(GPIO.input(4))
            GPIO.output(17,GPIO.LOW)
            a=a+1
        a=0
        c=24
        b=0
    
        while a<c:
            data=test_list[a]
            b=b+data*2**(c-a-1)
        #print(data,b)
            a=a+1    
    #print(b)
        k=k+1
        if b>16500000:
            k=k-1
            b=0
        d=d+b
    GPIO.cleanup()
    d=d/n
    return d

 

確認してみると、550サンプル中22サンプルの異常な値を検出した。

ちょっとまだ未完成の様だ