PROGRAMMIERPROJEKTE MIT DEM RASPBERRY PI FRANZIS

Ähnliche Dokumente
Android- Handbuch. 4., aktualisierte und erweiterte Auflage

VOLTmonitor. VOLTmonitor. Schritt 1: Schaltung. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p... 1 of

M15 - Physical Computing mit dem Raspberry Pi I

RC-Helikopter. richtig fliegen. Schritt für Schritt zum Flugerfolg. Mit exklusiven Videos auf DVD: Die Flugschule. Kunstflieger.

Windows 8. Tipps & Tricks. Das Franzis Praxisbuch. 288 Seiten Windows-8- Insiderwissen. Christian Immler. Schnelle Lösungen für Windows-8-Probleme

Ein Mikrocontroller ist ein Mikrochip, der alle benötigten Komponenten (sozusagen das Zubehör) bereits in sich trägt. Er sieht genauso aus wie 11

FRANZIS PC & ELEKTRONIK. Herbert Bernstein. Das. PCB-Designer. Handbuch 3. überarbeitete Auflage. Mit 348 Abbildungen

Was ist ein Stromkreis?

Was ist ein Stromkreis?

3 Verkehrsampel So funktioniert es 34

Samsung Galaxy S4 Buch

Aus Widerständen und mit rotem Kopf...

AM-1 Handbuch. Airmouse inklusive deutscher Tastatur

Multimedia-Netzwerk. Installationshandbuch

IR-Fernbedienungs- Bausatz IR8. Montageanleitung IR8. IR-Fernbedienungs-Bausatz IR8 Best.Nr

Wie lässt sich der Vorwiderstand einer LED berechnen? Gruppe: 3. Folgende Website ist im Internet zu finden (leicht abgeändert):

Website. zur eigenen. Ihr Weg ins Web: Domain, Hoster, Installation, Verwaltung, Pflege und IT-Recht. Websites. erstellen

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Bauanleitung. Morse-Piep JOTA-JOTI 2009

Reaktivlicht mit 5x7-Dot LED Anzeige Zusammenbau- und Benutzungsanleitung

Schnellstart mit dem. OLIMEX A20OLinuXino-LIME2. Schnellstart. Der schnelle und praxisbezogene Einstieg in die Nutzung des Mini-PCs von Olimex

Der erste Bausatz ein elektronischer Würfel

Combo Programmer - Bedienungsanleitung

Templates für Joomla! 1.6

Audiospektrum- Analyse mit Mikrocontrollern

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

LEDmeter. LEDs über den Druckerport steuern. Schritt 1: Bauteile. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p...

Anonym im Internet mit Tor und Tails

Kapitel. Eins zurück, zwei vor: die ersten Schritte

Size: 84 x 118.4mm * 100P *, ( ), ( ) *,

EX PCI & 2 PCI-E

2 LED-Grundversuche. 2.1 LED mit Vorwiderstand

Hardware»intern« Der Schaltplan en détail. Kapitel 3

Mignon Game Kit Workshop. Bauanleitung

MEMO_MINUTES. Update der grandma2 via USB. Paderborn, Kontakt:

!!!WICHTIG!!! Beachten Sie bitte vor der Programmierung die richtige Einstellung der Zustandsschalter

easyident Türöffner mit integriertem USB Interface

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

Nutzung der Medientechnik der Seminar-, Besprechungsräume und Labore im Gebäude FHG der FH Bielefeld

ateval-board Aufbauanleitung & Handbuch

2. Ohmscher Widerstand

Mikrocontroller: Einführung

ONE Technologies AluDISC 3.0

Stromkreis - Kartei 1/12

Bedienungsanleitung für. Smart PC Stick 2.0. Copyright JOY it

Deinen EV3-Kasten vorbereiten

Batterie. Hinweis: Online-Anweisungen finden Sie unter der Adresse

Hier starten. Transportkarton und Klebeband entfernen. Zubehörteile überprüfen

ELEXBO. ELektro - EXperimentier - BOx

Android. Hacking. Android Hacking. Android. Hacking. Ihr Smartphone kann mehr, als Sie denken: Hacken Sie Ihr Gerät, bevor es andere tun.

4 Port USB Hub 4 PORT USB HUB. Benutzerhandbuch. Version 1.0

USB-Treiber Installation

guloprog S mk II von guloshop.de

1. Allgemeine Hinweise

Installationsanleitung für den Powerline AV+ 200 Nano Dual-Port-Adapter XAV2602

Installation/ Anschluss an den Fernseher:

8.3 Taster am µcontroller

Einführung in die Informationstechnik. Eingabe - Verarbeitung - Ausgabe CIUS - KREISLICHT. Realschule Tamm Technik Axel Steinbach

tensiolink USB Konverter INFIELD 7

HEOS 5 QUICK START GUIDE

Geschrieben von: Mario Leubner Freitag, den 24. Februar 2012 um 21:00 Uhr - Aktualisiert Sonntag, den 15. April 2012 um 16:41 Uhr

USB3.0 Docking-Station BEDIENUNGSANLEITUNG (DA-70546)

Bedienungsanleitung. Verteiler 4x14 INHALT:

Elektrik / Elektronik Löten. Grundlagen. Bildquelle: Weller. Löten. Grundlagen. AGVS Ausbildungszentrum Berner Oberland 1/7

A1 Festnetz-Internet. Mit A1 WLAN Box (TG788A1vn)

10.1 Zoll HDMI LCD. Ausgabe Copyright by Joy-IT 1

Hier starten. Wichtig: Schließen Sie das USB-Kabel erst an, wenn Sie die Softwareinstallation in Schritt 15 durchgeführt haben.

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform

Bedienungsanleitung LivingColors Iris

CSL Powerline. Handbuch

easyident Türöffner mit integriertem USB Interface

KVM Umschalter Benutzer-Handbuch

Embedded Webserver. Einleitung. Jürgen Pauritsch und Stefan Thonhofer

Installationsanleitung für das Powerline 200 Nano 2 Ports PassThru XAVB2602

EZ CAST Full HD WIFI Smart TV Streaming Dongle von 2-TECH

Anleitung Firmware-Update testo 380 und testo 330

Aufbau der Cutmaster Einheit

Benutzerhandbuch TG /100/1000Mbps-PCI-E-Gigabit-Netzwerkadapter

Raspberry Pi. Einführung Pi and More 5 Nico Maas

Rademacher IP-Kamera

Bedienungsanleitung. Grand iusb Hub Best.-Nr.:

EL-7. CTCSS-Encoder. (Yaesu FTS-8 Encoder Ersatz) FT-270, FT-736, FT-650, FT-767, FT-2700RH, FT-4700RH u. w. Bau- und Funktionsbeschreibung

1.5 Eigene Dateien auf den PC sichern odervom PC kopieren 20. Datenübertragung mit dem Total Commander 23 Komplettsicherung der SD-Karte 26

Raspberry Pi. Einführung Pi and More 6 Nico Maas

Was tun, wenn etwas nicht funktioniert?

Mignon Game Kit 2.1 Bauanteitung

Herzlich willkommen zum Sommerfest des PING e.v.

APP USABILITY SCHNELLEINSTIEG 35 CHECK- LISTEN FÜR DIE PRAXIS 160 SEITEN PLATTFORMÜBERGREIFENDES DESIGN: ANDROID, APPLE IOS UND WINDOWS PHONE

Quickstart-Anleitung und Installationsliste:

FLASH USB Einführung DEUTSCH

USB DISK ANSCHLUSS WAHLTASTER. Vorteile dieses USB Interfaces:

Dokumentation IBIS Master Version 1.5.6

PC-Relaiskarte K8 IO. Montageanleitung. Best.Nr Pollin Electronic GmbH Tel. (08403) /2007

Bedienungsanleitung Pro-Ject DAC Box S USB

Freshman Mini. Benutzerhandbuch. Externes Festplattengehäuse für die 1.8 Hitachi Festplatte

"Memory Stick" zur Programmierung der comfort 8+ Lichtsteuranlage mit PC Software "scenes editor"

Installation. Powerline 500 Modell: XAVB5221

Mikrofon/Gameport Platine v2.1

Diodentreiber / Modul Blau V1.0

Transkript:

PROGRAMMIERPROJEKTE MIT DEM RASPBERRY PI FRANZIS

Franzis Maker Kit Minecraft TM Programmierprojekte mit dem Raspberry Pi

FRANZIS PROGRAMMIERPROJEKTE MIT DEM RASPBERRY PI

Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar. Alle in diesem Buch vorgestellten Schaltungen und Programme wurden mit der größtmöglichen Sorgfalt entwickelt, geprüft und getestet. Trotzdem können Fehler im Buch und in der Software nicht vollständig ausgeschlossen werden. Verlag und Autor haften in Fällen des Vorsatzes oder der groben Fahrlässigkeit nach den gesetzlichen Bestimmungen. Im Übrigen haften Verlag und Autor nur nach dem Produkthaftungsgesetz wegen der Verletzung des Lebens, des Körpers oder der Gesundheit oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspflichten ist auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht ein Fall der zwingenden Haftung nach dem Produkthaftungsgesetz gegeben ist. Liebe Kunden! Dieses Produkt wurde in Übereinstimmung mit den geltenden europäischen Richtlinien hergestellt und trägt daher das CE-Zeichen. Der bestimmungsgemäße Gebrauch ist in der beiliegenden Anleitung beschrieben. Bei jeder anderen Nutzung oder Veränderung des Produktes sind allein Sie für die Einhaltung der geltenden Regeln verantwortlich. Bauen Sie die Schaltungen deshalb genau so auf, wie es in der Anleitung beschrieben wird. Das Produkt darf nur zusammen mit dieser Anleitung weitergegeben werden. Das Symbol der durchkreuzten Mülltonne bedeutet, dass dieses Produkt getrennt vom Hausmüll als Elektroschrott dem Recycling zugeführt werden muss. Wo Sie die nächstgelegene kostenlose Annahmestelle finden, sagt Ihnen Ihre kommunale Verwaltung. Achtung! Augenschutz und LEDs: Blicken Sie nicht aus geringer Entfernung direkt in eine LED, denn ein direkter Blick kann Netzhautschäden verursachen! Dies gilt besonders für helle LEDs im klaren Gehäuse sowie in besonderem Maße für Power-LEDs. Bei weißen, blauen, violetten und ultravioletten LEDs gibt die scheinbare Helligkeit einen falschen Eindruck von der tatsächlichen Gefahr für Ihre Augen. Besondere Vorsicht ist bei der Verwendung von Sammellinsen geboten. Betreiben Sie die LEDs so wie in der Anleitung vorgesehen, nicht aber mit größeren Strömen. Minecraft ist eine Marke der Mojang Synergies AB mit Sitz in Stockholm, Schweden. Dies ist kein offizielles Minecraft-Produkt. Nicht von Mojang genehmigt oder mit Mojang verbunden. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt. Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller. Autor: Christian Immler Produktmanagement: Florian Greßhake Sprachlektorat: Doris Weißgerber Art & Design: www.ideehoch2.de Satz: Nelli Ferderer, nelli@ferderer.de GTIN: 4019631670014 2017 Franzis Verlag GmbH, Richard-Reitzner-Allee 2, 85540 Haar

INHALT FRANZIS MAKER KIT FÜR MINECRAFT TM... 8 Die Bauteile im Paket.... 10 Steckbrett... 10 LED... 11 RGB-LED... 12 Blink-LED.... 13 Widerstand.... 13 Knete... 15 Taster... 15 GPIO-Verbindungskabel... 15 Krokodilklemmenkabel... 16 Schaltdraht.... 16 Raspberry Pi vorbereiten... 17 Micro-USB-Handyladegerät... 17 Speicherkarte.... 18 Tastatur.... 18 Maus... 18 Netzwerkkabel.... 18 HDMI-Kabel.... 19 Audiokabel... 19 Raspbian-Betriebssystem installieren... 19 Speicherkarte im PC vorbereiten.... 20 Der Software-Installer NOOBS... 21 Der erste Start auf dem Raspberry Pi... 22 Uhrzeit einstellen... 23 1. LED LEUCHTET... 24 2. LED BLINKT MIT PYTHON... 26 Die Nummern der GPIO-Pins immer im Blick... 28 Das Programm... 30 So funktioniert es... 31... 5...

3. GRUNDLAGEN DER PROGRAMMIERUNG MIT MINECRAFT TM... 35 LED leuchtet beim Betreten einer bestimmten Fläche... 38 Koordinaten des Spielers abfragen... 40 So funktioniert das Programm... 41 Material eines Blocks abfragen... 44 Die Minecraft TM -Blocktypen.... 45 So funktioniert das Programm... 47 GPIO-Warnungen vermeiden... 48 4. AMPEL AUF EINER STRASSE................................... 51 Das Programm... 53 So funktioniert das Programm... 54 5. AMPEL LEUCHTET IN MINECRAFT TM... 57 Farbnummern für Blöcke vom Typ WOOL... 58 Das Programm... 58 So funktioniert das Programm... 60 6. FUSSGÄNGER AMPEL MIT TASTER............................. 62 Das Programm... 64 So funktioniert das Programm... 66 7. SCHALTUNG DER FUSSGÄNGERAMPEL MIT DEM SCHWERT.... 69 Das Programm... 71 So funktioniert das Programm... 74 8. MINECRAFT TM -BLÖCKE MIT TASTEN BAUEN... 76 Das Programm... 77 So funktioniert das Programm... 80 9. LEDS DIMMEN.... 82 Das Programm... 84 So funktioniert das Programm... 86 Mehrere LEDs per PWM ansteuern... 88... 6...

Das Programm... 89 So funktioniert das Programm... 91 10. LEDS ZEIGEN AN, WIE WEIT OBEN IM GELÄNDE DIE SPIELFIGUR STEHT... 93 Das Programm... 95 So funktioniert das Programm... 96 11. SENSORKONTAKT AUS KNETE... 98 So funktionieren Sensorkontakte... 98 Das Programm... 100 So funktioniert das Programm... 103 Löffel, Münzen oder andere Gegenstände als Sensorkontakte nutzen.... 104 12. RGB-LEDS STEUERN... 105 Das Programm... 107 So funktioniert das Programm... 109 13. RGB-LED MIT PWM STEUERN... 112 Das Programm... 113 So funktioniert das Programm... 115 14. SPIELWÜRFEL MIT MINECRAFT TM - BLÖCKEN... 118 Das Programm... 119 So funktioniert das Programm... 120 15. SPIELWÜRFEL MIT MINECRAFT TM - BLÖCKEN UND LEDS... 125 Das Programm... 127 So funktioniert das Programm... 130 16. GAMEPAD ZUR STEUERUNG DER SPIELFIGUR... 131 Das Programm... 133 So funktioniert das Programm... 134 17. MINISPIEL GOLDSUCHE.... 136 Das Programm... 138 So funktioniert das Programm... 140... 7...

Franzis Maker Kit für Minecraft TM Minecraft ist eines der beliebtesten Computerspiele weltweit und das, obwohl es kein eigentliches Spielziel hat. Gerade die offene Spielwelt, in der jeder für sich Landschaften bauen und eigene Träume verwirklichen kann, fasziniert mehr als einhundert Millionen Spieler weltweit. Der Spieltitel setzt sich übrigens aus den beiden englischen Begriffen Mine (= Bergbau, Rohstoffabbau) und craft (= verarbeiten) zusammen. Und genau darum geht es auch in Minecraft : Es gilt, Rohstoffe aus der Landschaft abzubauen und sie zu neuen Landschaften oder Objekten zu verarbeiten. Neben den bekannten Versionen für PC und verschiedene Spielkonsolen gibt es Minecraft auch auf dem Raspberry Pi und dort sogar kostenlos vorinstalliert. Die Raspberry-Pi-Version bietet einen großen Vorteil: Sie ist über eine eigens entwickelte Schnittstelle in der Programmiersprache Python programmierbar. Python ist ebenfalls auf dem Raspberry Pi vorinstalliert und ermöglicht unter anderem die Ansteuerung externer Hardware. So ist es auf dem Raspberry Pi möglich, mit Minecraft LEDs zum Blinken zu bringen oder mit Hardwaretasten und Sensorkontakten die Spielfigur Steve zu steuern.... 8...

Der Startbildschirm von Minecraft auf dem Raspberry Pi. Dieses Lernpaket enthält verschiedene Programmierprojekte für Minecraft auf dem Raspberry Pi, viele davon mit Hardwareansteuerung. Die benötigten Bauteile sind im Paket enthalten. Alle Programme funktionieren mit dem Rasp berry Pi 2 oder 3 und der aktuellen Version des Betriebssystems Raspbian.... 9...

Die Bauteile im Paket 1 Steckbrett (SYB 46) 2 LED rot mit Vorwiderstand 2 LED grün mit Vorwiderstand 1 LED gelb mit Vorwiderstand 1 LED orange mit Vorwiderstand 1 LED blau mit Vorwiderstand 1 RGB-LED (CC) mit Vorwiderstand 1 Blink-LED mit Vorwiderstand 2 20-MOhm-Widerstand 1 Knete 4 Taster 10 GPIO-Kabel (m/f) 2 Krokodilklemmenkabel 1m Schaltdraht (isoliert) Steckbrett Für den schnellen Aufbau elektronischer Schaltungen, ohne zu löten, enthält das Lernpaket ein Steckbrett. Hier können elektronische Bauteile direkt in ein Lochraster gesteckt werden. Auf dem Steckbrett sind alle äußeren Längsreihen über Kontakte (X und Y) miteinander verbunden. Diese Kontaktreihen werden oft als Plus- und Minuspol zur Stromversorgung der Schaltungen genutzt. In den anderen Kontaktreihen sind jeweils fünf Kontakte (A bis E und F bis J) quer miteinander verbunden, wobei in der Mitte der Platine eine Lücke gelassen wurde. Auf diese Weise können dort größere Bauelemente eingesteckt und nach außen hin verdrahtet werden.... 10...

Die Verbindungen auf dem Steckbrett. LED LEDs werden in Schaltungen durch ein pfeilförmiges Dreieckssymbol dargestellt, das die Flussrichtung vom Pluspol zum Minuspol oder zur Masseleitung angibt. Eine LED lässt in Durchflussrichtung nahezu beliebig viel Strom passieren, denn sie hat nur einen sehr geringen Widerstand. Um den Durchflussstrom zu begrenzen und damit ein Durchbrennen der LED zu verhindern, wird üblicherweise ein 220-Ohm-Vorwiderstand zwischen dem verwendeten GPIO-Pin und der Anode der LED eingebaut. Dieser Vorwiderstand schützt auch den GPIO-Ausgang des Raspberry Pi vor zu hohen Stromstärken. Die LEDs im Lernpaket haben bereits eingebaute Vorwiderstände und können daher direkt an die GPIO-Pins angeschlossen werden. Schaltplan einer LED mit Vorwiderstand.... 11...

LED IN WELCHER RICHTUNG ANSCHLIESSEN? Die beiden Anschlussdrähte einer LED sind unterschiedlich lang. Der längere, die Anode, ist der Pluspol, der kürzere die Kathode. Einfach zu merken: Das Pluszeichen hat einen Strich mehr als das Minuszeichen und macht damit den Draht optisch etwas länger. Außerdem sind die meisten LEDs auf der Minusseite abgeflacht, vergleichbar mit einem Minuszeichen. Auch leicht zu merken: Kathode = kurz = Kante. RGB-LED Eine gewöhnliche LED leuchtet immer nur in einer Farbe. Die im Lernpaket enthaltene RGB-LED kann wahlweise in unterschiedlichen Farben leuchten. Im Prinzip sind drei LEDs in verschiedenen Farben in einem transparenten Gehäuse eingebaut. Jede dieser drei LEDs besitzt eine eigene Anode, über die sie mit einem GPIO-Pin verbunden wird. Die Kathode, die mit der Masseleitung verbunden wird, ist nur einmal vorhanden. Deshalb hat eine RGB-LED insgesamt vier Anschlussdrähte. Anschlusspins einer RGB-LED. Die Anschlussdrähte von RGB-LEDs sind unterschiedlich lang, damit sie eindeutig erkennbar sind. Im Gegensatz zu gewöhnlichen LEDs ist die Kathode bei ihnen der längste Draht.... 12...

RGB-LEDs funktionieren wie drei einzelne LEDs und benötigen deshalb auch drei Vorwiderstände, die in den RGB-LEDs in diesem Lernpaket ebenfalls bereits eingebaut sind. Schaltplan für eine RGB-LED mit drei Vorwiderständen. Blink-LED Eine Blink-LED blinkt selbständig, ohne dass ein Programm nötig ist. Auch in der Blink-LED ist der Vorwiderstand bereits eingebaut. Die Blink-LED hat ein farblos-transparentes Gehäuse und ist damit leicht von den anderen LEDs zu unterscheiden. Widerstand Widerstände werden zur Strombegrenzung an empfindlichen elektronischen Bauteilen sowie als Vorwiderstände für LEDs verwendet. Die Maßeinheit für Widerstände ist Ohm. 1.000 Ohm entsprechen einem Kiloohm, abgekürzt kohm. 1.000 kohm entsprechen einem Megaohm, abgekürzt MOhm. Häufig wird die Einheit Ohm durch das Omega-Zeichen Ω repräsentiert.... 13...

Die farbigen Ringe auf den Widerständen geben den Widerstandswert an. Mit etwas Übung sind sie deutlich leichter zu erkennen als winzig kleine Zahlen, die man nur noch auf ganz alten Widerständen findet. Die meisten Widerstände haben vier solcher Farbringe. Die ersten beiden Farbringe stehen für einen Zehner- und einen Einer-Zahlenwert, der dritte Ring stellt einen Multiplikator dar, der vierte schließlich die Toleranz. Dieser Toleranzring ist meistens gold- oder silberfarben Farben, die auf den ersten Ringen nicht vorkommen. Dadurch ist die Leserichtung immer eindeutig. Der Toleranzwert selbst spielt in der Digitalelektronik kaum eine Rolle, er wird hier nur der Vollständigkeit halber beschrieben. Die nachfolgende Tabelle zeigt die Bedeutung der farbigen Ringe auf Widerständen. Farbe Widerstandswert in Ohm Toleranz 1. Ring (Zehner) 2. Ring (Einer) 3. Ring (Multiplikator) 4. Ring (Toleranz) Silber 10 2 = 0,01 ±10 % Gold 10 1 = 0,1 ±5 % Schwarz 0 10 0 = 1 Braun 1 1 10 1 = 10 ±1 % Rot 2 2 10 2 = 100 ±2 % Orange 3 3 10 3 = 1.000 Gelb 4 4 10 4 = 10.000 Grün 5 5 10 5 = 100.000 ±0,5 % Blau 6 6 10 6 = 1.000.000 ±0,25 % Violett 7 7 10 7 = 10.000.000 ±0,1 % Grau 8 8 10 8 = 100.000.000 ±0,05 % Weiß 9 9 10 9 = 1.000.000.000... 14...

In welcher Richtung ein Widerstand in einen Stromkreis eingebaut wird, ist egal. Die Einbaurichtung von LEDs dagegen spielt eine wichtige Rolle. Das Lernpaket enthält nur eine Sorte Widerstände: 20 MOhm (rot-schwarzblau). Knete Mit Knete lassen sich sehr gut Sensorkontakte bauen. Sie leitet den Strom etwa so gut wie menschliche Haut. Sie lässt sich leicht in jede beliebige Form bringen, und ein Kontakt aus Knete fasst sich viel besser an als ein einfaches Stück Draht. Die Fläche, mit der die Hand den Kontakt berührt, ist bei Knete deutlich größer. So kommt es nicht so leicht zu einem Wackelkontakt. Taster Der Taster hat vier Anschlusspins, wobei je zwei gegenüberliegende (großer Abstand) miteinander verbunden sind. Solange die Taste gedrückt ist, sind alle vier Anschlüsse miteinander verbunden. Im Gegensatz zu einem Schalter rastet ein Taster nicht ein. Die Verbindung wird beim Loslassen sofort wieder getrennt. GPIO-Verbindungskabel Alle farbigen Verbindungskabel enden auf der einen Seite in einem dünnen Drahtstecker, mit dem sie sich auf die Steckplatine stecken lassen. Auf der anderen Seite befindet sich jeweils eine Steckbuchse, die auf einen GPIO-Pin des Raspberry Pi passt. Pinbelegung der GPIO-Pins.... 15...

VORSICHTSMASSNAHMEN Auf keinen Fall sollten beliebige GPIO-Pins miteinander verbunden werden, ohne dass die Konsequenz klar ist. Nicht alle GPIO-Pins lassen sich frei programmieren. Einige von ihnen sind für die Stromversorgung oder andere Zwecke fest eingerichtet. Einige GPIO-Pins sind direkt mit Anschlüssen des Prozessors verbunden, ein Kurzschluss kann den Raspberry Pi komplett zerstören. Verbindet man über einen Schalter oder eine LED zwei Pins miteinander, muss immer ein Schutzwiderstand dazwischengeschaltet werden. Eine Ausnahme bilden die LEDs mit eingebautem Vorwiderstand. Für Logiksignale sollte immer Pin 1, der +3,3 V liefert und bis 50 ma belastet werden kann, verwendet werden. Pin 6 stellt die Masseleitung für Logiksignale dar. Pin 2 und Pin 4 liefern +5 V zur Stromversorgung externer Hardware. Hier kann so viel Strom entnommen werden, wie das USB-Netzteil des Raspberry Pi liefert. Diese Pins dürfen jedoch nicht mit einem GPIO-Eingang verbunden werden. Krokodilklemmenkabel Die Kabel mit den Krokodilklemmen werden verwendet, um leitfähige Gegenstände, wie z.b. eine Münze, einen Metalllöffel oder ein Stück Blech als Sensorkontakt an die Schaltung anzuschließen. Schaltdraht Der Schaltdraht wird in verschiedenen Experimenten dazu benötigt, Brücken zwischen verschiedenen Kontaktreihen auf dem Steckbrett her zustellen.... 16...

Schneiden Sie den Draht mit einem kleinen Seitenschneider je nach Experiment auf die passenden Längen zurecht. Um die Drähte einfacher in die Steckplatine stecken zu können, empfiehlt es sich, sie leicht schräg abzuschneiden, sodass eine Art Keil entsteht. Entfernen Sie an beiden Enden auf einer Länge von etwa einem halben Zentimeter die Isolierung. Raspberry Pi vorbereiten Der Raspberry Pi ist trotz seiner geringen Größe ein vollwertiger Computer. Um ihn nutzen zu können, braucht man wie bei einem normalen PC noch einiges an Zubehör Betriebssystem, Stromversorgung, Netzwerk, Monitor, Tastatur und diverse Anschlusskabel. Micro-USB-Handyladegerät Für den Betrieb des Raspberry Pi reicht jedes moderne Handynetzteil aus. Ältere Ladegeräte aus den Anfangszeiten der USB-Ladetechnik sind zu schwach. Sollen leistungshungrige USB-Geräte wie externe Festplatten ohne eigene Stromversorgung verwendet werden, ist ein stärkeres Netzteil erforderlich. Es muss 5 V und mindestens 2.000 ma bieten. Der im Raspberry Pi eingebaute Leistungsregler verhindert ein Durchbrennen bei Verwendung zu starker Netzteile. DARAN ZEIGT SICH EIN ZU SCHWACHES NETZTEIL Wenn der Raspberry Pi zwar bootet, sich dann aber der Mauszeiger nicht bewegen lässt oder das System nicht auf Tastatureingaben reagiert, deutet dies auf eine zu schwache Stromversorgung hin. Auch wenn kein Zugriff auf angeschlossene USB-Sticks oder Festplatten möglich ist, sollten Sie ein stärkeres Netzteil verwenden.... 17...

Speicherkarte Die Speicherkarte dient im Raspberry Pi als Festplatte. Sie enthält das Betriebssystem. Eigene Daten und installierte Programme werden ebenfalls darauf gespeichert. Die Speicherkarte sollte mindestens 4 GB groß sein und nach Herstellerangaben mindestens den Class-4-Standard unterstützen. Dieser Standard gibt die Geschwindigkeit der Speicherkarte an. Eine aktuelle Class-10-Speicherkarte macht sich in der Performance deutlich bemerkbar. Alle aktuellen Raspberry-Pi-Modelle verwenden die von den Smartphones bekannten MicroSD-Speicherkarten. Tastatur Jede gängige Tastatur mit USB-Anschluss kann genutzt werden. Kabellose Tastaturen funktionieren teilweise nicht, da sie beispielsweise zu viel Strom oder spezielle Treiber benötigen. Wenn Sie keine andere Tastatur zur Verfügung haben, benötigen Sie einen USB-Hub mit separater Stromversorgung für den Betrieb einer Funktastatur. Maus Eine Maus mit USB-Anschluss wird nur dann benötigt, wenn auf dem Raspberry Pi ein Betriebssystem mit grafischer Benutzeroberfläche verwendet wird, wie auch für die Experimente in diesem Lernpaket. Netzwerkkabel Zur Verbindung mit dem Router im lokalen Netzwerk ist ein Netzwerkkabel notwendig. Der Raspberry Pi 3 verfügt zu diesem Zweck über ein eingebautes WLAN-Modul. Ohne Internetzugang sind zahlreiche Funktionen des Raspberry Pi nicht sinnvoll nutzbar.... 18...

HDMI-Kabel Der Raspberry Pi kann per HDMI-Kabel an Monitore oder Fernsehgeräte angeschlossen werden. Zum Anschluss an Computermonitore mit DVI- Anschluss stehen spezielle HDMI-Kabel oder Adapter zur Verfügung. Audiokabel Mit einem Audiokabel mit 3,5-mm-Klinkensteckern können über den Raspberry Pi Kopfhörer oder PC-Lautsprecher genutzt werden. Das Audiosignal ist auch über das HDMI-Kabel verfügbar. Bei HDMI-Fernsehgeräten oder Monitoren ist kein Audiokabel nötig. Wird ein PC-Monitor über ein HDMI-Kabel mit DVI-Adapter angeschlossen, geht an dieser Stelle meist das Audiosignal verloren, sodass Sie den analogen Audioausgang nutzen müssen. Raspbian-Betriebssystem installieren Der Raspberry Pi wird ohne Betriebssystem ausgeliefert. Anders als bei PCs, die fast alle Windows verwenden, empfiehlt sich für den Raspberry Pi ein speziell angepasstes Linux. Windows wäre auf der schlanken Hardware nicht lauffähig. Raspbian heißt die Linux-Distribution, die vom Hersteller des Raspberry Pi empfohlen und unterstützt wird. Raspbian basiert auf Debian-Linux, einer der bekanntesten Linux-Distributionen, die unter anderem Grundlage der populären Linux-Varianten Ubuntu und Knoppix ist. Was bei PCs die Festplatte ist, ist beim Raspberry Pi die Speicherkarte. Auf dieser befinden sich das Betriebssystem und die Daten, von dieser Speicherkarte bootet der Raspberry Pi auch.... 19...

Kapitel 17 Minispiel Goldsuche In diesem Minispiel soll die Spielfigur einen an einer zufällig bestimmten Position unter der Wiese versteckten Schatz finden. Die vier LEDs helfen dabei, indem sie den Abstand der Spielfigur zum Schatz anzeigen. Versteckter Schatz hier ganz am Rand des Spielfeldes.... 136...

Bauteile 1 Steckbrett 1 LED rot mit Vorwiderstand 1 LED gelb mit Vorwiderstand 1 LED orange mit Vorwiderstand 1 LED grün mit Vorwiderstand 4 Taster 3 Drahtbrücken (unterschiedliche Längen) 10 GPIO-Verbindungskabel Ein Gamepad mit vier Tasten und vier LEDs für das Minispiel.... 137... 17

Das Programm In der Minecraft -Welt existiert eine große, von einer Mauer umgrenzte Wiese, unter der das Programm goldsuche.py einen Schatz versteckt. Bewegen Sie die Spielfigur mit den Tastern des Gamepads oder mit der Tastatur. Wenn alle vier LEDs leuchten, stehen Sie ganz dicht beim Schatz. Schlagen Sie dann mit dem Schwert die Grasblöcke weg, um den Schatz freizulegen. Das Spielfeld für die Schatzsuche. #!/usr/bin/python import mcpi.minecraft as minecraft import mcpi.block as block import time, random, math, pyautogui import RPi.GPIO as GPIO mc = minecraft.minecraft.create() b = ['w','a','s','d'] t = [23,25,24,18] LED = [21,16,12,7] a = [10, 6, 4, 2]... 138...

time.sleep(1) mc.setblock(xx, 0, zz, block.sand.id) mc.setblocks(x, 1, z, x+l, 1, z+l, block.grass.id) GPIO.cleanup() So funktioniert das Programm import time, random, math, pyautogui Zusätzlich zu den bereits bekannten Modulen wird das Modul math importiert. Es enthält die Wurzelfunktion math.sqrt() für die Abstandsberechnung nach Pythagoras. Die Steuerung über die Taster mithilfe von pyautogui funktioniert wie im vorhergehenden Projekt, allerdings dienen die LEDs hier nicht als Kontroll-LEDs für die Tasten, sondern zur Anzeige des Abstands zwischen Spielfigur und Schatz. Je mehr LEDs leuchten, desto näher steht die Spielfigur beim Schatz. a = [10, 6, 4, 2] Diese Liste enthält vier Grenzwerte für den Abstand. Ist der Abstand zwischen Spielfigur und Schatz kleiner als einer der Werte, leuchtet die zugehörige LED. x = 10 z = 160 l = 20 Die Variablen x und z enthalten die Koordinaten einer Ecke des Spielfelds, l die Länge in beiden Richtungen. Das Spielfeld ist quadratisch. ende = 0 Die Variable ende definiert das Spielende. Die Hauptschleife des Programms läuft in diesem Spiel nicht endlos, sondern so lange, bis der Schatz gefunden wurde. xx = random.randrange(x,x+l) zz = random.randrange(z,z+l) mc.setblock(xx, 0, zz, block.diamond_ore)... 140...

Die Koordinaten xx und zz des Schatzes werden innerhalb der Spielfläche zufällig festgelegt. Ein Block aus dem Material block.diamond_ore wird an dieser Stelle in einer y-koordinate von 0 gesetzt, dies entspricht einer Einheit unterhalb der Spielfläche. Die Wiese besitzt an dieser Stelle die y-höhe 1. Darunter befindet sich auf Höhe 0 eine durchgehende Sandfläche. mc.player.setpos(x+l/2, 2, z+l/2) Die Spielfigur wird mitten auf der Wiese positioniert. while ende == 0: p = mc.player.gettilepos() d = math.sqrt((p.x-xx)*(p.x-xx)+(p.z-zz)*(p.z-zz)) Die Hauptschleife des Programms läuft, solange die Endbedingung noch nicht erreicht ist. In jedem Durchlauf wird die Position der Spielfigur in der Variablen p gespeichert und nachfolgend nach Pythagoras der Abstand in der x/z-ebene zwischen Spielfigur und Schatz errechnet. Die Spielfigur macht sich auf die Suche nach dem Schatz.... 141... 17

for i in range(4): if d < a[i]: GPIO.output(LED[i], True) else: GPIO.output(LED[i], False) Eine Schleife prüft die vier in der Liste a[] gespeicherten Abstandswerte. Ist der Abstand zwischen Spielfigur und Schatz kleiner als der geprüfte Wert, leuchtet die zugehörige LED. Ist der Abstand also kleiner als 2, leuchten alle LEDs, ist er dagegen größer gleich 10, leuchtet keine. for i in range(4): if GPIO.input(t[i]) == True: pyautogui.keydown(b[i]) else: pyautogui.keyup(b[i]) Anschließend werden in jedem Durchlauf der Hauptschleife die vier Taster abgefragt. Wird einer davon gedrückt, simuliert pyautogui einen entsprechenden Tastendruck und bewegt entsprechend die Spielfigur. Natürlich können Sie alternativ die Spielfigur auch mit der Tastatur bewegen. bl = mc.getblock(xx, 1, zz) if bl == block.air.id: ende = 1 Um das Spiel zu beenden, muss der Spieler den Schatz freilegen. Dazu wird in jedem Schleifendurchlauf der Hauptschleife geprüft, ob der Block oberhalb des Schatzes das Material block.air hat, also nicht mehr vorhanden ist. In diesem Fall wird die Variable ende auf 1 gesetzt und dadurch die Hauptschleife nicht mehr wiederholt. Hat der Spieler den Schatz freigelegt, wird der Sieg angezeigt.... 142...

for j in range(10): for i in range(4): GPIO.output(LED[i], True) time.sleep(0.1) for i in range(4): GPIO.output(LED[i], False) time.sleep(0.1) Die LEDs blinken gleichzeitig zehnmal hintereinander. Dazu werden alle vier LEDs für 0,1 Sekunden ein- und direkt danach für 0,1 Sekunden ausgeschaltet. Die Spielfigur hat den Schatz gefunden. mc.setblock(xx, 0, zz, block.sand.id) Zum Schluss wird derjenige Block, in dem der Schatz verborgen war, mit Sand gefüllt, damit beim nächsten Spiel keine zwei Schätze vorhanden sind.... 143... 17

mc.setblocks(x, 1, z, x+l, 1, z+l, block.grass.id) Die komplette Spielfläche wird erneut als Wiese gesetzt. Auf diese Weise werden auch Blöcke gefüllt, die vom Spieler mit dem Schwert weggeschlagen wurden, ohne dass er den Schatz gefunden hat. GPIO.cleanup() Abschließend werden die GPIO-Pins zurückgesetzt, um Probleme beim nächsten Programmstart zu verhindern. Die except-anweisung wird an dieser Stelle nicht benötigt, da das Programm keine Endlosschleife verwendet, die mit der Tastenkombination [Strg]+[C] unterbrochen werden muss. PLATZ FÜR IDEEN Die Programme in diesem Handbuch zeigen nur einige von vielen Möglichkeiten, Minecraft zu programmieren und Hardware anzusteuern. Über die im Lernpaket enthaltenen Krokodilklemmenkabel können Sie die unterschiedlichsten leitfähigen Gegenstände als Kontaktsensoren anschließen. Lassen Sie Ihrer Phantasie freien Lauf. Viel Spaß mit Minecraft!... 144...

Zusätzlich benötigt: Raspberry Pi Minecraft ist eine Marke der Mojang Synergies AB mit Sitz in Stockholm, Schweden. Dies ist kein offizielles Minecraft-Produkt. Nicht von Mojang genehmigt oder mit Mojang verbunden. Für Kinder unter 14 Jahren nicht geeignet! 2017/01 2017 Franzis Verlag GmbH, Richard-Reitzner-Allee 2, D-85540 Haar b. München