Sunfounder Sensor Kit – Shock + Knock – Sensor

v.l.n.r.: Knock-Sensor, Shock-Sensor

v.l.n.r.: Knock-Sensor, Shock-Sensor

Die nächsten Sensoren sind wieder sehr änhnlich: Der „Schock“- und der „Klopf“- Sensor. Beide arbeiten mit einer Feder, die bei Erschütterung ein Event triggert.



shock-knock-messageIm Gegensatz zur Anleitung habe ich beide Sensoren gleichzeitig angeschlossen und auf die LED verzichtet. Die Status-Meldung erfolgt als Log-Message auf der Konsole. Auch habe ich eine Bouncetime gesetzt, da durch das Zurückfedern der Sensoren sonst zu viele Events ausgelöst werden.


#!/usr/bin/env python
import RPi.GPIO as GPIO

KNOCK_PIN = 11
SHOCK_PIN = 13

led_status = 1

def setup():
        GPIO.setmode(GPIO.BOARD)
        GPIO.setup(SHOCK_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        GPIO.setup(KNOCK_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def knock_detected(e):
        print "KNOCK detected!"

def shock_detected(e):
        print "SHOCK detected!"

def loop():
        GPIO.add_event_detect(SHOCK_PIN, GPIO.FALLING, callback=shock_detected, bouncetime=200)
        GPIO.add_event_detect(KNOCK_PIN, GPIO.FALLING, callback=knock_detected, bouncetime=200)
        while True:
                pass

def destroy():
        GPIO.cleanup()

if __name__ == '__main__':
        setup()
        try:
                loop()
        except KeyboardInterrupt:
                destroy()

Den Code gibt’s wie immer auch bei Github:
006-knock-sensor.py

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.