Änderungen

KY-027 Magic Light Cup Modul

2.469 Byte hinzugefügt, 16:54, 22. Mär. 2016
/* Codebeispiel Raspberry Pi */
==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
 
'''<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==
[[Datei:4_Pin-LightCup.png|450x235px|none|450x235px]]
==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.  <pre class="brush:cpp">int LedPinA Led = 513 ;// Deklaration des LED-Ausgangspinint LedPinB Sensor = 610;// Deklaration des Sensor-Eingangspinint ButtonPinA = 7val;// Temporaere Variableint ButtonPinB = 4;int buttonStateA = 0;int buttonStateB = 0;int brightness = 0;
void setup ()
{
pinMode (LedPinALed, OUTPUT);// Initialisierung Ausgangspin pinMode (LedPinB, OUTPUT);pinMode (ButtonPinASensor, INPUT);// Initialisierung SensorpinpinMode digitalWrite(ButtonPinBSensor, INPUTHIGH);// Aktivierung interner Pull-Up Widerstand
}
void loop ()
{
buttonStateA val = digitalRead (ButtonPinASensor);// Das gegenwärtige Signal am Sensor wird ausgelesen if (buttonStateA val == HIGH && brightness! = 255)// Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet. {brightness + + digitalWrite (Led, LOW); }buttonStateB = digitalRead (ButtonPinB);if (buttonStateB == HIGH && brightness! = 0) else {brightness -;}analogWrite digitalWrite (LedPinALed, brightness); / / A few Guan Yuan (ii)? analogWrite (LedPinB, 255 - brightnessHIGH);/ / 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>
Bürokrat, Administrator
611
Bearbeitungen