def init_pins(plant): outputPin = plant["pump_pin"] GPIO.setup(outputPin, GPIO.OUT) GPIO.output(outputPin, GPIO.LOW) GPIO.output(outputPin, GPIO.HIGH) inputPin = plant["water_sensor_pin"] GPIO.setup(inputPin, GPIO.IN)
def pump_on(pump_pin=7, delay=1): init_output(pump_pin) f = open("last_watered.txt", "w") f.write("Last watered {}".format(datetime.datetime.now())) f.close() GPIO.output(pump_pin, GPIO.LOW) time.sleep(1) GPIO.output(pump_pin, GPIO.HIGH)
def Main(): try: GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(4, GPIO.OUT) GPIO.setup(17, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(21, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(26, GPIO.IN) while (True): if (GPIO.input(23) == False): GPIO.output(4, GPIO.HIGH) GPIO.output(17, GPIO.HIGH) time.sleep(1) if (GPIO.input(15) == True): GPIO.output(18, GPIO.HIGH) GPIO.output(21, GPIO.HIGH) time.sleep(1) if (GPIO.input(24) == True): GPIO.output(18, GPIO.LOW) GPIO.output(21, GPIO.LOW) time.sleep(1) if (GPIO.input(26) == True): GPIO.output(4, GPIO.LOW) GPIO.output(17, GPIO.LOW) time.sleep(1) except Exception as ex: traceback.print_exc() finally: GPIO.cleanup() #this ensures a clean exit
def init_output(pin): GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW) GPIO.output(pin, GPIO.HIGH)
def pumpOn(self, pin, delay=1): self.initOutput(pin) GPIO.output(pin, GPIO.LOW) self._time.sleep(delay) GPIO.output(pin, GPIO.HIGH)
def updatePin(self, pin, value): GPIO.output(pin, GPIO.LOW)
def initOutput(self, pin): GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW) GPIO.output(pin, GPIO.HIGH)
def pump_on(pump_pin=7, delay=1): GPIO.output(pump_pin, GPIO.LOW) time.sleep(1) GPIO.output(pump_pin, GPIO.HIGH)