KY-032 Hindernis Detektor Modul: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel Raspberry Pi) |
|||
(2 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 17: | Zeile 17: | ||
− | 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. | + | 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, da die gewünschte Programmierung z.B. nicht vorsieht, 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]] | [[Datei:KY-032_Jumper.jpg|none]] | ||
− | |||
− | |||
==Pin-Belegung== | ==Pin-Belegung== | ||
Zeile 60: | Zeile 58: | ||
'''Anschlussbelegung Arduino:''' | '''Anschlussbelegung Arduino:''' | ||
− | {| style="height: | + | {| style="height: 122px; padding-left: 30px;" width="564" |
|- | |- | ||
||Sensor Enable | ||Sensor Enable | ||
Zeile 120: | Zeile 118: | ||
'''Anschlussbelegung Raspberry Pi:''' | '''Anschlussbelegung Raspberry Pi:''' | ||
− | {| style="height: | + | {| style="height: 101px; padding-left: 30px;" width="426" |
|- | |- | ||
||Enable | ||Enable | ||
Zeile 145: | Zeile 143: | ||
'''Beispielprogramm Download''' | '''Beispielprogramm Download''' | ||
− | [[Medium:KY- | + | [[Medium:KY-032_RPi_HindernisDetektor.zip|KY-032_RPi_HindernisDetektor.zip]] |
Zu starten mit dem Befehl: | Zu starten mit dem Befehl: | ||
− | <pre class="brush:bash">sudo python KY- | + | <pre class="brush:bash">sudo python KY-032_RPi_HindernisDetektor.py |
</pre> | </pre> |
Aktuelle Version vom 8. April 2016, 12:46 Uhr
Inhaltsverzeichnis
Bild
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]
Zustand 1: Detektor hat Hindernis erkannt [LED auf dem Modul: Ein] [Sensor Signal= Digital Aus]
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, da die gewünschte Programmierung z.B. nicht vorsieht, so muss man die Steckbrücke (siehe grün im Bild) mit der Beschriftung "EN" entfernen und auf den "Enable-Pin" ein Steuersignal aktivieren.
Pin-Belegung
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
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-032_RPi_HindernisDetektor.zip
Zu starten mit dem Befehl:
sudo python KY-032_RPi_HindernisDetektor.py