Samstag, 25. Juli 2015

Arduino mit Scratch programmieren

In diesem Post geht es darum, wie man den Arduino über Scratch programmiert. Der große Unterschied zwischen Scratch und C++ ist, dass man in Scratch sogenannte Blöcke hat und man diese hintereinander hängt, anstatt Code zu schreiben.

Die Installation von Scratch für den Arduino

Um den Arduino mit Blöcken zu programmieren gibt es eine angepasste Scratch Version namens Scratch for Arduino(S4A). Diese Programm kann man sich auf der offiziellen Website herunterladen. Die Installation geht auch schnell von der Hand, da man nur einen Speicherort angeben muss, und auswählen muss, ob man ein Desktop Icon erstellen will.
Da Scratch, ähnlich wie bei NodeJS, die Befehle immer live an den Arduino sendet, muss es einen Sketch auf dem Arduino geben, der die empfangenen Befehle ausführt. Diesen Sketch könnt ihr hier herunterladen. Nachdem ihr ihn mit der Arduino IDE hochgeladen habt ist die Vorbereitung abgeschlossen.

Programme für den Arduino mit Scratch erstellen 

Wenn ihr Scratch startet sucht Scratch euren Arduino. Sobald er gefunden wurde, werden euch laufend die aktuellen Sensorwerte angezeigt. Etwa die analog Inputs oder einige digital Pins. Das erleichtert das Programmieren, da ihr dadurch überprüfen könnt, wie euer Arduino auf etwas reagiert und was er gerade misst. Dafür muss der Arduino jedoch die ganze Zeit an euren PC angeschlossen bleiben und mit Scratch für den Arduino ist es auch nicht möglich ein Programm auf dem Arduino dauerhaft zu speichern.
Komischerweise wurde mein Arduino Uno als Arduino Duemilanove erkannt. Abgesehen davon hat jedoch alles einwandfrei geklappt.
Um nun ein erstes Programm für den Arduino zu erstellen, kann man sich in der rechten Spalte die passenden Befehle aussuchen. Diese sind in 8 Kategorien eingeteilt.
Wenn wir ein blink Programm schreiben wollen, so muss erst die Led an Pin 13 an sein, eine Sekunde gewartet werden, und die Led an Pin 13 wieder ausgeschaltet werden. Nach einer weiteren Sekunde warten, soll der ganze Vorgang wiederholt werden. Das an- und ausschalten der Led befindet sich in der Kategorie Bewegung. Das 1 Sekunde warten und die Endlosschleife in der Kategorie Steuerung.
Praktischerweise sieht man den einzelnen Befehlsblöcken immer an, wie sie verwendet werden können. Wenn sie oben eine Einbuchtung haben kann man vor sie noch etwas stellen. Wenn sie unten eine Ausbeulung haben kann man sie zu einer Reihe zusammenbauen.
Da ein Scratch Programm nicht auf den Arduino geladen werden muss, wird ein Bereich automatisch ausgeführt, sobald die jeweilige Bedingung zutrifft. Dabei werden dann auch die jeweiligen Blöcke weiß umrahmt.
Scratch ist eine tolle und einfache Möglichkeit, um den Arduino grafisch zu programmieren. Dabei gibt es jedoch auch einige Einschränkungen (immer mit PC verbunden), die negativ aufgefallen sind.

Keine Kommentare:

Kommentar veröffentlichen