Erweiterungen und Modifikationen - teuler/robotling GitHub Wiki
- Drei Distanzsensoren am Sensorarm
- DotStar FeatherWing anschließen
- M4 Express anstatt HUZZAH32 Feather-Modul
Erweiterungen
Drei Distanzsensoren am Sensorarm
Mit dem GP2Y0AF15X ist ein deutlich kompakterer Sharp Infrarot-Distanzsensor erhältlich. Mit drei dieser Sensoren lässt sich ein Aufbau basteln, mit dem der Bereich vor dem Roboter so überwacht wird, dass kein hin- und herschwenken des Kopfs mehr notwendig ist (Video).
Der Sensor ist allerdings nur für einen Bereich von 1 bis 15 cm spezifiziert und daher ist die Erkennung von Hindernissen/Kanten etwas schwieriger - eine Kante sieht (wegen Reflexionen?) auf eine bestimmte Entfernung für den Roboter aus wie ein Hindernis. Daher verwechselt der Roboter manchmal Kanten und Hindernisse, aber zumindest vermeidet er beides verlässlich.
DotStar FeatherWing anschließen
Auf das Feather-Modul mit dem Mikroprozessor können sogenannte FeatherWings aufgesteckt werden, wie z.B. das Adafruit DotStar FeatherWing, das eine Anzeige enthält, die aus einer 6x12 Matrix von RGB-LEDs besteht. Im Bild rechts sieht man das Modul auf einen Robotling aufgesteckt.
Dafür müssen die Steuerleitungen der DotStar-Matrix an den I²C Bus-angeschlossen werden (siehe Abbildung rechts):
- Zunächst durchtrennt man die Verbindungen bei
DIN
undCIN
, - dann lötet man ein kurzes Kabel von
DIN
zuMOSI
(Pin 18) ... - und ein weiteres kurzes Kabel von
CIN
zuSCK
(Pin 5).
Durch das Hinzufügen von "dotstar_feather"
zur String-Liste in der Variable MORE_DEVICES
in hexbug_config.py
wird der entsprechende Treiber geladen. Der Demo-Code benutzt dann die 6x12 RGB-Matrix, um den Zustand des Roboters zu visualisieren.
Die der Python-Treiber (...\driver\dotstar.py
) basiert auf dem entsprechenden CircuitPython-Modul von Adafruit.
Modifikationen
M4 Express anstatt HUZZAH32 Feather-Modul
Der Demo-Code (Release v1.5) wurde auch mit CircuitPython und Adafruits Feather M4 Express getestet. Das M4 Express-Modul enthält statt eines ESP32 einen ATSAMD51 Cortex M4-Mikrokontroller. Dieser verfügt zwar weder über Bluetooth noch WLAN, hat dafür aber einen onboard-NeoPixel, ein kleines Experimentierfeld und eine etwas schnellere FPU.
Um das M4 Express-Modul zu verwenden, muss eine Kabelbrücke angelötet werden, die A0
und A3
verbindet (siehe Abbildung rechts). Der Hintergrund ist der, dass das M4 Express-Modul an Pin A0
keine PWM-Funktionalität unterstützt, dieser Pin vom "robotling"-Board aber für die Ansteuerung von einem Kanal des Motortreibers benötigt wird.
Weiter zu Telemetrie über MQTT