File "sensor.py"
Full Path: /home/analogde/www/RaspBerry/Dev/Raspberry/sensor.py
File size: 1.43 KB
MIME-type: text/x-script.python
Charset: utf-8
#!/usr/bin/env python
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode (GPIO.BOARD)
LED = 16 # LED connected to GPIO 16
ledState = False # Set the initial LED State to off
HALL_SENSOR = 18 # Hall sensor connected to GPIO 18
hallActive = False # State Hall effect sensor
GPIO.setwarnings(False)
GPIO.setup (LED, GPIO.OUT) # Setup the GPIO pin connected to the LED as output
GPIO.setup (HALL_SENSOR, GPIO.IN) # Setup the GPIO pin connected to the Hall Sensor to read as input
GPIO.output(LED, ledState)
# Main program loop
while True:
try:
# Wait for a falling or rising edge from the hall sensor before executing the code below
GPIO.wait_for_edge(HALL_SENSOR, GPIO.BOTH)
# NOTE - The Hall effect sensor is HIGH by default
# and low if there is a magnet.
# Get the current state of the hall sensor and store it in a variable
hallActive = GPIO.input(HALL_SENSOR)
if( hallActive == False ):
print("Switch state active, falling edge detected - LED ON")
ledState = True
else:
print("Switch state off, rising edge detected - LED OFF")
ledState = False
# Turn on the LED when the sensor is activated
GPIO.output(LED, ledState)
except KeyboardInterrupt:
GPIO.output(LED, False) # Turn off the LED on keyboard interrupt
GPIO.cleanup() # Clean up GPIO on CTRL+C exit
# End of main program loop
# Clean up on normal exit
GPIO.output(LED, False)
GPIO.cleanup()