KY-002 Erschütterungs-Schalter Modul: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel Raspberry Pi) |
(→Bild) |
||
(17 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Bild== | ==Bild== | ||
− | [[Datei:KY-002. | + | |
+ | [[Datei:KY-002.png|358x358px|none]] | ||
==Technische Daten / Kurzbeschreibung== | ==Technische Daten / Kurzbeschreibung== | ||
Zeile 9: | Zeile 10: | ||
==Codebeispiel Arduino== | ==Codebeispiel Arduino== | ||
− | <pre class="brush:cpp">int Led = 13 ;// | + | Hier bei 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 | + | |
− | int val; // | + | <pre class="brush:cpp">int Led = 13 ;// Deklaration des LED-Ausgangspin |
+ | int Sensor = 10; // Deklaration des Sensor-Eingangspin | ||
+ | int val; // Temporaere Variable | ||
+ | |||
void setup () | void setup () | ||
{ | { | ||
− | pinMode (Led, OUTPUT) ; // | + | pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin |
− | pinMode ( | + | pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin |
+ | digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand | ||
} | } | ||
+ | |||
void loop () | void loop () | ||
{ | { | ||
− | val = digitalRead ( | + | val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen |
− | if (val == HIGH) // | + | |
+ | if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet. | ||
{ | { | ||
digitalWrite (Led, LOW); | digitalWrite (Led, LOW); | ||
Zeile 28: | Zeile 35: | ||
digitalWrite (Led, HIGH); | digitalWrite (Led, HIGH); | ||
} | } | ||
− | }</pre> | + | } |
+ | </pre> | ||
+ | |||
+ | '''Anschlussbelegung Arduino:''' | ||
+ | |||
+ | {| style="height: 58px; padding-left: 30px;" width="228" | ||
+ | |- | ||
+ | ||LED + | ||
+ | ||= | ||
+ | ||[Pin 13] | ||
+ | |- | ||
+ | ||LED - | ||
+ | ||= | ||
+ | ||[Pin GND] | ||
+ | |- | ||
+ | ||Sensor Signal | ||
+ | ||= | ||
+ | ||[Pin 10] | ||
+ | |- | ||
+ | ||Sensor +V | ||
+ | ||= | ||
+ | ||[Pin 5V] | ||
+ | |- | ||
+ | ||Sensor - | ||
+ | ||= | ||
+ | ||[Pin GND] | ||
+ | |} | ||
+ | |||
+ | '''Beispielprogramm Download''' | ||
+ | |||
+ | [[Medium:SensorTest_Arduino.zip|SensorTest_Arduino.zip]] | ||
==Codebeispiel Raspberry Pi== | ==Codebeispiel Raspberry Pi== | ||
Zeile 36: | Zeile 73: | ||
import RPi.GPIO as GPIO | import RPi.GPIO as GPIO | ||
import time | import time | ||
− | + | ||
GPIO.setmode(GPIO.BCM) | GPIO.setmode(GPIO.BCM) | ||
− | + | ||
− | # Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist | + | # Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist. Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert |
GPIO_PIN = 24 | GPIO_PIN = 24 | ||
− | GPIO.setup(GPIO_PIN, GPIO.IN) | + | GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP) |
− | + | ||
− | print " | + | print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]" |
− | + | ||
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt | # Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt | ||
def ausgabeFunktion(null): | def ausgabeFunktion(null): | ||
print("Signal erkannt") | print("Signal erkannt") | ||
− | + | ||
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest | # Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest | ||
GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=100) | GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=100) | ||
− | + | ||
# Hauptprogrammschleife | # Hauptprogrammschleife | ||
try: | try: | ||
while True: | while True: | ||
time.sleep(1) | time.sleep(1) | ||
− | + | ||
# Aufraeumarbeiten nachdem das Programm beendet wurde | # Aufraeumarbeiten nachdem das Programm beendet wurde | ||
except KeyboardInterrupt: | except KeyboardInterrupt: | ||
Zeile 84: | Zeile 121: | ||
'''Beispielprogramm Download''' | '''Beispielprogramm Download''' | ||
− | [[Medium: | + | [[Medium:SensorTest_RPi.zip|SensorTest_RPi.zip]] |
Zu starten mit dem Befehl: | Zu starten mit dem Befehl: | ||
− | <pre class="brush:bash">sudo python | + | <pre class="brush:bash">sudo python SensorTest_RPi.py |
</pre> | </pre> |
Aktuelle Version vom 11. April 2016, 18:31 Uhr
Inhaltsverzeichnis
Bild
Technische Daten / Kurzbeschreibung
Bei Erschütterung wird der Kontakt zwischen den zwei Eingangspins geschlossen
Pin-Belegung
Codebeispiel Arduino
Hier bei 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-Ausgangspin int Sensor = 10; // Deklaration des Sensor-Eingangspin int val; // Temporaere Variable void setup () { pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand } void loop () { val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet. { digitalWrite (Led, LOW); } else { digitalWrite (Led, HIGH); } }
Anschlussbelegung Arduino:
LED + | = | [Pin 13] |
LED - | = | [Pin GND] |
Sensor Signal | = | [Pin 10] |
Sensor +V | = | [Pin 5V] |
Sensor - | = | [Pin GND] |
Beispielprogramm Download
Codebeispiel Raspberry Pi
Programmierbeispiel in der Programmiersprache Python
# Benoetigte 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. Zusaetzlich 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 ausgefuehrt def ausgabeFunktion(null): print("Signal erkannt") # Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=100) # Hauptprogrammschleife try: while True: time.sleep(1) # Aufraeumarbeiten nachdem das Programm beendet wurde except KeyboardInterrupt: GPIO.cleanup()
Anschlussbelegung Raspberry Pi:
Signal | = | GPIO24 | [Pin 18] |
+V | = | 3,3V | [Pin 1] |
GND | = | Masse | [Pin 6] |
Beispielprogramm Download
Zu starten mit dem Befehl:
sudo python SensorTest_RPi.py