# 14CORE Test Code for: Ball Tilt Switch on Raspberry Pi
# .:+osysso++:`
# `+yhs/-` `-+s+` `:/+++++++++` .:/++ooo++/-` .ooooooooooo+: :///////////-
# `odh/` `:y+` /ddhsooooooo+ /hddhsooooydddh sdddoooooosdddy` `////////////`
# -hds` `sy. +ddy` .ddd: sddy.dddo +ddd- .-----------`
# `hds :sssss/ -ossssso-yy` `hdd: oddy `ddd/oddd:......+dddo .++++++++++++
# +dd` :sdddh` :ydddddddo +y/ .ddd+........ `hddy:.....:yddy.hdddddddddddy+. ````````````
# ydy .hddd/+hdddhydddh/.+yo /hdddddddddd. :shddddddddhs/`+ddd:````-yddy- :ooooooooooo+
# odh` sdddooyyyyyhddddyy.sy+ ` `......... ``.... ....` ```...` ` `` `` `
# -dd+`::::` .:::- /yy. -oos+:-oos+--oos+: /o `+y o/: o:+/ h:`yos /+-`/+/+ s:y/y.
# /dd/ `+yy: +//+ +/:+ +/:+ -. `/ -:o.:/:`//+- + +:- :`-+:`://: +`o`+.
# -yds. `/yys- .`-.. .``` ```` .`` ` ` ``` ``-..` `
# :ydy/.`````.-/oyhs: `+++oo+oo+:.+-++/-/ooo+o +:o/oo///:+/
# .:oyhhhhhhhso:` `.
```
#!/usr/bin/env python
import RPi.GPIO as GPIO
TiltSensorPin = 11 #Sensor is connected to GPIO 17
LedOutputPin = 12 #Output led is connected to GPIO 15
Led_status = 1
def setup():
GPIO.setmode(GPIO.BOARD) # GPIO will be numbered
GPIO.setup(LedOutputPin, GPIO.OUT) # Set LedOutputPin's mode is output
GPIO.setup(TiltSensorPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.output(LedOutputPin, GPIO.HIGH) # Set LedOutputPin high
def swLed(ev=None):
global Led_status
Led_status = not Led_status
GPIO.output(LedOutputPin, Led_status) # switch led status(on-->off; off-->on)
if Led_status == 1:
print '14CORE | OUTPUT LED TURN OFF'
else:
print '14CORE | OUTPUT LED TURN ON'
def loop():
GPIO.add_event_detect(TiltSensorPin, GPIO.FALLING, callback=swLed) # wait for falling
while True:
pass # Do nothing
def destroy():
GPIO.output(LedOutputPin, GPIO.HIGH) # Led will turn On
GPIO.cleanup() # Rlease or clean resource
if __name__ == '__main__':
setup()
try:
loop()
except KeyboardInterrupt: # When press control C child program will distroy
destroy()