Open Robots für Maker - Erik Bartmann - E-Book

Open Robots für Maker E-Book

Erik Bartmann

0,0

Beschreibung

DIY-Roboter bauen und programmieren mit Makeblock

Hast du bereits mit LEGO® MINDSTORMS® herumexperimentiert und sehnst dich nach einem Robotik-Set, das dir hinsichtlich Programmierung und Mechanik unendliche Freiheiten bietet? Makeblock-Roboter bieten dir das und noch viel mehr. In diesem Buch erfährst du alles, was du wissen musst, um Roboter ganz nach deinen Vorstellungen zu bauen und zu programmieren – unter Einsatz der smarten Software und Elektronik der Makeblock-Produktwelt.

Folgende Themen erwarten dich:
- Die bunte Welt der Makeblock-Roboter: mBot, Ultimate Robot Kit & Co.
- Programmierung mit der mBlock-Entwicklungsumgebung (inkl. Arduino-Mode) und Steuerung über PC, Fernbedienung & App
- Alles rund um Motoren, LEDs, Bluetooth, Spannungsversorgung & Co.
- Sensoren im praktischen Einsatz: Ultraschall, Licht, Sound, Line-Finder, PIR-Motion-Sensor und Kompassmodul
- Fotos, Videos & Livestreaming mit den Makeblock-Robotern
- IoT-Anwendungen mit Makeblock und Microsoft Azure
- Mit 15 Projekten: Hindernis- und Gesichtserkennung, Rundumsicht-Scanner, Soundmaschine, Alarmsystem, Kameraroboter u.v.m.

Wenn du darauf brennst, deine eigenen Ideen zu verwirklichen, dann liefert dir dieses Buch alle Skills, um mit der Makeblock-Software und -Hardware deinen ganz persönlichen Roboter zu bauen und zu programmieren – wie ein richtiger Entwickler!

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 266

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Erik Bartmann Jörn Donges

Open Robots für Maker

Programmierspaß und smarte Elektronik mit Makeblock

Die Autoren:

Erik Bartmann,BrühlJörn Donges, Hamburg

Alle in diesem Buch enthaltenen Informationen, Verfahren und Darstellungen wurden nach bestem Wissen zusammengestellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grund sind die im vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autoren und Verlag übernehmen infolgedessen keine juristische Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen – oder Teilen davon – entsteht.

Ebenso übernehmen Autoren und Verlag keine Gewähr dafür, dass beschriebene Verfahren usw. frei von Schutzrechten Dritter sind. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt deshalb auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen­ und Markenschutz­Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren) – auch nicht für Zwecke der Unterrichtsgestaltung – reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.

© 2018 Carl Hanser Verlag Münchenwww.hanser-fachbuch.de

Lektorat: Julia Stepp Herstellung: Isabell Eschenberg Umschlagrealisation: Stephan Rönigk

ISBN 978-3-446-45489-7 E-Book-ISBN 978-3-446-45612-9E-Pub-ISBN 978-3-446-45791-1

Verwendete Schriften: SourceSansPro und SourceCodePro (Lizenz) CSS-Version: 1.0

Inhalt

Titelei

Impressum

Inhalt

1 Einführung

1.1 Die faszinierende Welt der Robotik

1.2 Hinweise zum Arbeiten mit diesem Buch

2 Die Makeblock-Produktwelt

2.1 mBot – der Basisroboter

2.2 mBot Ranger – der große Bruder des mBot

2.3 Ultimate Robot Kit – für alle, die es ernst meinen

2.4 Kommt ein Airblock geflogen …

2.5 XY-Plotter Robot Kit

3 Die Sinne des mBot – Sensoren, Aktoren und Verbindungen

3.1 Die RJ-25-Buchsen

3.2 Der USB-Port

3.3 Die RGB-LEDs

3.4 Der Buzzer

3.5 Die Infrarotschnittstelle

3.6 Der Lichtsensor

3.7 Der Taster

3.8 Die Motoranschlüsse

3.9 Der Ein-/Aus-Schalter

3.10 Die externe Spannungsversorgung

3.11 Die Funkverbindung

4 Das Gehirn des mBot – die mBlock-Entwicklungsumgebung

4.1 Die Programmiersprache Scratch

4.2 Die Installation von mBlock

4.3 Die unterschiedlichen Wege, den mBot zu programmieren

4.4 Die Firmware an den mBot senden

4.5 Die Bluetooth-Verbindung herstellen

4.6 Der Arduino-Mode in mBlock

4.7 Die Arduino/Genuino-Entwicklungsumgebung

5 Den mBot über PC und Fernbedienung steuern (Projekt 1)

5.1 Die Steuerung über den PC

5.2 Die IR-Fernbedienung

5.2.1 Was benötigen wir?

5.2.2 Das mBlock-Skript – Einsatz ohne Ultraschallsensor

5.2.3 Das mBlock-Skript – Einsatz mit UItraschallsensor

5.2.4 Einen neuen Block anlegen

5.2.5 Einen neuen Block mit Argumenten anlegen

5.2.6 Varianten

6 Die Makeblock-App für Smartphones und Tablets

6.1 Installieren

6.2 Spielen

6.3 Erstellen

6.4 Bauen

6.5 Weitere Möglichkeiten

7 Der mBot folgt einer Linie – der Line-Finder-Sensor (Projekt 2)

7.1 Was benötigen wir?

7.2 Auf Linie bleiben – der Line-Finder-Sensor

7.3 Das mBlock-Skript

7.4 Weitere Ideen

8 Freifahrt für den mBot – der Ultraschallsensor (Projekt 3)

8.1 Was benötigen wir?

8.2 Das mBlock-Skript

8.3 Nützliche Zusatzinformationen

8.4 Mögliche Varianten

9 Von hell bis dunkel und alles dazwischen – der Lichtsensor (Projekt 4)

9.1 Was benötigen wir?

9.2 Der Lichtsensor auf dem mCore-Board

9.3 Das mBlock-Skript

9.4 Die Koordinatenumrechnung

9.5 Hell dreht schnell

9.6 Weitere Ideen

10 Analog gegen digital – Einsatz von Potenziometer, Joystick und Multimeter

10.1 Was benötigen wir?

10.2 Die ADC-Anschlüsse am Mikrocontroller

10.3 Die Zusammenhänge zwischen Spannung, Strom und Widerstand

10.4 Der Vergleich zwischen Potenziometer und Joystick

10.5 Das mBlock-Skript

10.6 Nützliche Zusatzinformationen

10.7 Fazit

11 Auf Schall reagieren – der Soundsensor (Projekt 5)

11.1 Was benötigen wir?

11.2 Ein zweiter Soundsensor kommt hinzu

11.3 Der tanzende mBot

12 Orientierung ist alles! Das Kompassmodul (Projekt 6)

12.1 Was benötigen wir?

12.2 Das mBlock-Skript

12.3 Nützliche Zusatzinformationen

12.4 Varianten

13 Wir bauen eine Soundmaschine (Projekt 7)

13.1 Was benötigen wir?

13.2 Das mBlock-Skript

13.3 Nützliche Zusatzinformationen

14 Periskop ausfahren! Der Rundumsicht-Scanner – Einsatz von Servomotor und Ultraschallsensor (Projekt 8)

14.1 Was benötigen wir?

14.2 Das mBlock-Skript

14.3 Das ScanLine-Skript

14.4 Das Ping-Skript

14.5 Nützliche Zusatzinformationen

14.6 Fazit

15 Sag es mit Farben! Die RGB-LEDs (Projekt 9)

15.1 Was benötigen wir?

15.2 Die Wahl des Moduls

15.3 Das mBlock-Skript

15.4 Varianten

16 Das Farbenspiel – weitere Einsatzmöglichkeiten der RGB-LEDs (Projekt 10)

16.1 Was benötigen wir?

16.2 Das mBlock-Skript

16.3 Varianten

17 Der mBot zeigt Gesicht – die LED-Matrix (Projekt 11)

17.1 Was benötigen wir?

17.2 Das mBlock-Skript für „zeige Text“

17.3 Das mBlock-Skript für „zeige Zeit“

17.4 Das mBlock-Skript für „zeige Zeichnung“

17.5 Nützliche Zusatzinformationen

17.6 Mögliche Varianten

18 Das große Krabbeln – der mBot wird zum Käfer (Projekt 12)

18.1 Was benötigen wir?

18.2 Wir montieren die Kuppelstangen

18.3 Das große Krabbeln beginnt

19 Wir bauen einen Kameraroboter – das Ultimate Robot Kit (Projekt 13)

19.1 Was benötigen wir?

19.2 Aufbau

19.3 Eine Kamerafahrt steuern

19.4 Livestreams der Kamera übertragen

20 Ab in die Cloud! IoT-Anwendungen mit Makeblock und Microsoft Azure (Projekt 14)

20.1 Die Cloud-Computing-Plattform Microsoft Azure

20.2 Gesichtserkennung mit Makeblock und Microsoft Azure

21 Das mBot-Standardprogramm

21.1 Was benötigen wir?

21.2 Aktionen über die IR-Fernbedienung ausführen

21.3 Nützliche Zusatzinformationen

22 Der mBot wird zum Wachhund – ein Alarmsystem auf Basis des PIR-Motion-Sensors (Projekt 15)

22.1 Was benötigen wir?

22.2 Programmierung mit Python

22.3 Das mBlock-Skript

22.4 Der Arduino-Sketch

22.5 Das Python-Skript

22.6 Varianten

1. Einführung
1.1 Die faszinierende Welt der Robotik

Wir leben in einem spannenden Zeitalter. Die Digitalisierung erfasst immer mehr Bereiche des alltäglichen Lebens und hat schon begonnen, die Gesellschaft nachhaltig zu verändern. Heutzutage ist nahezu jede Art von Fachwissen innerhalb von Sekunden verfügbar. Menschen auf der ganzen Welt sind miteinander vernetzt und tauschen sich in Echtzeit aus, egal, wie weit sie voneinander entfernt sind. Doch nicht nur die Kommunikation und das Arbeitsleben verändern sich durch die digitale Revolution. Wir sind mehr und mehr in der Lage, gefährliche oder auch sehr monotone Arbeiten auszulagern und an Maschinen abzugeben. In modernen Fabrikationshallen für Autos haben Menschen nur noch beaufsichtigende Funktionen. Es sind Roboter, die an den Fließbändern zielsicher die Fahrzeuge zusammensetzen. Auch in lebensfeindlichen Umgebungen tun sie ihren Dienst. Roboterfahrzeuge sind schon bis auf den Mond oder sogar zum Planeten Mars vorgedrungen. Auch im Haushalt treffen wir die kleinen Helfer immer häufiger an, sei es als intelligenter Staubsauger, als Rasenmäher oder Putzroboter.

Bild 1.1Greifarm eines modernen Industrieroboters (Quelle: Pixabay)

Die meisten Menschen denken beim Begriff Roboter zuerst an humanoide Roboter, also technische Nachbildungen des Menschen. Der Cyborg oder Android hat seinen festen Platz in der Science-Fiction-Literatur und bestimmt wohl auch deshalb die Vorstellungen, die wir von Robotern haben. Tatsächlich werden die humanoiden Roboter vor allem im technikbegeisterten Japan geliebt und perfektioniert.

Bild 1.2Ein humanoider Roboter (Quelle: Pixabay)

Doch auch dort, wo man es nicht auf den ersten Blick vermutet, verrichten Roboter ihre Arbeit. Es dauert nicht mehr lange, bis Autos in der Lage sein werden, vollkommen autonom zu fahren. Der Fahrer kann sich entspannt zurücklehnen und sich vom Auto ans Ziel bringen lassen. Er muss lediglich die Fahrt überwachen und in Ausnahmesituationen eingreifen. Zunehmend beliebter werden auch kleine Multicopter/Drohnen, die heutzutage aus Filmaufnahmen schon nicht mehr wegzudenken sind und die auch für Landvermessungen benutzt werden. Mit ihren Fähigkeiten, automatisch die Höhe zu halten oder einem Sender zu folgen, sind auch sie Roboter.

Letztlich fallen auch so profane Geräte wie Brotbackautomaten oder die intelligente Waschmaschine mit Schonprogramm in diese Kategorie: Es sind Maschinen, die von einem programmierbaren Controller gesteuert werden und sich daher in ihrem Verhalten flexibel an die Gegebenheiten anpassen können. Dies bezeichnen wir im weitesten Sinne als Roboter.

Sicher fallen dir noch weitere Beispiele ein. Alle haben eine gemeinsame Struktur. Da sind einmal die Sensoren, mit denen Roboter die Umgebung wahrnehmen und sich ein Bild von ihrer Umwelt machen können, bestehend aus Messwerten. Das können Temperatur, Druck oder Lichtsensoren sein, aber auch komplexere Geräte wie eine Kamera oder ein Radar. Alles, was dem Roboter hilft, seine Umwelt wahrzunehmen, bezeichnen wir als Sensor.

Das Gegenteil davon sind sozusagen die Gliedmaßen, also alle Teile, durch die der Roboter auf seine Umgebung einwirken und etwas verändern kann. Diese bezeichnen wir als Aktoren. Dazu zählen z. B. Motoren, Greifarme oder auch Lampen und Displays, die Informationen anzeigen.

Zwischen Sensoren und Aktoren steht eine mehr oder weniger intelligente Verarbeitung. Ein wesentlicher Aspekt von Robotern ist, dass sie programmierbar sind und damit die große Welt der Software mit ins Boot holen. Es sind Algorithmen, die darüber bestimmen, wie der Roboter auf die Umweltdaten reagiert und welche Handlungen er ausführt.

Die Einsatzgebiete sind nahezu unbegrenzt und halten Einzug in vielen unterschiedlichen Bereichen, um die Arbeit des Menschen zu erleichtern oder ihn komplett zu ersetzen.

1.2 Hinweise zum Arbeiten mit diesem Buch

Das erwartet dich in diesem Buch

Dieses Buch ist eine Einführung in die faszinierende Welt der Robotik. Du brauchst keine Vorkenntnisse, denn wir werden alles von Grund auf erklären und aufbauen. Doch auch wenn du schon ein wenig programmieren kannst und nun deine Ideen nicht nur am Bildschirm verwirklichen willst, sondern live und in 3D einen kleinen Roboter steuern willst, dann bist du hier richtig.

Es gibt diverse Hersteller kleiner Robotermodelle, die von purem Spielzeug bis hin zu fast professionellen Plattformen zur Entwicklung von Robotikprojekten reichen. Wir haben uns dafür entschieden, unsere Projekte mit den Robotern der Firma Makeblock zu verwirklichen. Die Makeblock-Roboter können dich einen sehr weiten Teil deiner Robotikkarriere begleiten. Sie sind einfach genug, um auch für Kinder einen spielerischen Einstieg ins Thema zu gewährleisten. Gleichzeitig bieten sie Fortgeschrittenen und Profis die notwendige Offenheit, um auch sehr komplexe Schaltungen und Programmierungen umzusetzen.

Für den Einstieg steht die grafische Programmierplattform mBlock mit der Programmiersprache Scratch bereit, für die du keinerlei Code eingeben musst. Die Anweisungen an den Roboter kannst du einfach grafisch am Bildschirm erstellen, indem du Funktionsblöcke mit der Maus verschiebst und verbindest. Dank der Nutzung von Arduino-Controllern als Hirn und Schaltzentrale der Makeblock-Roboter steht dir darüber hinaus als Maker das riesige Arduino-Universum zur Verfügung. Es gibt etliche interessante Arduino-Projekte in Büchern und im Internet, die du nachbauen und mit deinen Makeblock-Robotern verbinden kannst. Anregungen für eigene Projekte kannst du dir z. B. im Buch Mach was mit Arduino! (ISBN 978-3-446-45128-5) von Robert Jänisch und Jörn Donges holen, das ebenfalls im Hanser Verlag erschienen ist.

So ist dieses Buch aufgebaut

In Kapitel 2 werfen wir einen Blick auf die Makeblock-Produktwelt und gehen auf die unterschiedlichen Eigenschaften der Makeblock-Roboter und -Drohnen ein.

Kapitel 3 und 4 enthalten wichtige Grundlagen, die wir für die Verwirklichung unserer Projekte brauchen. Wir nehmen uns darin das kleine Roboterfahrzeugs mBot genauer vor. Wir stellen alle Sensoren und Anschlüsse sowie die Entwicklungsumgebung vor, mit der du den mBot und andere Robotermodelle steuern und programmieren kannst.

In Kapitel 5 springen wir mitten in die Praxis und entwickeln auf zwei unterschiedliche Weisen eine Fernsteuerung für den mBot.

Kapitel 6 ist dem Einsatz mobiler Geräte gewidmet. Es stellt die wichtigsten Apps genauer vor, die man beim Arbeiten mit Makeblock-Robotern verwenden kann.

Zu den Standardanwendungen für kleine Roboterfahrzeuge gehört das automatische Folgen einer Linie auf dem Boden oder das Erkennen von Hindernissen mit einem Ultraschall-Sensor. Diese Projekte stellen wir in Kapitel 7 und 8 vor.

In Kapitel 9 bis 12 widmen wir uns den einzelnen Sensoren und experimentieren mit dem Lichtsensor, dem Schallsensor und dem Kompass-Modul.

Mit der Soundmaschine erwartet dich in Kapitel 13 ein besonderes Projekt. Wir verwandeln den mBot in ein Keyboard zum Musik machen. Dieses Projekt stellt etwas höhere Anforderungen an deine Elektronik-Fertigkeiten. Du lernst, Schaltungsprototypen mit einer Lochrasterplatine aufzubauen.

Auch Kapitel 14 stellt ein Projekt für fortgeschrittene Maker vor. Der mBot erhält eine Radar-Antenne als Rundumsicht-Scanner.

Kapitel 15 bis 17 stehen im Zeichen von Licht und Farbe. Wir lernen die RGB-LEDs und ein Farbenspiel kennen. Danach verpassen wir dem mBot eine LED-Matrix, auf der wir Muster und Laufschriften zum Leben erwecken.

In Kapitel 18 kannst du deine mechanischen Fähigkeiten unter Beweis stellen und den mBot vom Radantrieb auf einen sechsbeinigen Antrieb umstellen.

Wenn du mit einer Filmkarriere liebäugelst, dann ist der Kamera-Bot aus Kapitel 19 etwas für dich. Darin konstruieren wir auf Basis des Ultimate Robot Kit einen praxistauglichen Kamerawagen für Smartphone oder Spiegelreflexkameras. Über eine Streaming-App werden wir das Kamerabild, das der Bot aufnimmt, in Echtzeit auf einem Bildschirm streamen.

Wenn du dich für Cloud-Anwendungen und das Internet of Things (IoT) interessierst, dann solltest du auf jeden Fall das Projekt in Kapitel 20 durcharbeiten, in welchem wir die Microsoft-Azure Cloud nutzen, um Gesichter auf einem Kamerabild zu erkennen.

Kapitel 21 widmet sich dem Programm, das auf dem mBot bei Inbetriebnahme standardmäßig installiert ist.

Zum Abschluss präsentieren wir mit dem Alarmsystem in Kapitel 22 ein anspruchsvolleres Projekt, bei dem du die Meldung eines Bewegungssensors über ein in Python programmiertes Skript automatisch per E-Mail verschicken kannst.

Los geht's!

Doch nun ist es an der Zeit, den Protagonisten unserer Reise durch die Roboterwelt genauer kennenzulernen. Es ist der mBot von Makeblock, mit dem fast alle Projekte in diesem Buch (bis auf den Kameraroboter aus Kapitel 19) realisiert werden. Er ist das kleinste Modell der Makeblock-Roboter, aber auch mit ihm lässt sich schon so einiges Interessantes anstellen. Wir wünschen dir viel Spaß beim Entdecken, Nachbauen und Experimentieren!

Brühl/Hamburg, Januar 2018

Erik Bartmann

Jörn Donges

2. Die Makeblock-Produktwelt

Der mBot ist das erste Produkt der Firma Makeblock. Er wurde vom chinesischen Flugzeugkonstrukteur Jason Wang entwickelt, der sich über die Qualität der existierenden Roboterbausätze ärgerte und sich deshalb entschloss, einen eigenen Bausatz zu entwickeln. Herausgekommen ist der mBot. 2011 gründete er die Firma Makeblock, die in Shenzhen ansässig ist. Dort entwickeln ca. 100 Firmenangehörige Roboterbausätze, Zeichencomputer und 3D-Drucker.

Die Firma hat es sich zur Aufgabe gemacht, den Erfindungs- und Basteltrieb in Menschen zu wecken bzw. zu fördern. Kreative Bastler werden in der Szene Maker genannt. Sie zeichnen sich durch Experimentierfreudigkeit und den Spaß am Selbermachen aus. Die Philosophie der Firma Makeblock zielt auf das Bereitstellen einer Konstruktionsplattform ab, mit deren Hilfe auf sehr einfache und intuitive Weise sowohl mechanische als auch elektronische Bauteile miteinander kombiniert werden können. Dafür sind weder aufwendiges Werkzeug noch Lötarbeiten notwendig.

Mittlerweile besteht die Makeblock-Produktwelt aus einer Vielzahl weiterer Robotermodelle. Alle Roboter werden als Bausätze ausgeliefert, die relativ einfach zusammenzubauen sind. Damit du einen Eindruck bekommst, welche Produkte Makeblock im Angebot hat, werden wir nun einen Blick auf ausgewählte Modelle werfen und jedes kurz vorstellen.

2.1 mBot – der Basisroboter

Beginnen wir mit dem mBot. Die meisten werden wohl mit diesem Modell den Einstieg in die faszinierende Welt der Robotik finden. Er ist einfach zu programmieren und deshalb sowohl für Kinder als auch für Junggebliebene attraktiv. Von Haus aus verfügt er über zahlreiche Sensoren bzw. Aktoren und bietet viele Erweiterungsmöglichkeiten, was zum Experimentieren und Tüfteln anregt. Er kann z. B. per Funk über eine Infrarot-Fernbedienung oder über Bluetooth angesteuert werden, was ihn sehr flexibel macht. Auch per Smartphone kann er ferngesteuert werden, womit der kleine Roboter den Anschluss an die große Welt der mobilen Apps findet.

Bild 2.1Der mBot ist bereit! (© Makeblock Co., Ltd)

Aufgrund der vielen Vorzüge – und die genannten waren bei Weitem noch nicht alle – eignet sich dieses Roboterfahrzeug hervorragend zur ersten Kontaktaufnahme mit dem interessanten Gebiet der Robotik. Der mBot gibt sowohl zu Hause als auch in Klassenzimmer oder Workshops ein gutes Bild ab.

Wer früher einen eigenen Roboter bauen wollte, musste sich mit etlichen mechanischen und elektronischen Bauteilen auseinandersetzen. Man musste z. B. Schaltungen mit Arduino-Komponenten entwickeln, Code dafür schreiben und das Ganze mit mechanischen Komponenten verbinden. Dazu waren umfangreiche Verdrahtungs- und Lötarbeiten nötig. Zwischen der ersten Projektidee und der Realisierung stand eine lange Phase der Planung, der Entwicklung und des Schaltungsaufbaus.

Bild 2.2Beim mBot ist Löten nicht erforderlich.

Mit Makeblock-Komponenten sieht die ganze Sache entspannter aus. Alle Bauteile werden über einfache mechanische und elektrische Verbindungen zusammengesetzt. Da kann wirklich nichts mehr schiefgehen, und es kommt ganz sicher kein Frust auf. Im Regelfall ist lediglich ein kleiner mitgelieferter Multifunktionsschraubendreher erforderlich. Die elektrischen Verbindungen werden über ein ausgeklügeltes farbkodiertes Stecker-Buchsen-System realisiert, was die Sache gerade für Kinder und Jugendliche interessant macht. Maker sind jedoch in allen Altersgruppen auf der nach oben offenen Kreativskala vertreten. Je nach Kenntnisstand kann man natürlich beliebig von den vorgegebenen Bauplänen abweichen und eigene Ideen umsetzen, denn die Makeblock-Systeme bieten eine offene Plattform.

Neben den elektronischen Komponenten stellt das Makeblock-System auch Bauteile für die Mechanik bereit. Sie sind für die Stabilität des Roboters zuständig, aber auch für seine Bewegung. Mit robusten Aluminiumprofilen verschiedener Länge kannst du tragende Strukturen aufbauen und Halt für die Aufbauten schaffen, die du am mBot anbringen möchtest. Das können Sensoren sein, die dir Daten aus der Umgebung deines Roboters liefern, aber auch weitere aktive Bauteile, wie z. B. Motoren, die einen Greifarm oder eine rotierende Radarantenne steuern.

Die Bauteile sind allesamt aufeinander abgestimmt, sodass eine Vielzahl an Kombinationsmöglichkeiten untereinander besteht. Wir werden auf dieses Thema noch detaillierter eingehen. Der Grundgedanke, der hinter allem steckt, fußt auf der sogenannten Open-Source-Technologie. Die Hard- bzw. Software wird nicht aus rein kommerziellen Gesichtspunkten entwickelt, sondern steht jedem mehr oder weniger frei zur Verfügung und kann nach Belieben angepasst werden. Entstehen dadurch neue und innovative Projekte, so werden sie in der Regel der Community zur Verfügung gestellt und ggf. weiterentwickelt, optimiert oder mithilfe anderer Mitglieder Probleme diskutiert und gelöst. Der Wissenstransfer, der Erfahrungsaustausch und das Lernen voneinander haben oberste Priorität. Von außen betrachtet, mutet diese Community wie ein lebender Organismus an, der sich weiterentwickelt, der wächst und Nachwuchs bekommt. Es handelt sich um eine sehr aktive und lebendige Angelegenheit, die entweder zu Hause oder in sogenannten FabLabs oder Hackerspaces betrieben wird.

Unter folgendem Link ist eine kurze Vorstellung des mBot zu finden: https://youtu.be/j1Cr4h_gddE

Intuitive Programmierung mit mBlock

In Kapitel 1 haben wir schon kurz angesprochen, dass man den mBot programmieren kann, ohne eine einzige Codezeile einzugeben. In der Programmiersprache Scratch kannst du die einzelnen Befehle mit der Maus aus einem Vorrat ziehen und damit Programmabläufe zusammenstellen.

Angenommen, wir möchten den mBot bewegen und ihn auch einen Ton von sich geben lassen, würde ein entsprechendes Skript aussehen wie in Bild 2.3.

Bild 2.3Ein einfaches Scratch-Skript

Das sieht doch sehr übersichtlich und verständlich aus, oder? Die einzelnen Befehle, Blöcke genannt, werden von oben nach unten abgearbeitet und fügen sich wie Puzzleteile zusammen. Dazu haben die Blöcke kleine Nasen bzw. Ausbuchtungen, die wie eine Verbindung arbeiten. Die Nase rastet in einer Ausbuchtung ein. Dadurch sind die Codeblöcke zusammengefügt und werden nacheinander vom mBot ausgeführt. Über die Entwicklungsumgebung lassen sich nur die Blöcke zusammenfügen, die logisch zueinanderpassen, was unsinnige Konstrukte verhindert. Dadurch vermeidest du typische Anfängerfehler bei der Programmierung, denn Dinge, die nicht gehen, können gar nicht erst als Code zusammengestellt werden.

Scratch stellt jedoch leider von Haus aus keine Blöcke zur Ansteuerung der Komponenten des mBot zur Verfügung. Zum Glück haben die Entwickler die Sprache Scratch aber erweiterbar gemacht. Über sogenannte Extensions lassen sich neue Funktionen hinzufügen. Die fertige Entwicklungsumgebung mit der mBot-Extension nennt sich mBlock. Unter http://mblock.cc kannst du sie herunterladen.

Mit mBlock kannst du über Scratch nicht nur den mBot ansteuern, sondern noch andere elektronische Komponenten, wie z. B. den Arduino. Detailliertere Informationen zu mBlock erhältst du in Kapitel 4.

Bild 2.4Das Arduino/Genuino-Board

Für (angehende) Experten steht zudem die Arduino-Entwicklungsumgebung (https://www.arduino.cc) zur Verfügung und bietet mithilfe der von Makeblock zur Verfügung gestellten Bibliotheken nahezu unbegrenzte Programmier- und Entfaltungsmöglichkeiten, die keine Wünsche offen lassen.

2.2 mBot Ranger – der große Bruder des mBot

Der mBot ist der ideale Einstieg in die Welt der Robotik, weil er vergleichsweise günstig zu haben ist, dir aber mit seiner Programmierbarkeit und seiner Anbindung an das Arduino-Universum genug Spielraum bietet, um deine Ideen zu verwirklichen. Durch seine mechanische Einfachheit ist er auch in Kinderhänden gut aufgehoben. Wenn du deine Herausforderung jedoch in der Konstruktion komplexer mechanischer Aufbauten siehst, dann kommt das vorgefertigte Chassis des mBot schnell an seine Grenzen, denn viel mehr als ein kleines Fahrzeug kann man damit nicht bauen.

Wenn wir uns in der Welt der Roboter umschauen, dann ist sie sehr vielfältig. Denk nur an die Roboterarme in der industriellen Fertigung oder auch an große Kranaufbauten in modernen, vollautomatischen Containerhäfen. Letztlich sieht natürlich auch unser humanoider Roboter ganz anders aus als ein kleines Fahrzeug auf Rädern.

Hier kommen die großen Brüder des mBot ins Spiel. Die Firma Makeblock hat ein mechanisches Konstruktionssystem im Angebot, das aus Aluminiumbauteilen und Verbindungen besteht. Damit kannst du Tragegerüste und bewegliche Teile aufbauen. Das heißt, die Roboter basieren nicht mehr auf einem Chassis, sondern sind individuell aus kleinen mechanischen Bauteilen zusammengebaut. Dadurch lassen sich auch komplexere Aufbauten, wie z. B. das Modell eines Hafenkrans, realisieren. Durch den flexiblen Aufbau sind die großen Brüder des mBot sehr wandlungsfähig.

Als Erstes wäre der mBot Ranger zu nennen. Es handelt sich um ein sehr robustes Kettenfahrzeug mit einem Aluminium-Chassis (siehe Bild 2.5).

Bild 2.5Der mBot Ranger (© Makeblock Co., Ltd)

Das mCore-Board des mBot wird ersetzt durch das sogenannte Me Auriga-Board. Dies ist eine erweiterte und verbesserte Version der Zentraleinheit, die mit noch mehr Sensoren ausgestattet ist und auch zusätzliche Kommunikations-Ports bietet (siehe Bild 2.6).

Bild 2.6Das Me Auriga Baseboard, die Zentraleinheit des mBot Ranger (© Makeblock Co., Ltd)

Besonders interessant ist hierbei der Gyroskop-Sensor. Dieser Baustein kann Beschleunigungen sehr exakt messen. Damit lässt sich z. B. der zurückgelegte Weg des Roboters sehr genau mitverfolgen, um etwa Navigationssysteme aufzubauen. Alternativ verwendest du ihn dazu, den Ranger auf zwei Rädern balancieren zu lassen. Der Sensor registriert die Fallrichtung und ermöglicht dem Motor, sehr genau gegenzusteuern. So erhält man das Modell Nervous Bird, der auf zwei Rädern stabil balancieren und sich fortbewegen kann.

In der Standardausführung kannst du aus dem Ranger-Kit drei verschiedene Roboter bauen. Der Aufbau des Rangers ist aufgrund der Vielfalt an Möglichkeiten etwas komplexer als der des mBot, was aber nicht bedeutet, dass es ein schwieriges Unterfangen ist. Die Einzelteile sind in Bild 2.7 zu erkennen, wobei der Zusammenbau mit ca. einer Stunde zu Buche schlägt. Auch hier gibt es standardmäßig einen Ultraschallsensor und eine Infrarot-Fernbedienung, sodass ohne den Zukauf von weiteren Modulen sofort viele interessante Experimente möglich sind.

Bild 2.7Bestandteile des mBot-Ranger-Kits (© Makeblock Co., Ltd)

2.3 Ultimate Robot Kit – für alle, die es ernst meinen

Hast du mit dem mBot oder dem Ranger bereits Erfahrungen gesammelt und möchtest jetzt deine Roboterbautätigkeit ausweiten? Oder du willst es von Anfang an genauer wissen? Dann lohnt sich der Einstieg mit dem Ultimate Robot Kit. Hierbei handelt es sich um eine Grundausstattung für einen Roboter mit komplexerem Aufbau. Während der Ranger und der mBot nur zwei Motoren haben und damit nur für die Fortbewegung motorisiert sind, stellt das Ultimate Robot Kit einen weiteren Motor bereit, mit dem du Greifarme, Kräne oder bewegliche Aufbauten realisieren kannst. Dazu gibt es ein umfangreiches Set an Aluminiumstangen und Verbindern, mit denen du die Tragestruktur aufbauen kannst. Bild 2.8 zeigt einen möglichen Aufbau des Ultimate Robot Kit.

Die Denk- und Schaltzentrale des Ultimate Robot Kit ist ein sogenanntes MegaPi-Board. Es kann mit bis zu vier Motor-Controllern ausgestattet werden, die Bestandteil des Ultimate Robot Kit sind. Damit kannst du neben den obligatorischen zwei Antriebsmotoren weitere bewegliche Teile in deine Projekte einbauen.

Bild 2.8Das Ultimate Robot Kit (© Makeblock Co., Ltd)

Beispielsweise enthält das Kit neben drei Gleichstrommotoren auch einen Greifer, den du motorgesteuert öffnen und schließen kannst. Dieser Robotergreifarm ist eine der Standardbauanleitungen des Ultimate Robot Kit. Der entstehende Roboter kann per App ferngesteuert oder individuell programmiert werden, sodass er mit dem Greifarm kleinere Gegenstände aufnehmen, transportieren und woanders wieder ablegen kann. Zusätzlichen Sensoren zur Erweiterung der Funktionalität sind kaum Grenzen gesetzt. Du wirst in den folgenden Kapiteln viele Sensoren und ihre Anwendung in der Robotik genauer kennenlernen.

2.4 Kommt ein Airblock geflogen …

Kleine, vollautomatische Fluggeräte, die sogenannten Drohnen, waren noch vor wenigen Jahren unbezahlbare Werkzeuge für Spezialisten. Sie werden bei Filmaufnahmen, aber auch in der Landvermessung eingesetzt. Doch mit dem Siegeszug des Internets der Dinge (Internet of Things, IoT) sind auch die Drohnen kleiner und erschwinglicher geworden. Es gibt inzwischen eine ganze Reihe von Modellen für Hobbyanwender, die über ein Smartphone gesteuert werden können.

Wenn du einen Schritt weitergehen willst und deine Drohne selbst programmieren und mit Modulen ausstatten willst, kannst du die Airblock-Drohne von Makeblock verwenden (siehe Bild 2.9). Dies hätte den Vorteil, dass du deine am mBot gewonnenen System- und Programmierkenntnisse gleich an einem sehr spannenden Modell umsetzen und erweitern kannst. In diesem Buch soll es allerdings nur um die Geschwister des mBot gehen, die am Boden bleiben.

Bild 2.9Wer wird denn gleich in die Luft gehen? Der Airblock (© Makeblock Co., Ltd)

Falls du über die Anschaffung einer Flugdrohne nachdenkst, informiere dich bitte über die einzuhaltenden gesetzlichen Bestimmungen und die in Deutschland herrschende Versicherungspflicht. Informationen hierzu erhältst du z. B. bei den Verbraucherzentralen.

2.5 XY-Plotter Robot Kit

Kommen wir zu einem letzten, sehr interessanten Produkt von Makeblock, dem XY-Plotter Robot Kit. Der XY-Plotter besteht aus einem festen Rahmen, auf dem ein Stift präzise über eine Fläche gesteuert wird. Damit lassen sich fortgeschrittene Anwendungen verwirklichen, die über eine reine Spielerei weit hinausgehen (siehe Bild 2.10).

Bild 2.10Der XY-Plotter für fortgeschrittene Maker (© Makeblock Co., Ltd)

Neben dem Erstellen von faszinierenden Bildern oder dem Übertragen von Zeichnungen lässt sich auch ein Laser-Engraver daraus erstellen oder sogar ein 3D-Drucker sowie ein Präzisionsbohrer für das Maker-Labor. Wie alle Makeblock-Produkte ist auch der Plotter mit Arduino kompatibel, da er über das bereits bekannte Auriga Baseboard verfügt.

Standardmäßig besitzt der XY-Plotter einen Stifthalter, der z. B. einen Bleistift oder Filzschreiber aufnehmen und über einen kleinen Servomotor abgesenkt bzw. angehoben werden kann. Die Genauigkeit bei diesem XY Plotter ist durch die stabile Konstruktion und präzise Ansteuerung recht hoch.

HINWEIS: Der Zusammenbau und das spätere Konfigurieren bzw. Justieren zieht sich über einen längeren Zeitraum hin. Wir würden einen kompletten Tag einplanen.

Steuerung des XY Plotters mit mDraw

mDraw ist eine speziell für den mDrawBot und den XY-Plotter entwickelte Zeichensoftware von Makeblock. Der mDrawBot ist ein Roboterarm, der einen Stift halten und zeichnen kann.

mDraw bietet eine grafische Oberfläche, um den XY-Plotter direkt anzusteuern. Dazu kannst du entweder mit der Maus oder mit einem Grafiktablett auf den Bildschirm zeichnen. Die Software überträgt die gezeichneten Linien direkt an den Plotter.

Natürlich kannst du auch eine Grafikdatei importieren und den Roboter ihren Inhalt zeichnen lassen. Dafür müssen die Grafiken im Format SVG oder BMP vorliegen.

In diesem Buch verwendete Makeblock-Produkte

Damit ist unser Streifzug durch die Makeblock-Produktwelt abgeschlossen. Darüber hinaus gibt es noch mehr Bausätze und Erweiterungssets, auf die wir leider nicht alle eingehen können.

Am besten legst du dir erst einmal den mBot zu, denn bis auf Kapitel 19 (Kameraroboter) werden alle Projekte in diesem Buch mit dem mBot realisiert.

3. Die Sinne des mBot – Sensoren, Aktoren und Verbindungen

Hast du den mBot bereits zusammengebaut und vielleicht schon erste Erfahrungen mit dem Standardprogramm (Kapitel 21) gemacht? Dann ist es jetzt an der Zeit, einen genaueren Blick auf unser kleines Roboterfahrzeug zu werfen. Auch wenn du noch keine praktischen Erfahrungen mit dem mBot sammeln konntest, ist dieses Kapitel der richtige Einstieg, denn du wirst Schritt für Schritt die Details des kleinen Roboters kennenlernen. Wie kommuniziert er mit der Umgebung? Welche Sensoren gibt es? Wie erhält er seine Befehle?

Das Chassis des mBot besteht aus einer einzelnen stabilen Metallkonstruktion. Zwei Gleichstrommotoren und Räder mit Gummiprofilen bringen ihn in Fahrt. Eine kleine Rolle stützt das Fahrzeug vorne ab, dort sitzt auch der sogenannte Line-Finder (Kapitel 7). Er misst über Lichtsensoren die Helligkeit in Richtung Boden und kann darüber weiße bzw. schwarze Untergründe unterscheiden. Wie du ja schon weißt, ist der mBot in der Lage, über diesen Sensor einer auf den Boden gezeichneten schwarzen Linie zu folgen. An der Front sitzt außerdem ein Ultraschallsensor, der die Entfernung zu einem vor ihm befindlichen Objekt misst. Dadurch kann der mBot Hindernissen ausweichen. Die Sensoren und Aktoren sind für den mBot das, was Sinnesorgane und Muskeln für den Menschen sind: Sie ermöglichen dem Roboter, Daten aus seiner Umwelt zu erfassen und dann Aktionen auszuführen.

Bild 3.1Der zusammengebaute mBot

Von Haus aus hat der mBot schon eine beachtliche Auswahl an Sensoren und Aktoren an Bord. Er kann Licht und Schall messen, Töne von sich geben, farbige Leuchtdioden blinken lassen und natürlich Motoren ansteuern, um zu fahren. Wenn dir das Angebot an eingebauten Sensoren nicht ausreichen sollte, kannst du es beliebig erweitern. Dabei bist du noch nicht einmal auf die Angebote aus dem Hause Makeblock beschränkt, denn die offene Architektur ermöglicht dir, beliebige elektronische Schaltungen mit dem mBot zu verbinden.

Allerdings haben die Sensoren von Makeblock den Vorteil, dass sie bereits auf den mBot abgestimmt sind und damit ein geringeres technisches Vorwissen voraussetzen. Meist genügt es, einen Sensor am Board anzuschließen und den entsprechenden Block in der grafischen Entwicklungsumgebung in das Projekt zu ziehen – und schon kannst du mit dem neu eingebauten Baustein Daten erfassen. Dies werden wir in späteren Projekten noch ausführlich zeigen.

Auf der Oberseite des mBot ist das Mikrocontroller-Board mCore beheimatet, das die Steuerfunktion übernimmt. Auf ihm befinden sich die unterschiedlichsten Komponenten, die wir uns in den folgenden Abschnitten genauer anschauen werden (siehe Bild 3.2).

Bild 3.2Die Oberseite von mCore, dem Gehirn des mBot

3.1 Die RJ-25-Buchsen

Bei der technischen Realisierung des Zusammenspiels von Sensoren und Aktoren fällt der Datenübertragung eine wichtige Rolle zu. Allgemein spricht man bei Datenleitungen zwischen elektronischen Systemen von einem Bus. Den Begriff hast du im Zusammenhang mit Computern sicher schon einmal gehört. Der mBot setzt bei der Datenübertragung auf sogenannte RJ-45-Verbindungen. Das sind serielle Standardverbindungen, die für Telefonanschlüsse verwendet werden. Du erkennst sie an der obligatorischen Lasche, die beim Einstecken hörbar einrastet und die du mit dem Daumen herunterdrücken musst, wenn du den Stecker wieder herausziehen möchtest. Bild 3.3 zeigt einen RJ-25-Stecker, und in Bild 3.4 siehst du zwei nebeneinanderliegende RJ-25-Buchsen mit der Bezeichnung 1 und 2 auf dem mCore-Board. Man kann sehr gut die einzelnen Drähte erkennen, von denen sechs Stück pro Buchse existieren. Um jetzt eine elektrische Verbindung herzustellen, benötigen wir natürlich passende RJ-25-Stecker, die aber im Lieferumfang enthalten sind.

Bild 3.3Der RJ-25-Stecker

Bild 3.4Die RJ-25-Buchse

Die RJ-25-Stecker bilden das Gegenstück zu den RJ-25-Buchsen und werden mit diesen verbunden, um eine elektrische Verbindung herzustellen. Die in Bild 3.5 auf der Oberseite des Steckers zu erkennende Plastiklasche rastet nach dem Einstecken in die Buchse mit einem hörbaren Klick ein. Hier siehst du, in welcher Weise bzw. Ausrichtung der Stecker in die Buchse eingeführt wird.

Bild 3.5Der RJ-25-Stecker vor der Buchse

3.2 Der USB-Port

Einer der wichtigsten Anschlüsse für die serielle Datenübertragung ist der USB-Port, über den das Board mit einem Rechner verbunden werden kann. Das ist notwendig, um die erforderliche Software auf das Mikrocontroller-Board zu laden. Im Fachjargon wird dies Firmware-Upload genannt. Diese Firmware ist zwingend notwendig, um eine kontinuierliche Kommunikation mit der Steuerungssoftware sicherzustellen. Zwar können wir den mBot auch über diese kabelgebundene USB-Verbindung ansteuern, doch der Aktionsradius wird durch das kurze Kabel eingeschränkt, diese Verbindung behindert also mehr, als sie nützt. Deswegen beschreiten wir später einen besseren Weg und nutzen die Funkverbindung über Bluetooth.

Der mBot wird mit zwei externen Sensoren geliefert, die an die RJ-25-Buchsen mit den mitgelieferten Kabeln angeschlossen werden müssen. Das sind:

der Ultraschallsensor

der Line-Finder

Diese Sensoren besitzen ebenfalls RJ-25-Buchsen, sodass die Kabel eine Verbindung zwischen den Sensoren und dem mCore-Board herstellen. Es stellt sich jett aber die Frage, ob jeder Sensor an jede x-beliebige Buchse angeschlossen werden kann, denn rein mechanisch würde das passen. Auf den RJ-25-Buchsen befinden sich kleine Farbmarkierungen, die eine Hilfe beim Zusammenstecken der Sensoren mit dem mCore-Board darstellen (siehe Bild 3.6).

Bild 3.6Die Farbmarkierungen der RJ-25-Buchsen

Sehen wir uns nun einmal die beiden Sensoren mit den unterschiedlichen Farbmarkierung an (siehe Bild 3.7).

Bild 3.7