KY-003 Hall Magnetfeld-Sensor Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
==Bild==
 
==Bild==
[[Datei:ky-003.jpg|none|358x358px]]
+
[[Datei:lk_accel.png|none]]
  
 
==Technische Daten / Kurzbeschreibung==
 
==Technische Daten / Kurzbeschreibung==
Chipsatz: A3141
+
Linker Kit Platine mit Beschleunigungs-/Bewegungssensor
  
Sensortyp: Hall Effect Transistor/Schalter
 
  
 
Der Transistor schaltet durch, falls das Modul in ein Magnetfeld gehalten wird. Dies kann dann am Signalausgang als analoger Spannungswert ausgelesen werden.
 
 
==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">#include "Arduino.h"
 
+
<pre class="brush:cpp">int Led = 13 ;// Deklaration des LED-Ausgangspin
+
int Sensor = 10; // Deklaration des Sensor-Eingangspin
+
int val; // Temporaere Variable
+
 
   
 
   
void setup ()
+
const int s1_pin = 3;
{
+
const int s2_pin = 2;
  pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
+
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
+
void setup(){
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
+
pinMode (s1_pin, INPUT);
 +
pinMode (s2_pin, INPUT);
 +
        Serial.begin (9600);
 
}
 
}
 
   
 
   
void loop ()
+
void loop (){
{
+
if(digitalRead (s1_pin)){
  val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
+
Serial.println ("Knopf 1 wurde gedrückt!");  //Ausgabe
 +
}
 +
delay (50);                                          //wartet 0,05 Sekunden
 +
if(digitalRead (s2_pin)){
 +
Serial.println ("Knopf 2 wurde gedrückt!");  //Ausgabe
 +
}
 +
delay (50);                                         //wartet 0,05 Sekunden
 
   
 
   
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
+
} </pre>
  {
+
    digitalWrite (Led, LOW);
+
  }
+
  else
+
  {
+
    digitalWrite (Led, HIGH);
+
  }
+
}
+
</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>
 
+
<pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet
+
import RPi.GPIO as GPIO
+
import time
+
+
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>
+
'''Anschlussbelegung Raspberry Pi:'''
+
 
+
{| style="height: 58px; padding-left: 30px;" width="228"
+
|-
+
||Signal
+
||=
+
||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:
+
==Downloads==
 +
Info(engl.):[[Medium:001267836-da-01-en-linker_kit_platine_mit_2_druckknoepfen.pdf|001267836-da-01-en-linker_kit_platine_mit_2_druckknoepfen.pdf]]
  
<pre class="brush:bash">sudo python SensorTest_RPi.py
+
Schaltung: [[Medium:001267836-sp-01-en-linker_kit_platine_mit_2_druckknoepfen.pdf|001267836-sp-01-en-linker_kit_platine_mit_2_druckknoepfen.pdf]]
</pre>
+

Version vom 19. August 2016, 15:37 Uhr

Bild

lk accel.png

Technische Daten / Kurzbeschreibung

Linker Kit Platine mit Beschleunigungs-/Bewegungssensor


Codebeispiel Arduino

#include "Arduino.h"
 
const int s1_pin = 3;
const int s2_pin = 2;
 
void setup(){
	pinMode (s1_pin, INPUT);
	pinMode (s2_pin, INPUT);
        Serial.begin (9600);
}
 
void loop (){
	if(digitalRead (s1_pin)){
		Serial.println ("Knopf 1 wurde gedrückt!");  //Ausgabe
	}
	delay (50);                                          //wartet 0,05 Sekunden
	if(digitalRead (s2_pin)){
		Serial.println ("Knopf 2 wurde gedrückt!");  //Ausgabe
	}
	delay (50);                                          //wartet 0,05 Sekunden
 
} 


Codebeispiel Raspberry Pi

 

Downloads

Info(engl.):001267836-da-01-en-linker_kit_platine_mit_2_druckknoepfen.pdf

Schaltung: 001267836-sp-01-en-linker_kit_platine_mit_2_druckknoepfen.pdf