KY-031 Klopfsensor
Wird der Sensor einem Klopfen oder einer Erschütterung ausgesetzt, so werden die beiden Ausgangspins kurzgeschlossen.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Dieses Modul ist ein Klopfsensor. Wenn der Sensor einem Klopfen oder einer Erschütterung ausgesetzt wird, werden die beiden Ausgangspins kurzgeschlossen. Diese Reaktion ermöglicht es, Erschütterungen oder Klopfereignisse zuverlässig zu erkennen und als Signal weiterzugeben. Der Klopfsensor eignet sich hervorragend für Projekte, bei denen die Erkennung von Berührungen oder Vibrationen erforderlich ist, wie z.B. in Sicherheitssystemen, interaktiven Geräten oder als Eingabemethode in verschiedenen Elektronikprojekten. Seine einfache Funktionsweise und Zuverlässigkeit machen ihn zu einer vielseitigen Komponente für zahlreiche Anwendungen.
Anschlussbelegung
Arduino | Sensor |
---|---|
Pin 10 | Signal |
5 V | +V |
GND | GND |
Code-Beispiel
Um das folgende Codebeispiel auf Ihren Arduino zu laden, empfehlen wir die Verwendung der Arduino IDE. In der IDE können Sie den passenden Port und das richtige Board für Ihr Gerät auswählen.
Kopieren Sie den unten stehenden Code in Ihre IDE. Um den Code auf Ihren Arduino hochzuladen, klicken Sie einfach auf den Upload-Button.
int knock = 10; // Deklaration des Sensor-Eingangspin
int value; // Temporaere Variable
void setup () {
pinMode(knock, INPUT); // Initialisierung Sensorpin
Serial.begin(9600); // Initialisierung des seriellen Monitors
Serial.println("KY-031 Klopftest");
}
void loop () {
// Das Stromsignal am Sensor wird ausgelesen.
value = digitalRead(knock);
// Wenn ein Signal erkannt werden konnte, wird das auf dem seriellen Monitor angezeigt.
if (value == LOW) {
Serial.println("Klopfen erkannt");
delay(200); // 200 ms Pause
}
}
Dieses Modul ist ein Klopfsensor. Wenn der Sensor einem Klopfen oder einer Erschütterung ausgesetzt wird, werden die beiden Ausgangspins kurzgeschlossen. Diese Reaktion ermöglicht es, Erschütterungen oder Klopfereignisse zuverlässig zu erkennen und als Signal weiterzugeben. Der Klopfsensor eignet sich hervorragend für Projekte, bei denen die Erkennung von Berührungen oder Vibrationen erforderlich ist, wie z.B. in Sicherheitssystemen, interaktiven Geräten oder als Eingabemethode in verschiedenen Elektronikprojekten. Seine einfache Funktionsweise und Zuverlässigkeit machen ihn zu einer vielseitigen Komponente für zahlreiche Anwendungen.
Anschlussbelegung
Raspberry Pi | Sensor |
---|---|
GPIO 24 [Pin 18] | Signal |
3,3 V [Pin 1] | +V |
GND [Pin 6] | GND |
Code-Beispiel
Hierbei handelt es sich um ein ähnliches Beispielprogramm mit dem Unterschied das hier keine LED zum Leuchten gebracht wird, sondern eine Konsolenausgabe generiert wird, sobald ein Signal detektiert wird.
# -*- coding: iso-8859-1 -*-
from gpiozero import DigitalInputDevice
import time
# Initialisiere den Eingangs-Pin, an dem der Sensor angeschlossen ist
sensor = DigitalInputDevice(24, pull_up=True) # Pull-Up-Widerstand wird aktiviert
print("Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]")
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabe_funktion():
print("Signal erkannt")
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
sensor.when_activated = ausgabe_funktion
# Hauptprogrammschleife
try:
while True:
time.sleep(1)
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
print("Programm wurde durch Benutzer unterbrochen")
Dieses Modul ist ein Klopfsensor. Wenn der Sensor einem Klopfen oder einer Erschütterung ausgesetzt wird, werden die beiden Ausgangspins kurzgeschlossen. Diese Reaktion ermöglicht es, Erschütterungen oder Klopfereignisse zuverlässig zu erkennen und als Signal weiterzugeben. Der Klopfsensor eignet sich hervorragend für Projekte, bei denen die Erkennung von Berührungen oder Vibrationen erforderlich ist, wie z.B. in Sicherheitssystemen, interaktiven Geräten oder als Eingabemethode in verschiedenen Elektronikprojekten. Seine einfache Funktionsweise und Zuverlässigkeit machen ihn zu einer vielseitigen Komponente für zahlreiche Anwendungen.
Anschlussbelegung
Micro:Bit | Sensor |
---|---|
Pin 1 | Signal |
3 V | +V |
GND | GND |
Code-Beispiel
Hierbei handelt es sich um ein Beispielprogramm, welches Text Seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.
pins.onPulsed(DigitalPin.P1, PulseValue.Low, function () {
serial.writeLine("Shock detected")
})
pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
basic.forever(function () {
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
serial.writeLine("No shock detected")
}
})
Beispielprogramm Download
Dieses Modul ist ein Klopfsensor. Wenn der Sensor einem Klopfen oder einer Erschütterung ausgesetzt wird, werden die beiden Ausgangspins kurzgeschlossen. Diese Reaktion ermöglicht es, Erschütterungen oder Klopfereignisse zuverlässig zu erkennen und als Signal weiterzugeben. Der Klopfsensor eignet sich hervorragend für Projekte, bei denen die Erkennung von Berührungen oder Vibrationen erforderlich ist, wie z.B. in Sicherheitssystemen, interaktiven Geräten oder als Eingabemethode in verschiedenen Elektronikprojekten. Seine einfache Funktionsweise und Zuverlässigkeit machen ihn zu einer vielseitigen Komponente für zahlreiche Anwendungen.
Anschlussbelegung
Raspberry Pi Pico | Sensor |
---|---|
GPIO18 | Signal |
3.3V | +V |
GND | GND |
Code-Beispiel
Hierbei handelt es sich um ein Beispielprogramm, welches hoch zählt und Text Seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.
Um das folgende Codebeispiel auf Ihren Pico zu laden, empfehlen wir die Verwendung von der Thonny IDE. Sie müssen nur zunächst unter Run > Configure interpreter … > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico) auswählen.
Kopieren Sie den untenstehenden Code nun in Ihre IDE und klicken Sie auf Run.
# Bibliotheken laden
from machine import Pin, Timer
# Initialisierung von GPIO als Eingang
sensor = Pin(18, Pin.IN, Pin.PULL_DOWN)
# Timer erstellen
timer = Timer()
# Variablen Initialisierung
counter = 0
print("KY-031 Erschütterungserkennung")
# Funktion zum Schritte zählen
def step(timer):
global counter
counter = counter + 1
print("Erschütterung erkannt:", counter)
# Funktion die bei Erschütterung ausgeführt wird
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)