KY-002 Erschütterungs-Schalter Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Raspberry Pi)
(Bild)
 
(37 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Bild==
 
==Bild==
[[Datei:KY-002.jpg|none|358x358px]]
+
 
 +
[[Datei:KY-002.png|358x358px|none]]
  
 
==Technische Daten / Kurzbeschreibung==
 
==Technische Daten / Kurzbeschreibung==
Chipsatz: DS18B20 | Kommunikationsprotokoll: 1-Wire<br /><br />9- 12Bit genaue Temperaturmessung im Meßbereich von –55°C bis +125°C
+
Bei Erschütterung wird der Kontakt zwischen den zwei Eingangspins geschlossen
  
 
==Pin-Belegung==
 
==Pin-Belegung==
Zeile 9: Zeile 10:
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
<pre class="brush:cpp">int Led = 13 ;// define LED Interface
+
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 Shock = 10; // define the vibration sensor interface
+
 
int val; // define numeric variables 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) ; // define LED as output interface
+
   pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
   pinMode (Shock, INPUT) ; // output interface defines vibration sensor
+
   pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
 +
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
 
}
 
}
 +
 
void loop ()
 
void loop ()
 
{
 
{
   val = digitalRead (Shock) ; // read digital interface is assigned a value of 3 val
+
   val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
   if (val == HIGH) // When the shock sensor detects a signal, LED flashes
+
 +
   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>
  
==Codebeispiel Raspberry Pi==
+
'''Anschlussbelegung Arduino:'''
Programmierbeispiel in der Programmiersprache Python
+
  
<pre class="brush:py">import RPi.GPIO as GPIO
+
{| style="height: 58px; padding-left: 30px;" width="228"
GPIO.setmode(GPIO.BCM)
+
|-
GPIO_PIR = 24
+
||LED +
GPIO.setup(GPIO_PIR, GPIO.IN, pull_up_down = GPIO.PUD_UP)
+
||=
 +
||[Pin 13]
 +
|-
 +
||LED -
 +
||=
 +
||[Pin GND]
 +
|-
 +
||Sensor Signal
 +
||=
 +
||[Pin 10]
 +
|-
 +
||Sensor +V
 +
||=
 +
||[Pin 5V]
 +
|-
 +
||Sensor -
 +
||=
 +
||[Pin GND]
 +
|}
  
print "KY-002 Test [druecken Sie STRG+C, um den Test zu beenden]"
+
'''Beispielprogramm Download'''
  
def printFunction(channel):
+
[[Medium:SensorTest_Arduino.zip|SensorTest_Arduino.zip]]
        print("Signal erkannt")
+
  
GPIO.add_event_detect(GPIO_PIR, GPIO.RISING, callback=printFunction)
+
==Codebeispiel Raspberry Pi==
 +
Programmierbeispiel in der Programmiersprache Python
  
 +
<pre class="brush:py"># 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:
 
try:
while True :
+
        while True:
  Current_State = GPIO.input(GPIO_PIR)
+
                time.sleep(1)
 
+
 +
# Aufraeumarbeiten nachdem das Programm beendet wurde
 
except KeyboardInterrupt:
 
except KeyboardInterrupt:
GPIO.cleanup()
+
        GPIO.cleanup()
 +
 
 
</pre>
 
</pre>
'''Anschlussbelegung:'''
+
'''Anschlussbelegung Raspberry Pi:'''
  
{| style="height: 58px;" width="228"
+
{| style="height: 58px; padding-left: 30px;" width="228"
 
|-
 
|-
 
||Signal
 
||Signal
Zeile 71: Zeile 118:
 
||[Pin 6]
 
||[Pin 6]
 
|}
 
|}
 +
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:SensorTest_RPi.zip|SensorTest_RPi.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python SensorTest_RPi.py
 +
</pre>

Aktuelle Version vom 11. April 2016, 18:31 Uhr

Bild

KY-002.png

Technische Daten / Kurzbeschreibung

Bei Erschütterung wird der Kontakt zwischen den zwei Eingangspins geschlossen

Pin-Belegung

3 S V G.png

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

SensorTest_Arduino.zip

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

SensorTest_RPi.zip

Zu starten mit dem Befehl:

sudo python SensorTest_RPi.py