KY-027 Magic Light Cup Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Codebeispiel Raspberry Pi)
(Codebeispiel Raspberry Pi)
Zeile 86: Zeile 86:
 
GPIO.setmode(GPIO.BCM)
 
GPIO.setmode(GPIO.BCM)
 
   
 
   
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist.
+
# Hier werden die beiden Pins deklariert, an dem der Sensor und die LED angeschlossen sind,
 
LED_PIN = 24
 
LED_PIN = 24
 
Sensor_PIN = 23
 
Sensor_PIN = 23
Zeile 98: Zeile 98:
 
         GPIO.output(LED_PIN, TRUE)
 
         GPIO.output(LED_PIN, TRUE)
 
   
 
   
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
+
# Beim Detektieren eines Signals 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)  
 
   
 
   
Zeile 115: Zeile 115:
 
{| style="height: 58px; padding-left: 30px;" width="228"
 
{| style="height: 58px; padding-left: 30px;" width="228"
 
|-
 
|-
||Signal
+
||LED
 
||=
 
||=
 
||GPIO24
 
||GPIO24
 
||[Pin 18]
 
||[Pin 18]
 +
|-
 +
||Signal
 +
||=
 +
||GPIO23
 +
||[Pin 16]
 
|-
 
|-
 
||+V
 
||+V

Version vom 22. März 2016, 16:38 Uhr

Bild

ky-027.jpg

Technische Daten / Kurzbeschreibung

Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Signal, wann die LED an ist, wird an einen Signalausgang gegeben. Je nach Eingangsspannung, werden Vorwiderstände benötigt

Vorwiderstand:

Rf (3,3V) [Rot]= 120Ω

[z.B. beim Einsatz mit ARM CPU-Kern basierten Mikrokontrollern wie Raspberry-Pi]


Rf (5V) [Rot] = 220Ω 

[z.B. beim Einsatz mit Atmel Atmega basierten Mikrokontrollern wie Arduino]

Pin-Belegung

4 Pin-LightCup.png

Codebeispiel Arduino

Hier bei handelt es sich um ein Beispielprogramm, welches die LED vom Magic-LightCup-Modul zum Leuchten bringt, wenn am Sensor eine Neigung detektiert wurde.

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 werden die beiden Pins deklariert, an dem der Sensor und die LED angeschlossen sind,
LED_PIN = 24
Sensor_PIN = 23
GPIO.setup(LED_PIN, GPIO.IN)
GPIO.setup(Sensor_PIN, GPIO.OUT)
 
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
 
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
        GPIO.output(LED_PIN, TRUE)
 
# Beim Detektieren eines Signals 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:

LED = GPIO24 [Pin 18]
Signal = GPIO23 [Pin 16]
+V = 3,3V [Pin 1]
GND = Masse [Pin 6]

Beispielprogramm Download

SensorTest_RPi.zip

Zu starten mit dem Befehl:

sudo python SensorTest_RPi.py