KY-032 Hindernis Detektor Modul: Unterschied zwischen den Versionen

Aus Linkerkit.de

Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „==Bild== none ==Technische Daten / Kurzbeschreibung== Trifft das ausgesendete Infrarot Licht auf ein Hindernis, so wird dieses reflektier…“)
 
Zeile 3: Zeile 3:
  
 
==Technische Daten / Kurzbeschreibung==
 
==Technische Daten / Kurzbeschreibung==
Trifft das ausgesendete Infrarot Licht auf ein Hindernis, so wird dieses reflektiert und von der Fotodiode detektiert. Die Entfernung, die zum detektieren erreicht werden muss, kann mit den beiden Reglern justiert werden.
+
Trifft das ausgesendete Infrarot Licht auf ein Hindernis, so wird dieses reflektiert und von der Fotodiode detektiert. Die Entfernung, die zum detektieren erreicht werden muss, kann mit den beiden Reglern justiert werden.
 +
 
 +
Dieses Verhalten kann man in Steuerungen einsetzten, wie sie z.B. bei Robotern Verwendung finden, um autonom stoppen zu können, falls sie auf ein Hindernis zu fahren würden.
 +
 
 +
<u>'''Zustand 1''': Vor dem Detektor ist kein Hindernis [LED auf dem Modul: Aus] [Sensor Signal= Digital Ein]</u>
 +
 
 +
[[Datei:KY-032_OFF.jpg|none|632x355px]]
 +
 
 +
 
 +
'''Zustand 1''': Detektor hat Hindernis erkannt [LED auf dem Modul: Ein] [Sensor Signal= Digital Aus]
 +
 
 +
 [[Datei:KY-032_ON.jpg|none|632x355px]]
 +
 
 +
 
 +
Dieser Sensor besitzt mit dem zusätzlichen Pin "Enable" die Möglichkeit die Hindernis-Detektion mittels Kontroller zu aktivieren oder zu deaktivieren. Standardmäßig ist bei diesem Sensor dieses aktiviert, also dauerhaft wird die Detektion durchgeführt - möchte man dies nicht, so muss man die Steckbrücke (siehe grün im Bild) mit der Beschriftung "EN" entfernen und auf den "Enable-Pin" ein Steuersignal aktivieren.
 +
 
 +
[[Datei:KY-032_Jumper.jpg|none]]
 +
 
 +
 
  
 
==Pin-Belegung==
 
==Pin-Belegung==
[[Datei:4_E_S_V_G.png|450x235px|none]]
+
[[Datei:4_E_S_V_G.png|none|450x235px]]
  
 
==Codebeispiel Arduino==
 
==Codebeispiel Arduino==
<pre class="brush:cpp">int Led = 13 ;// define LED Interface
+
Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Konsole aus, ob der Hindernis Detektor sich aktuell vor einem Hindernis befindet oder nicht
int buttonpin = 3; // define the obstacle avoidance sensor interface
+
 
int val ;// define numeric variables val
+
<pre class="brush:cpp">int Sensor = 10; // Deklaration des Sensor-Eingangspin
 +
 
 
void setup ()
 
void setup ()
 
{
 
{
   pinMode (Led, OUTPUT) ;// define LED as output interface
+
   Serial.begin(9600); // Initialisierung serielle Ausgabe
   pinMode (buttonpin, INPUT) ;// define the obstacle avoidance sensor output interface
+
   pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
 
}
 
}
 +
 
 +
// Das Programm liest den aktuellen Status des Sensor-Pins aus und
 +
// gibt in der seriellen Konsole aus, ob ein Hindernis aktuell erkannt wird
 +
// oder ob kein Hindernis sich vor dem Sensor befindet
 
void loop ()
 
void loop ()
 
{
 
{
   val = digitalRead (buttonpin) ;// digital interface will be assigned a value of 3 to read val
+
   bool val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
   if (val == HIGH) // When the obstacle avoidance sensor detects a signal, LED flashes
+
 
 +
   if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
 
   {
 
   {
     digitalWrite (Led, HIGH);
+
     Serial.println("Kein Hindernis");
 
   }
 
   }
 
   else
 
   else
 
   {
 
   {
     digitalWrite (Led, LOW);
+
     Serial.println("Hindernis erkannt");
 
   }
 
   }
 +
  Serial.println("------------------------------------");
 +
  delay(500); // Pause zwischen der Messung von 500ms
 
}
 
}
 +
 +
</pre>
 +
 +
'''Anschlussbelegung Arduino:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||Sensor Enable
 +
||=
 +
||[N.C. (Steckbrücke gesteckt)]
 +
|-
 +
||Sensor Signal
 +
||=
 +
||[Pin 10]
 +
|-
 +
||Sensor +V
 +
||=
 +
||[Pin 5V]
 +
|-
 +
||Sensor GND
 +
||=
 +
||[Pin GND]
 +
|}
 +
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:KY-032_HindernisDetektor.zip|KY-032_HindernisDetektor.zip]]
 +
 +
==Codebeispiel Raspberry Pi==
 +
Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Konsole aus, ob der Hindernis Detektor sich aktuell vor einem Hindernis befindet oder nicht
 +
 +
<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.
 +
GPIO_PIN = 24
 +
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
 +
 +
# Pause  zwischen der Ausgabe des Ergebnisses wird definiert (in Sekunden)
 +
delayTime = 0.5
 +
 +
print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"
 +
 +
# Hauptprogrammschleife
 +
try:
 +
        while True:
 +
            if GPIO.input(GPIO_PIN) == True:
 +
                print "Kein Hindernis"
 +
            else:
 +
                print "Hindernis erkannt"
 +
            print "---------------------------------------"
 +
 +
            # Reset + Delay
 +
            time.sleep(delayTime)
 +
 +
# Aufraeumarbeiten nachdem das Programm beendet wurde
 +
except KeyboardInterrupt:
 +
        GPIO.cleanup()
 +
 +
</pre>
 +
'''Anschlussbelegung Raspberry Pi:'''
 +
 +
{| style="height: 58px; padding-left: 30px;" width="228"
 +
|-
 +
||Enable
 +
||=
 +
||-
 +
||[N.C. (Steckbrücke gesteckt)]
 +
|-
 +
||Signal
 +
||=
 +
||GPIO24
 +
||[Pin 18]
 +
|-
 +
||+V
 +
||=
 +
||3,3V
 +
||[Pin 1]
 +
|-
 +
||GND
 +
||=
 +
||Masse
 +
||[Pin 6]
 +
|}
 +
 +
'''Beispielprogramm Download'''
 +
 +
[[Medium:KY-033_RPi_Trackingsensor.zip|KY-033_RPi_Trackingsensor.zip]]
 +
 +
Zu starten mit dem Befehl:
 +
 +
<pre class="brush:bash">sudo python KY-033_RPi_Trackingsensor.py
 
</pre>
 
</pre>

Version vom 8. April 2016, 12:41 Uhr

Bild

ky-032.jpg

Technische Daten / Kurzbeschreibung

Trifft das ausgesendete Infrarot Licht auf ein Hindernis, so wird dieses reflektiert und von der Fotodiode detektiert. Die Entfernung, die zum detektieren erreicht werden muss, kann mit den beiden Reglern justiert werden.

Dieses Verhalten kann man in Steuerungen einsetzten, wie sie z.B. bei Robotern Verwendung finden, um autonom stoppen zu können, falls sie auf ein Hindernis zu fahren würden.

Zustand 1: Vor dem Detektor ist kein Hindernis [LED auf dem Modul: Aus] [Sensor Signal= Digital Ein]

KY-032 OFF.jpg


Zustand 1: Detektor hat Hindernis erkannt [LED auf dem Modul: Ein] [Sensor Signal= Digital Aus]

 
KY-032 ON.jpg


Dieser Sensor besitzt mit dem zusätzlichen Pin "Enable" die Möglichkeit die Hindernis-Detektion mittels Kontroller zu aktivieren oder zu deaktivieren. Standardmäßig ist bei diesem Sensor dieses aktiviert, also dauerhaft wird die Detektion durchgeführt - möchte man dies nicht, so muss man die Steckbrücke (siehe grün im Bild) mit der Beschriftung "EN" entfernen und auf den "Enable-Pin" ein Steuersignal aktivieren.

KY-032 Jumper.jpg


Pin-Belegung

4 E S V G.png

Codebeispiel Arduino

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Konsole aus, ob der Hindernis Detektor sich aktuell vor einem Hindernis befindet oder nicht

int Sensor = 10; // Deklaration des Sensor-Eingangspin
  
void setup ()
{
  Serial.begin(9600); // Initialisierung serielle Ausgabe
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
}
  
// Das Programm liest den aktuellen Status des Sensor-Pins aus und
// gibt in der seriellen Konsole aus, ob ein Hindernis aktuell erkannt wird
// oder ob kein Hindernis sich vor dem Sensor befindet
void loop ()
{
  bool val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
  
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
  {
    Serial.println("Kein Hindernis");
  }
  else
  {
    Serial.println("Hindernis erkannt");
  }
  Serial.println("------------------------------------");
  delay(500); // Pause zwischen der Messung von 500ms
}

Anschlussbelegung Arduino:

Sensor Enable = [N.C. (Steckbrücke gesteckt)]
Sensor Signal = [Pin 10]
Sensor +V = [Pin 5V]
Sensor GND = [Pin GND]

Beispielprogramm Download

KY-032_HindernisDetektor.zip

Codebeispiel Raspberry Pi

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Konsole aus, ob der Hindernis Detektor sich aktuell vor einem Hindernis befindet oder nicht

# 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.
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)

# Pause  zwischen der Ausgabe des Ergebnisses wird definiert (in Sekunden)
delayTime = 0.5

print "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"

# Hauptprogrammschleife
try:
        while True:
            if GPIO.input(GPIO_PIN) == True:
                print "Kein Hindernis"
            else:
                print "Hindernis erkannt"
            print "---------------------------------------"

            # Reset + Delay
            time.sleep(delayTime)

# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Anschlussbelegung Raspberry Pi:

Enable = - [N.C. (Steckbrücke gesteckt)]
Signal = GPIO24 [Pin 18]
+V = 3,3V [Pin 1]
GND = Masse [Pin 6]

Beispielprogramm Download

KY-033_RPi_Trackingsensor.zip

Zu starten mit dem Befehl:

sudo python KY-033_RPi_Trackingsensor.py