Skip to content

Instantly share code, notes, and snippets.

@caseyanderson
Created November 29, 2018 22:00
Show Gist options
  • Save caseyanderson/3cde781b8d96d2ae8e1ccee2ccc805a8 to your computer and use it in GitHub Desktop.
Save caseyanderson/3cde781b8d96d2ae8e1ccee2ccc805a8 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
'''
Trigger a print message when sensor value meets test condition
To Run: python3 trigger.py --pin 13 --chn 0
'''
from gpiozero import MCP3008
from gpiozero import Button
from time import sleep
import argparse
if __name__ == '__main__':
try:
parser = argparse.ArgumentParser()
parser.add_argument("--pin", type=int, default=16,
help="The GPIO pin the button is on")
parser.add_argument("--chn", type=int, default=0,
help="The MCP3008 chn the sensor is on")
args = parser.parse_args()
sensor = MCP3008(channel=args.chn) # make the sensor object
button = Button(args.pin)
print("ready!")
while True:
sense_val = sensor.value
if button.value == True and button.value != prev_val:
print("button is pressed")
elif button.value == False:
if sense_val < 0.3:
print("light is low!")
prev_val = button.value
sleep(0.05)
except KeyboardInterrupt:
print("interrupted!")
sensor.close()
button.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment