Änderungen

KY-033 Tracking Sensor Modul

2.930 Byte hinzugefügt, 12:01, 8. Apr. 2016
/* Codebeispiel Raspberry Pi */
==Bild==
[[Datei:ky-033.jpg|358x358px|none|358x358px]]
==Technische Daten / Kurzbeschreibung==
Das Sensor-Modul erkennt ob sich eine lichtreflektierende oder lichtabsorbierende Fläche vor dem Sensor befindet; der digitale Ausgang gibt aus was . Was aktuell der Fall ist—dies kann man z.B. dazu nutzenist, um eine Linie zu folgengibt das Modul an seinem digitalen Ausgang aus, wie es in den unteren Bildern aufgezeigt ist. Die  Die Empfindlichkeit (resultierender Mindestabstand) des Sensors, kann hierbei mit dem Regler reguliert werden. Dieses Verhalten kann man in Steuerungen einsetzten, wie sie z.B. bei Robotern Verwendung finden, um damit autonom einer Linie folgen zu können.  <u>'''Zustand 1''': Line Tracker ist über einer Line (nicht reflektierenden Fläche) [LED auf dem Modul: Aus] [Sensor Signal= Digital Ein]</u> [[Datei:KY-033_LineOn.jpg|none|632x355px]]  <u>'''Zustand 2''': Line Tracker ist außerhalb einer Line (reflektierenden Fläche) [LED auf dem Modul: AN] [Sensor Signal= Digital Aus]</u>  [[Datei:KY-033_LineOff.jpg|none|632x355px]]
==Codebeispiel Arduino==
Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Konsole aus, ob der Linetracker sich aktuell auf der Linie befindet oder nicht <pre class="brush:cpp">int sensorPin Sensor = A510; / / select the input pinDeklaration des Sensor-Eingangspinint ledPin = 13; / / select the pin for the LEDint sensorValue = 0; / / variable to store the value coming from thesensor void setup () {pinMode (ledPin, OUTPUT); 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 der Linetracker sich aktuell // auf der Linie befindet oder nichtvoid loop () {sensorValue bool val = analogRead digitalRead (sensorPinSensor);// Das gegenwärtige Signal am Sensor wird ausgelesendigitalWrite if (ledPin, val == HIGH);// Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.delay (sensorValue); {digitalWrite Serial.println(ledPin, LOW"LineTracker ist ueber der Linie");delay } else { Serial.println(sensorValue"Linetracker ist ausserhalb der Linie"); } Serial.println (sensorValue, DEC"------------------------------------"); delay(500);// Pasuse zwischen der Messung von 500ms
}
 
</pre>
 
'''Anschlussbelegung Arduino:'''
 
{| style="height: 58px; padding-left: 30px;" width="228"
|-
||Sensor Signal
||=
||[Pin 10]
|-
||Sensor +V
||=
||[Pin 5V]
|-
||Sensor GND
||=
||[Pin GND]
|}
 
'''Beispielprogramm Download'''
 
[[Medium:KY-033_TrackingSensor.zip|KY-033_TrackingSensor.zip]]
 
==Codebeispiel Raspberry Pi==
Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Konsole aus, ob der Linetracker sich aktuell auf der Linie 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 "LineTracker ist ueber der Linie"
else:
print "Linetracker ist ausserhalb der Linie"
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"
|-
||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>
Bürokrat, Administrator
611
Bearbeitungen