KY-002 Erschütterungsschalter
Dieses Modul kann Erschütterungen wahrnehmen und gibt bei jeder Detektierung ein Signal aus.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Der KY-002 ist ein Erschütterungs- und Vibrationssensor. Er besteht aus einer leitenden Außenhülle, welche bei Erschütterungen den Kontakt mit einer innenliegenden Feder schließt und somit ein Signal ausgibt.
Betriebsspannung | 3,3 V - 5 V |
Abmessungen | 18,5 mm x 15 mm |
Pin-Belegung
Codebeispiel Arduino
Anschlussbelegung Arduino
Arduino | Sensor |
---|---|
Pin 10 | Signal |
5V | +V |
GND | GND |
Arduino | Sensor |
---|---|
Pin 13 | LED + |
GND | LED - |
Hierbei handelt es sich um ein Beispielprogramm, welches eine LED zum Leuchten bringt, wenn am Sensor ein Signal detektiert wurde. Als LED können z.B. auch unter anderem die Module KY-011, KY-016 oder KY-029 verwendet werden.
int Led = 13 ;// Deklaration des LED-Ausgangspins
int Sensor = 10; // Deklaration des Sensoreingangs-Pins
int val; // Temporäre Variable
void setup ()
{
pinMode (Led, OUTPUT) ; // Initialisierung Ausgangs-Pin
pinMode (Sensor, INPUT) ; // Initialisierung Sensor-Pin
digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-up-Widerstand
}
void loop ()
{
val = digitalRead (Sensor) ; // Das Stromsignal am Sensor wird ausgelesen.
if (val == HIGH) // Wenn ein Signal erkannt werden konnte, wird die LED eingeschaltet.
{
digitalWrite (Led, LOW);
}
else
{
digitalWrite (Led, HIGH);
}
}
Beispielprogramm Download
Das KY-002 ist ein Erschütterungs- und Vibrationssensor. Er besteht aus einer leitenden Außenhülle, welche bei Erschütterungen den Kontakt mit einer innenliegenden Feder schließt und somit ein Signal ausgibt.
Betriebsspannung | 3,3 V - 5 V |
Abmessungen | 18,5 mm x 15 mm |
Pin-Belegung
Codebeispiel Raspberry Pi
Anschlussbelegung Raspberry Pi
Raspberry Pi | Sensor |
---|---|
GPIO 24 [Pin 18] | Signal |
3,3V [Pin 1] | +V |
GND [Pin 6] | GND |
Hierbei handelt es sich um ein Beispielprogramm, welches Text seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.
# Benötigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist. Zusätzlich wird auch der PullUP Widerstand am Eingang aktiviert
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
print ("Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]")
# Diese Ausgabefunktion wird bei Signaldetektion ausgeführt
def ausgabeFunktion(null):
print("Signal erkannt")
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgelöst
GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=100)
# Hauptprogrammschleife
try:
while True:
time.sleep(1)
# Aufräumarbeiten, nachdem das Programm beendet wurde
except KeyboardInterrupt:
GPIO.cleanup()
Beispielprogramm Download
Zu starten mit dem Befehl:
sudo python3 KY002-RPi.py
Das KY-002 ist ein Erschütterungs- und Vibrationssensor. Er besteht aus einer leitenden Außenhülle, welche bei Erschütterungen den Kontakt mit einer innenliegenden Feder schließt und somit ein Signal ausgibt.
Betriebsspannung | 3,3 V - 5 V |
Abmessungen | 18,5 mm x 15 mm |
Pin-Belegung
Codebeispiel Micro:Bit
Anschlussbelegung Micro:Bit:
Micro:Bit | Sensor |
---|---|
Pin 1 | Signal |
3V | +V |
GND | GND |
Hierbei handelt es sich um ein Beispielprogramm, welches Text seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.
Beispielprogramm Download
Der KY-002 ist ein Erschütterungs- und Vibrationssensor. Er besteht aus einer leitenden Außenhülle, welche bei Erschütterungen den Kontakt mit einer innenliegenden Feder schließt und somit ein Signal ausgibt.
Betriebsspannung | 3,3 V - 5 V |
Abmessungen | 18,5 mm x 15 mm |
Pin-Belegung
Codebeispiel Raspberry Pi Pico
Anschlussbelegung Raspberry Pi Pico
Raspberry Pi Pico | Sensor |
---|---|
GPIO26 | Signal |
3.3V | +V |
GND | GND |
Hierbei handelt es sich um ein Beispielprogramm, welches hoch zählt und Text seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.
# Bibliotheken laden
from machine import Pin, Timer
# Initialisierung von GPIO26 als Eingang
sensor = Pin(26, Pin.IN, Pin.PULL_DOWN)
# Timer erstellen
timer = Timer()
# Variablen Initialisierung
counter = 0
# Funktion: Schritte zählen
def step(timer):
global counter
counter = counter + 1
print("Erschütterung") #Wenn KY-020
print(counter)
# Funktion: Vibration
def shake(pin):
# Entprellfunktion: Timer setzen
timer.init(mode=Timer.ONE_SHOT, period=100, callback=step)
# Initialisierung des Interrupts
sensor.irq(trigger=Pin.IRQ_FALLING, handler=shake)