| TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
| Deutsch English |
![]()
DU LERNST HIER... |
wie du die weiterführenden Funktionen des mbRobots Plus V3 verwenden kannst. Das neueste Maqueen-Modell Plus V3 verfügt neben den Funktionen, die in den vorhergehenden Kapiteln beschrieben sind, über folgende Funktionen:
|
WIE FUNKTIONIERT LIDAR? |
Maqueen Plus V3 ist mit einem Matrix-Lidar-Sensor ausgestattet. Innerhalb des 60-Grad-Erfassungsbereichs liefert er eine Matrix mit 64 Messwerten.
Für die Distanz-Messung kann man folgende Funktionen verwenden:
|
MUSTERBEISPIELE |
from mbrobot_plusV3 import * repeat: row = getDistanceRow(4) #8 Values left to right print(row) print(row[1], row[7]) if row[1] < row[7]: setLEDLeft(0) setLEDRight(1) else: setLEDLeft(2) setLEDRight(0) delay(100) Beispiel 3: Was "sieht" der LIDAR-Sensor?
from mbrobot_plusV3 import * def readData(): data = getDistanceList() matrix = [] for row in range(8): rowData = [data[row * 8 + col] for col in range(8)] matrix.append(rowData) return matrix def showMap(matrix): for row in matrix: line = "" for val in row: if val < 30: line += " X " elif val < 60: line += " x " elif val < 100: line += " - " elif val < 150: line += " . " else: line += " " print(line) print("") print("------------------------------") print("") while True: matrix = readData() showMap(matrix) delay(3000) |
PID CONTROL |
Maqueen Plus V3 verfügt über einen Motorencoder, mit dem du die Vorwärtsbewegung und der Lenkwinkel des Roboters präzise steuern kannst. |
MUSTERBEISPIEL |
Beispiel 1: Fahren und Drehen mit PID-Control from mbrobot_plusV3 import * pidControlDistance(1, 20) pidControlDistance(2, 20) pidControlAngle(90) pidControlAngle(-90) pidControlDistance(1, 20) : der Roboter bewegt sich 20 cm vorwärts. |
LICHTSENSOREN |
readLightIntensity(0) gibt den Lichtwert des rechten Sensors (0 - 1023) |
MUSTERBEISPIEL |
Beispiel 1: Den Roboter mit einer Taschenlampe steuern
Den Grenzwert von 250 muss du eventuell der Umgebungshelligkeit anpassen. from mbrobot_plusV3 import * setSpeed(30) repeat: vR = readLightIntensity(0) #right vL = readLightIntensity(1) #left print(vR, vL) if vR > 250: rightArc(0.2) elif vL > 250: leftArc(0.2) else: forward() delay(100) |
KREUZUNG ERKENNUNG |
MbRobot Plus V3 erkennt die Kreuzungen, T-Kreuzungen, Links-, Rechts-abbiege und Geradekreuzungen. |
MUSTERBEISPIEL |
from mbrobot_plusV3 import * repeat: forward() if intersectionDetecting(): stop() sleep(100) |
MERKE DIR... |
Lidar-Sensor misst die Distanz zu Objekten, die sich vor ihn befinden und liefert eine Matrix mit 64 Messwerten. Je nach Problemstellung, kannst du nur einen Wert, eine Liste der Werte in einer Reihe oder eine Liste aller 64 Messwerte verwenden Mit PID Control kannst du den Roboter um eine genaue Distanz (in cm) vorwärts oder rückwärts bewegen, oder um einen Winkel drehen. Mit den Lichtsensoren kannst du die Umgebungsbeleuchtung messen. Die Messwerte liegen im Bereich 0 bis 1023. Höhere Werte bekommst du insbesondere dann, wenn du die Sensoren mit einer Taschenlampe beleuchtest. Die Funktion intersectionDetecting() gibt 1 zurück, wenn sich der Roboter auf einer Kreuzung befindet. Um die Art der Kreuzung fest zu legen, verwendest du mit Vorteil die Infrarotsensoren irL2 bzw. irR2, welche die Helligkeit der Unterlage neben dem Fahrstreifen detektieren können. |
ZUM SELBST LÖSEN |
|
![]()