Skip to content
Thomas Euler edited this page Apr 7, 2021 · 78 revisions

Was ist "robotling"?

"robotling" ist eine kleine Platine, die alles enthält, um kleine Roboter zu steuern.

Es gibt bereits viele derartige Platinen - einfachere und kompliziertere - und daher sollte man meinen, dass es keinen Bedarf für weitere solcher Platinen gibt. Wenn man jedoch ein konkretes Projekt im Auge hat und möglichst wenige Kompromisse eingehen will, ist der Entwurf einer eigenen Platine ein spannender Weg.

Drawing

Das Ergebnis ist das hier beschriebene "robotling"-Board mit folgenden Eigenschaften:

  • Einfache PCB-Platine, die ohne viel Löterfahrung zusammengebaut werden kann
  • Viele Erweiterungsmöglichkeiten
  • Flexibilität in der Mikroprozessorwahl durch Kompatibilität mit dem "feather"-Format von Adafruit
  • (Micro)Python als Programmiersprache
  • Unterstützung für WiFi, bluetooth (z.B. für Anbindung ans Netz)
  • Offene Software und Hardware

Als konkretes Bespiel wird hier gezeigt, wie "robotling" eine Spielzeugspinne von HexBug steuert, und dabei Hindernissen und Abgründen aus dem Weg geht (Videos 1, 2, und 3). Die aktuelle Version benutzt eine Infrarot-Kamera und einer Wärmequelle zu folgen (4, 5).

Publikationen

In der Make: Ausgabe 02/2019 und 3/2019 wurden MicroPython ("Einstieg in MicroPython") und der Robotling ("Krabbeltier mit Python-Antrieb") vorgestellt. Im Make: Sonderheft Robotik wird die MQTT-Kommunikation mit dem Roboter erläutert ("Krabbelroboter sendet Telemetrie"). In der Make:-Ausgabe 01/2021 wird die Objekterkennung mittels eines Wärmebildsensors gezeigt ("MicroPython beschleunigen").

Drawing Drawing Drawing

Cover-Fotos: Heise-Verlag. Zuständige Redakteurin: Helga Hansen.

Inhaltsverzeichnis

  1. Board
  2. Installation
  3. Zusammenbau
    3.1 Übersicht
    3.2 Bauteile
    3.3 HexBug-Spinne zerlegen
    3.4 Montage des Adapters und des Sensorarms
    3.5 Montage von Akku und Platine
  4. "robotling"-Code hochladen und Demo starten
  5. "Verhalten"
  6. Sensoren etc.
  7. Erweiterungen und Modifikationen
  8. Telemetrie über MQTT
  9. Adding native modules to MicroPython (Englisch)

Repository-Struktur

├───board                          Platine als .fzz (Fritzing), Bestückungsliste
│   ├───1_2_extended_Gerber        - Gerber-Dateien für die Platinenversion v1.2
│   ├───1_3_extended_Gerber        - Gerber-Dateien für die Platinenversion v1.3 
├───code  
│   ├───modules/blob               - C code für `blob`-Modul
│   ├───firmware_esp32             - Firmware inklusive `blob`-Modul
│   └───robotling                  Demo (.py)
├───pictures                       Bilder für Wiki
└───printed_parts                  zu druckende Teile, .stl, .scad (OpenSCAD-Skript)