Aug-28-2020, 10:00 AM
(This post was last modified: Aug-28-2020, 10:00 AM by duckredbeard.)
I am getting the following error when running my code. I have a functioning version of this script, but this one is edited to include more LEDs and different values for triggering the LEDs. On this version, I am erroring on line 57 (which is hx.set_reading_format("MSB", "MSB"))with this:
attributeerror 'hx711' object has no attribute 'set_reading_format'
Behold the...
attributeerror 'hx711' object has no attribute 'set_reading_format'
Behold the...
import time import sys import requests from gpiozero import LED from gpiozero import Button #Define LED indicators - these are GPIO numbers LED1 = LED(21) #Blue LED2 = LED(26) #Red LED3 = LED(20) #Amber LED4 = LED(19) #Green LED5 = LED(16) #Green LED6 = LED(13) #Green LED7 = LED(6) #Green LED8 = LED(12) #Green LED9 = LED(5) #Pink EMULATE_HX711=False reset = Button(18) #def reset(): # average = keg1 # print("Average has been reset to current weight") #reset.when_released = reset referenceUnit = 1 if not EMULATE_HX711: import RPi.GPIO as GPIO from hx711 import HX711 else: from emulated_hx711 import HX711 def moving_average(prev_average, new_value, num_steps = 5.0): return (prev_average * (num_steps - 1) + new_value) / num_steps average = weight = 99000 w_threshold = 2000 def cleanandexit(): print("Cleaning...") if not EMULATE_HX711: GPIO.cleanup() print("Bye!") sys.exit() hx = HX711(27, 22) hx.set_reading_format("MSB", "MSB") hx.set_reference_unit(1) hx.reset() hx.tare() print("The scale is ready") print("put the keg on...") LED9.blink(.2,3) start = time.time() while True: try: keg1 = hx.get_weight(5) weight = keg1 print(keg1, average) if time.time() - start > 5: weight = keg1 lost_weight = average - keg1 if lost_weight > w_threshold: r = requests.post("http://bit.ly/removed link triggers a message to my phone") print("You got served") average = keg1 print(lost_weight) average = moving_average(average, weight) start = time.time() if (keg1 < 3000): #Keg is missing or below empty weight LED1.blink(.2,.2) else: LED1.off() if (keg1 > 100000): #Keg is above maximum weight LED1.blink(.2,.2) else: LED1.off() if (keg1 < 8800): #Red - Keg is less than 3 servings LED2.blink(.5,.5) else: LED2.off() if (keg1 > 16000): #Amber LED3.on() else: LED3.off() if (keg1 > 32800): #Green1 LED4.on() else: LED4.off() if (keg1 > 49200): #Green2 LED5.on() else: LED5.off() if (keg1 > 65600): #Green3 LED6.on() else: LED6.off() if (keg1 > 82000): #Green4 LED7.on() else: LED7.off() if (keg1 > 99000): #Green5 - Keg is at full level LED8.on() else: LED8.off() hx.power_down() hx.power_up() time.sleep(1) except (KeyboardInterrupt, SystemExit): cleanandexit()Please help! I have no idea how much beer I have and the apocalypse is near!