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

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „==Bild== none ==Technische Daten / Kurzbeschreibung== Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Signal, wann die LED…“)
 
(Codebeispiel Raspberry Pi)
 
(9 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
 
==Technische Daten / Kurzbeschreibung==
 
==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
 
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
 +
 +
'''<u>Vorwiderstand:</u>'''
 +
 +
'''Rf (3,3V) [<span style="color: #ff0000;">Rot</span>]= 120Ω'''
 +
 +
''[z.B. beim Einsatz mit ARM CPU-Kern basierten Mikrokontrollern wie <u>Raspberry-Pi</u>]''
 +
 +
 +
'''Rf (5V) [<span style="color: #ff0000;">Rot</span>] = 220Ω''' 
 +
 +
''[z.B. beim Einsatz mit Atmel Atmega basierten Mikrokontrollern wie <u>Arduino</u>]''
  
 
==Pin-Belegung==
 
==Pin-Belegung==
[[Datei:4_Pin-LightCup.png|450x235px|none]]
+
[[Datei:4_Pin-LightCup.png|none|450x235px]]
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
<pre class="brush:cpp">int LedPinA = 5;
+
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 LedPinB = 6;
+
 
int ButtonPinA = 7;
+
<pre class="brush:cpp">int Led = 13 ;// Deklaration des LED-Ausgangspin
int ButtonPinB = 4;
+
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int buttonStateA = 0;
+
int val; // Temporaere Variable
int buttonStateB = 0;
+
int brightness = 0;
+
 
void setup ()
 
void setup ()
 
{
 
{
pinMode (LedPinA, OUTPUT);
+
  pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
pinMode (LedPinB, OUTPUT);
+
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
pinMode (ButtonPinA, INPUT);
+
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
pinMode (ButtonPinB, INPUT);
+
 
}
 
}
 +
 
void loop ()
 
void loop ()
 
{
 
{
buttonStateA = digitalRead (ButtonPinA);
+
  val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
if (buttonStateA == HIGH && brightness! = 255)
+
{
+
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
brightness + +;
+
  {
}
+
    digitalWrite (Led, LOW);
buttonStateB = digitalRead (ButtonPinB);
+
  }
if (buttonStateB == HIGH && brightness! = 0)
+
  else
{
+
  {
brightness -;
+
    digitalWrite (Led, HIGH);
}
+
  }
analogWrite (LedPinA, brightness); / / A few Guan Yuan (ii)? analogWrite (LedPinB, 255 - brightness);
+
/ / B Yuan (ii) a few Bang?
+
Delay (25);
+
 
}
 
}
 +
</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==
 +
Programmierbeispiel in der Programmiersprache Python
 +
 +
In diesem Programmbeispiel Leuchtet die LED auf, wenn am Neigungsschalter, ein Signal detektiert wird.
 +
 +
<pre class="brush:py"># 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(Sensor_PIN, GPIO.IN)
 +
GPIO.setup(LED_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(Sensor_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=10)
 +
 
 +
# Hauptprogrammschleife
 +
try:
 +
        while True:
 +
time.sleep(1)
 +
#Ausgang wird wieder zurueckgesetzt, falls der Neigungschalter wieder auf die andere Seite geneigt wird
 +
if GPIO.input(Sensor_PIN):
 +
GPIO.output(LED_PIN,False)
 +
 
 +
# Aufraeumarbeiten nachdem das Programm beendet wurde
 +
except KeyboardInterrupt:
 +
        GPIO.cleanup()
 +
</pre>
 +
'''Anschlussbelegung Raspberry Pi:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||LED
 +
||=
 +
||GPIO24
 +
||[Pin 18]
 +
|-
 +
||Signal
 +
||=
 +
||GPIO23
 +
||[Pin 16]
 +
|-
 +
||+V
 +
||=
 +
||3,3V
 +
||[Pin 1]
 +
|-
 +
||GND
 +
||=
 +
||Masse
 +
||[Pin 6]
 +
|}
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:KY-027-RPi-MagicLightCup.zip|KY-027-RPi-MagicLightCup.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python KY-027-RPi-MagicLightCup.py
 
</pre>
 
</pre>

Aktuelle Version vom 22. März 2016, 16:54 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

In diesem Programmbeispiel Leuchtet die LED auf, wenn am Neigungsschalter, ein Signal detektiert wird.

# 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(Sensor_PIN, GPIO.IN)
GPIO.setup(LED_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(Sensor_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=10) 
  
# Hauptprogrammschleife
try:
        while True:
		time.sleep(1)
		#Ausgang wird wieder zurueckgesetzt, falls der Neigungschalter wieder auf die andere Seite geneigt wird
		if GPIO.input(Sensor_PIN):
			GPIO.output(LED_PIN,False)
  
# 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

KY-027-RPi-MagicLightCup.zip

Zu starten mit dem Befehl:

sudo python KY-027-RPi-MagicLightCup.py