download unter http://s4a.cat/
Zuerst muss die Firmware auf den Arduino geladen werden, dann startet man s4a. Die Firmware ist nichts anderen als ein kleines Arduinoprogramm.
Achtung, da sowohl die Arduinoprogrammierumgebung, als auch die S4A-Software über den seriellen Port (COM-Schnittstelle) mit dem Arduino kommunizieren, darf immer nur eines der zwei Programme gestart sein, da sich diese sonst die COM-Schnittstelle gegenseitig blockieren.
Es ist auch möglich den Entfernungssensor über Scratch anzusprechen. Dies ist allerdings nicht mit der Standardfirmware möglich, sondern mit einer Abwandlung. Hier downloaden.
Ein kleines Beispielprogramm zum Auslesen der Sensorwerte und ein kleines Spiel kann man hier downloaden.
Ein ähnlicher Ansatz hat Snap4Arduino.
Bevor man mit Snap4Arduino arbeiten kann, nuss man über die Arduino Software die Firmata -Software auf den Arduino laden. Diese ist bei der Arduino - IDE dabei und unter Datei > Beispiele > Firmata > StandardFirmata zu finden.
https://www.cs.uni-potsdam.de/~mprz/uploads/Anleitung_Snap4Arduino_MyIG_und_Grove.pdf
Programmiere das einfache Spiel (Scratch in 5 Minuten) mit eigenen Figuren und eigenem Hintergrund (Bühne) nach.
Entwickle ein Spiel, in welchem die Steuerung eines Objektes mit dem Beschleunigungssensor und zusätzlich mit Hilfe eines Schalters geschieht.
Damit sich das Objekt auf der gesammten Bühne bewegen kann, muss man die Sensorwerte in die Koordinaten umrechnen.
Oftmals möchte mein Objekt in Scratch in Abhängigkeit von Messwerten eines Sensors steuern. Hierzu müssen die Messwerte, die aus einem bestimmten Intervall kommen in Werte eines anderen Intervalls umgerechnet werden.
Zuerst bestimmt man das Intervall der möglichen Messwerte. Das Intervall geht von $a=A_{min}$ bis $b= A_{max}$. Diese erhält man mit Hilfe eines kleinen s4a - Srcipts bzw. durch Beobachten der angezeigten Werte. Das Zielintervall ist im Falle der y-Koordinate: [-180 ; + 180] = [c; d] oder im Falle der x-Koordinate: [-240; + 240] = [c; d]. Möchte man andere Dinge steuern, wie z.B. einen Winkel, so muss man das Zielintervall entsprechend anpassen.
Zur Umrechnung muss man eine Gerade aufstellen, die durch die Punkte $P(a|c)$ und $Q(b|d)$ geht.
Beispiel: Bekommt man man Bewegen des Sensors in x-Richtung Werte $A$ zwischen 450 und 650, so hat die gesuchte Gerade die Steigung $m= {480 \over 200}$, die x-Koordinate berechnet sich dann mit $x(A) = {480 \over 200} \cdot (x-450) -240$.
Auf der Bühne werden die Sensorwerte der analogen Eingänge A3, A4 und A5 angezeigt. Prinzipiel wäre es möglich alle 6 analogen Eingangswerte anzuzeigen.
Das Arduinoobjekt speichert fortlaufend die Eingangswerte in den 3 globalen Variablen A3, A4 und A5. Für jeden analogen Sensorwert gibt es ein Objekt, welches fortlaufend die x-Koordinate ändert und die y- Koordinate entsprechend des Sensorwertes ändert. Dazu werden die Sensorwerte, die theoretisch Werte zwischen 0 und 1023 annehmen können, auf das Koordinatensystem der Scratchbühne umgerechnet.
Im Spiel bewegen sich grüne und blaue Rechtecke von links nach rechts. Der rote Ball soll den grünen Objekten ausweichen und die blauen möglichst berühren. Eine Auswertung nach Punkte gibt es (noch) nicht. Die y-Koordinate in der sich die grünen und blauen Objekte befinden, wird zufällig bestimmt.
Der rote Ball wird über einen Bewegungssensor (ADXL335) gesteuert.
Das Einlesen der Sensorwerte und Bestimmen der Maximal- bzw. Minimalwerte.
Entwicklung eines Spiels mit s4a, wobei die Steuerung des Spiels mit Hilfe von Sensoren geschieht.
Ideen und Tutorials zu Scratch gibt es unendlich viele. In jedes Scratchskript kann man hineinschauen und sehen, wie's gemacht wurde.