LK-Button1: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „==Bild== 358x358px ==Technische Daten / Kurzbeschreibung== ==Technische Daten / Kurzbeschreibung== <div class="level2"> Linker Kit P…“)
 
(Codebeispiel Raspberry Pi)
 
(7 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Bild==
 
==Bild==
[[Datei:KY-002.png|none|358x358px]]
+
[[Datei:lk_button1.png|none|400x326px]]
  
 
==Technische Daten / Kurzbeschreibung==
 
==Technische Daten / Kurzbeschreibung==
==Technische Daten / Kurzbeschreibung==
+
Linker Kit Platine mit 1 Druckknopf
<div class="level2">
+
Linker Kit Platine mit 1 großen Druckknopf.<br /> Dieser Druckknopf kann als Eingangs-Signal für Raspberry oder Arduino Experimente verwendet werden.
+
  
</div>
 
<div class="secedit editbutton_section editbutton_2"><form class="button btn_secedit" action="/doku.php" method="post"><div class="no"><input name="do" type="hidden" value="edit" /><input name="rev" type="hidden" value="1471339605" /><input name="summary" type="hidden" value="[Technische Daten / Kurzbeschreibung] " /><input name="target" type="hidden" value="section" /><input name="range" type="hidden" value="33-230" /><input name="id" type="hidden" value="lk-button1" /><input class="button" title="Technische Daten / Kurzbeschreibung" type="submit" value="Bearbeiten" /></div>
 
</form></div>
 
===Spezifikation===
 
<div class="level3">
 
Maße: 26,0 x 25,0 x 10,9mm<br /> Gewicht: 3,4g
 
  
</div>
 
==Pin-Belegung==
 
[[Datei:3_S_V_G.png|none]]
 
  
 
==Codebeispiel Arduino==
 
==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.
+
<pre class="brush:cpp">const int ButtonPin=9;
 
+
void setup() {
<pre class="brush:cpp">void setup() {              
+
   pinMode(ButtonPin, INPUT);
   // Initialisiert den digitalen Pin als Ausgang.
+
   Serial.begin(9600);      
   pinMode(13, OUTPUT);    
+
 
}
 
}
 
   
 
   
 
void loop() {
 
void loop() {
   digitalWrite(13, HIGH);   // schaltet die LED ein
+
   int sensorValue = digitalRead(ButtonPin);
   delay(1000);              // wartet eine Sekunde
+
   if(sensorValue==1)
   digitalWrite(13, LOW);    // schaltet die LED aus
+
   {
   delay(1000);             // wartet eine Sekunde
+
    Serial.println("High");     
 +
   }
 +
  else
 +
  {
 +
    Serial.println("Low");    
 +
 +
  }
 
}
 
}
 
 
</pre>
 
</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==
 
==Codebeispiel Raspberry Pi==
Programmierbeispiel in der Programmiersprache Python
+
<pre class="brush:py">
 
+
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
+
 
import RPi.GPIO as GPIO
 
import RPi.GPIO as GPIO
import time
+
from time import sleep
+
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()
+
  
</pre>
+
#Initialisiere LED auf Digital-PIN 4 und Button auf Digital-PIN 15
'''Anschlussbelegung Raspberry Pi:'''
+
led = 4
 +
button = 15
  
{| style="height: 58px; padding-left: 30px;" width="228"
+
GPIO.setwarnings(False)
|-
+
GPIO.setmode(GPIO.BCM)
||Signal
+
GPIO.setup(button, GPIO.IN, pull_up_down=GPIO.PUD_UP)
||=
+
GPIO.setup(led, GPIO.OUT)
||GPIO24
+
||[Pin 18]
+
|-
+
||+V
+
||=
+
||3,3V
+
||[Pin 1]
+
|-
+
||GND
+
||=
+
||Masse
+
||[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
+
while True:
 +
    if GPIO.input(button) == GPIO.HIGH:
 +
        GPIO.output(led, True)
 +
    else:
 +
        GPIO.output(led, False)
 
</pre>
 
</pre>

Aktuelle Version vom 19. Oktober 2016, 14:27 Uhr

Bild

lk button1.png

Technische Daten / Kurzbeschreibung

Linker Kit Platine mit 1 Druckknopf


Codebeispiel Arduino

const int ButtonPin=9;
void setup() {
  pinMode(ButtonPin, INPUT);
  Serial.begin(9600);        
}
 
void loop() {
  int sensorValue = digitalRead(ButtonPin);
  if(sensorValue==1)
  {
    Serial.println("High");    
  }
  else
  {
    Serial.println("Low");     
 
  }
}

Codebeispiel Raspberry Pi

import RPi.GPIO as GPIO
from time import sleep

#Initialisiere LED auf Digital-PIN 4 und Button auf Digital-PIN 15
led = 4
button = 15

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(button, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(led, GPIO.OUT)

while True:
    if GPIO.input(button) == GPIO.HIGH:
        GPIO.output(led, True)
    else:
        GPIO.output(led, False)