In diesem Tutorial zeige ich Ihnen, wie Sie das ScratchGPIO-Erweiterungspaket installieren, ein Steckbrett mit LEDs und Schaltflächen zusammenstellen und ein einfaches Scratch-Spiel ausführen, bei dem LEDs und Steckbrett-Tasten zum Spielen verwendet werden.
Da der Schwerpunkt des Raspberry Pi auf Bildung liegt, ist es absolut sinnvoll, dass Scratch auf dem Standard-Build von Raspbian vorinstalliert ist und als Symbol auf dem Desktop verfügbar ist.
Simon Walters, @cymplecy auf Twitter, hat eine Erweiterung für Scratch geschaffen, mit der Ihr Programm den Status der Raspberry Pi GPIO Pins lesen und schreiben kann. Simon bloggt über seine Kreation, ScratchGPIO bei Cymplecy, und behält es in seinem Github-Repository bei.
Das Steckbrett enthält die LEDs und die Tasten, mit denen ScratchGPIO zusammenarbeitet. Die LEDs benötigen einen Strombegrenzungswiderstand von 220 OHM und die Tasten benötigen die 1K OHM-Widerstände, um sicherzustellen, dass die Pins nicht zu viel Strom durchlassen.
Richten Sie das Steckbrett und die Steckbrücken mithilfe der folgenden Abbildung auf die im Diagramm dargestellten GPIO-Pins ein. Die Pin-Nummern, die das GPIO-Modul und der Scratch-Code verwenden, sind die physischen Pin-Nummern, nicht GPIO-Nummern oder logische Nummern. Beziehen Sie sich auf die Bilder auf der Seite RPi Low-level-Peripheriegeräte, um die Pin-Nummern zu ermitteln.
Es gibt mehrere Anleitungen zum Kauf und zur Installation eines Betriebssystems auf Ihrem Raspberry Pi. Installieren Sie das neueste Raspbian-Betriebssystem. Sobald Ihr Raspberry Pi konfiguriert und zum grafischen Desktop hochgefahren ist, fahren Sie mit dem nächsten Schritt fort.
Die ScratchGPIO-Software ändert oder ersetzt den ScratchGPIO-Code nicht und fügt eine Reihe von Python-Skripts hinzu, die in Scratch integriert werden und die die Kontrolle und das Lesen der GPIO-Pins auf Hardwareebene ermöglichen. Scratch funktioniert nach der Installation weiterhin normal.
Auf dem grafischen Desktop des Raspberry Pi wird jedoch ein neues Symbol angezeigt, das die GPIO-Support-Skripts und Scratch gemeinsam startet. Der Installer ist einfach und leicht zu bedienen. Folgen Sie den Anweisungen unten, um das ScratchGPIO-Paket herunterzuladen und zu installieren.
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
Das Thema Schreiben von Scratch-Programmen ist tief und breit. Dieses Tutorial behandelt nicht die Details der Scratch-Programmierung, aber die Scratch-Website ist hervorragend geeignet, um Scratch einzuführen und zu lehren, wenn Sie mehr erfahren möchten.
In den folgenden Schritten werden Sie ein Scratch-Spiel herunterladen und ausführen, das die GPIO-Erweiterungen und das von Ihnen erstellte Steckbrett-Setup nutzt. Das Spiel setzt die Ausgangspins 11, 12 und 13 hoch, um die LEDs zu beleuchten und die Gesundheit des Helden des Spiels, Cat.
Da Cat die Gesundheit verliert, werden die LEDs nacheinander ausgeschaltet, bis sie alle dunkel sind und das Spiel beendet ist. Während des Spiels prüft das Programm den Status der Eingangspins 3 und 5, und wenn die Pins niedrig oder geerdet sind, bewegt sich Cat auf und ab, um zu versuchen, den aufladenden Gegner Rex zu vermeiden.
Während Sie das Spiel spielen, werden Sie sehen, wie die drei LEDs auf dem Steckbrett den Gesundheitszustand von Cat widerspiegeln und dass die Tasten Cat in der Tat auf und ab bewegen. Ich werde auf die Codebits hinweisen, die mit den Pi GPIO-Pins interagieren. Als Referenz finden Sie die vollständige Dokumentation des ScratchGPIO-Pakets im Autorenblog.
Die LEDs werden mit Strom versorgt, wenn die Pins, mit denen sie verbunden sind, auf High oder On geschaltet sind. Die LED leuchtet und der Widerstand verhindert, dass zu viel Strom fließt. Klicke auf das Bühne Symbol im unteren linken Bereich des Scratch-Fensters. Dadurch wird das Skript für das Bühnenobjekt in den Editor in der Mitte des Fensters eingefügt.
Der Code-Snippet unten zeigt die LED- und Gesundheitszustandsroutine. Wenn der Codeblock die UpdateHealth Broadcast-Nachricht, bewertet sie die Integritätsvariable und setzt die Pins auf niedrig, wenn die Integrität verloren geht.
Die Drucktasten verbinden die Pins 3 und 5 über den Strombegrenzungswiderstand, wenn sie gedrückt werden. Der Raspberry Pi erkennt den Pin dann als niedrig oder 0 in Scratch. Klicke auf das Katze Symbol im unteren rechten Bereich des Fensters, um den entsprechenden Code in den mittleren Bereich zu bringen.
Im obersten Codeblock wird nach einigen Einstellungen die Kontrolle über den Status der Pins 3 und 5 durchgeführt. Wenn einer der beiden Werte Low oder 0 ist, wird die Nachricht angezeigt oben oder Nieder wird gesendet Tiefer in der Katze Skript sind Codeblöcke, die die Richtungsnachrichten empfangen und das Sprite selbst verschieben.
Mein Highscore war 34. Sehen Sie, ob Sie das schlagen können!
Scratch ist ein sehr zugänglicher und leicht zu erlernender Programmierrahmen für Kinder und Erwachsene. Die enge Verbindung zum Raspberry Pi und sein pädagogischer Schwerpunkt waren perfekt aufeinander abgestimmt. Das ScratchGPIO-Projekt ermöglicht Scratch die Steuerung und Erkennung der Low-Level-GPIO-Pins von Pi auf sehr leistungsfähige Weise. Der Autor arbeitet weiterhin an der Erweiterung des Pakets, um LCD-Bildschirme, Motoren, Kompasskomponenten, Abstandssensoren und andere elektronische und Robotikkomponenten zu unterstützen.
Die durch das ScratchGPIO-Paket gebotene Hardwaresteuerung ermöglicht selbst Einsteigern die Möglichkeit, mit der physischen Welt mit einem einfachen und bekannten Programmier-Framework zu interagieren.
Wenn Sie diesem Tutorial folgen, haben Sie gelernt, wie Sie das ScratchGPIO-Paket installieren und weitere Informationen dazu und zu Scratch suchen. Außerdem haben Sie eine einfach zu bedienende Steckplatinenschaltung aufgebaut, mit der Sie mit Scratch- und GPIO-Steuerung sowohl für die Eingabe als auch für die Ausgabe sicher experimentieren können.
Schließlich haben Sie ein Spiel installiert, das als Beispiel dienen kann und als Grundlage zum Lernen und Experimentieren dient. Während das ScratchGPIO-Projekt immer weiter reift und wächst, können Sie sich auf eine völlig neue Generation von Raspberry Pi-Robotern freuen, die von Scratch gesteuert wird.