KY-027 Magic Light Cup Modul: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel Raspberry Pi) |
(→Codebeispiel Raspberry Pi) |
||
Zeile 82: | Zeile 82: | ||
In diesem Programmbeispiel Leuchtet die LED auf, wenn am Neigungsschalter, ein Signal detektiert wird. | In diesem Programmbeispiel Leuchtet die LED auf, wenn am Neigungsschalter, ein Signal detektiert wird. | ||
− | <pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet | + | <pre class="brush:py"> |
+ | |||
+ | # Benoetigte Module werden importiert und eingerichtet | ||
import RPi.GPIO as GPIO | import RPi.GPIO as GPIO | ||
import time | import time | ||
− | + | ||
GPIO.setmode(GPIO.BCM) | GPIO.setmode(GPIO.BCM) | ||
− | + | ||
# Hier werden die beiden Pins deklariert, an dem der Sensor und die LED angeschlossen sind, | # Hier werden die beiden Pins deklariert, an dem der Sensor und die LED angeschlossen sind, | ||
LED_PIN = 24 | LED_PIN = 24 | ||
Zeile 93: | Zeile 95: | ||
GPIO.setup(Sensor_PIN, GPIO.IN) | GPIO.setup(Sensor_PIN, GPIO.IN) | ||
GPIO.setup(LED_PIN, GPIO.OUT) | GPIO.setup(LED_PIN, GPIO.OUT) | ||
− | + | ||
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]" | 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): | ||
− | GPIO.output(LED_PIN, | + | GPIO.output(LED_PIN, True) |
− | + | ||
# Beim Detektieren eines Signals wird die Ausgabefunktion ausgeloest | # Beim Detektieren eines Signals wird die Ausgabefunktion ausgeloest | ||
− | GPIO.add_event_detect(Sensor_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime= | + | GPIO.add_event_detect(Sensor_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=10) |
− | + | ||
# Hauptprogrammschleife | # Hauptprogrammschleife | ||
try: | try: | ||
while True: | while True: | ||
− | + | time.sleep(1) | |
− | + | if GPIO.input(Sensor_PIN): | |
+ | GPIO.output(LED_PIN,False) | ||
+ | |||
# Aufraeumarbeiten nachdem das Programm beendet wurde | # Aufraeumarbeiten nachdem das Programm beendet wurde | ||
except KeyboardInterrupt: | except KeyboardInterrupt: | ||
GPIO.cleanup() | GPIO.cleanup() | ||
− | |||
</pre> | </pre> | ||
'''Anschlussbelegung Raspberry Pi:''' | '''Anschlussbelegung Raspberry Pi:''' |
Version vom 22. März 2016, 16:52 Uhr
Inhaltsverzeichnis
Bild
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
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
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) 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
Zu starten mit dem Befehl:
sudo python SensorTest_RPi.py