matematicas-bitbloq

9+3 sind 12, Übertrag von 1…

Heute lernen wir, wie die Blöcke des Reiters Mathematik funktionieren. bloquesmatesDu hast nicht genug Finger zum Zählen? Bitbloq kann für dich die Arbeit übernehmen! Sehen wir uns die Mathematik-Blöcke einmal aus der Nähe an:

  • 1 x ZumBloq LED
  • 1 x ZumBloq Potentiometer
  • 1 x ZumBloq Summer
  • 1 x ZumBloq Taster
  • 1 x ZumBloq Lichtsensor
  • 1 x ZumBloq Joystick
  • 1 x ZumBloq Mini-Servo
  • 1 x ZumBloq LCD
  • Eine Steuerplatine ZUM BT 328 oder eine, die mit Arduino UNO kompatibel ist
  • Ein USB-Kabel

Der Block Zahl

bloquenumeroDies ist einer der Blöcke, die du bei bitbloq am häufigsten verwenden wirst. Mit ihm kannst du eine numerische Zahl schreiben. So kannst du beispielsweise seinen Wert in dem Block wenn…ausführen vergleichen oder auch einem Pin direkt ein Element zuweisen oder eine Zeit festlegen, Operationen durchführen etc. Dieser Block hat eine Vielzahl von Einsatzmöglichkeiten.

Beispiel mit dem Block Zahl

Wir lassen den Summer 300 ms lang ertönen

ejemplobloquenumeroWir haben den Block Zahl verwendet, um den Summer 300 ms lang ertönen zu lassen. Intern versteht man den Block Zahl als ganze Zahl. Das heißt, dass er keine Nachkommastellen annehmen kann. Vergiss das nicht, denn es ist wichtig bei der Durchführung von Operationen.

Der Block Array (Feld)

bloquerrayKannst du dich daran erinnern, wie wir diesen Block bei der Programmierung des Joysticks verwendet haben? Ein Array (Feld) ist nichts anderes als eine Art Liste oder ein Vektor, der drei einzelne Variablen beinhaltet. Dies können wie in unserem Fall die X- und Y-Koordinate und der Taster unseres Joysticks sein, die Stunden, Minuten und Sekunden einer Uhr etc. Wenn du mit Vektoren arbeitest musst du Folgendes beachten. Das erste Element entspricht nicht dem Inhalt 1 sondern dem Inhalt 0. Das bedeutet, dass du für das erste Element eines Vektors eine Null und nicht eine 1 eingeben musst. Entsprechend eine 1 statt einer 2 wenn du auf das zweite Element zugreifen möchtest etc. Anhand des folgenden Schemas wird es deutlicher:
indicesvectorWir sehen uns ein Beispiel an, das den Block Feld verwendet:

Beispiel mit dem Block Feld

Die Werte des Joysticks auf der LCD-Anzeige darstellen

ejemplobloquearrayHier kannst du die Werte X, Y und den Wert des Joysticks auf deiner LCD-Anzeige sehen. Mit dem Block Feld kannst du diese Informationen ordentlich speichern und sie jederzeit ganz einfach wieder abrufen.

Der Block Zufallszahl zwischen … und …

bloquealeatorioDieser Block gibt uns Zufallswerte in einem von uns vordefinierten Intervall aus.bloqaletorioescritoManchmal kann es sehr nützlich sein, einen Zufallswert zu besitzen. Warum versuchst du nicht, das Spiel Simon says mit diesem Block zu erstellen? Oder vielleicht möchtest du, dass dein Roboter tanzt oder improvisierte Bewegungen ausführt…Es gibt viele Möglichkeiten.

Die Blöcke map (umwandeln)

mapear1 mapear2Diese Blöcke dienen dazu, den Bereich einer Komponente zu ändern und ihn an einen anderen anzupassen. Beispielsweise gibt uns das Potentiometer eine ganze Zahl zwischen 0 und 1023 aus, der Mini-Servo Werte zwischen 0 und 180 und eine LED Werte zwischen 0 und 255. Wenn wir ein Potentiometer so zusammen mit einem Mini-Servo verwenden möchten, dass wir beim Bewegen des Potentiometers den Mini-Servo zwischen 0 und 180 Grad bewegen können, wäre der Block to map (umwandeln) ideal dafür, beide Bereiche zu synchronisieren. Der erste Block ermöglicht es uns, eine Variable zwischen 0 und 1023 in einen von uns gewünschten Bereich umzuwandeln. Der zweite Block gibt uns mehr Freiheiten, denn wir können sowohl den Bereich der Eingabevariable auswählen als auch den Bereich der Ausgabe. Wir sehen uns an, warum umwandeln so praktisch ist:

Beispiel mit dem Block map (umwandeln)

Den Wertebereich des Potentiometers umwandeln, um ihn an den Bereich des Mini-Servos anzupassen (0-180 Grad)

ejemplomapeoAuf diese Art und Weise unterteilen wir den Bereich des Potentiometers, der von 0 bis 1023 geht, in 180 Teile. So kommen auf ungefähr 6 Werte des Potentiometers ein Grad unseres Mini-Servos. Ohne diese Umwandlung könnten wir unseren Mini-Servo nicht vernünftig mit dem Potentiometer steuern.

Dieses Programm ist mit diesem anderen hier identisch, das den fortgeschrittenen Block zum Umwandeln verwendet:

bloque2

Operatoren-Blöcke +, -, X, /, ^

Mit diesen Blöcken kannst du einfache mathematische Operationen wie Addieren, Subtrahieren, Multiplizieren, Dividieren und Potenzieren durchführen. Du kannst in dem Block Zahlen verwenden oder auch Operationen mit Variablen durchführen.

Beispiel mit den Operatoren-Blöcken

Wir verwenden den Operator Addieren, um eine LED einzuschalten, wenn die Summe aus dem Wert des Lichtsensors und der Zahl 20 kleiner als 100 ist.

ejemplosuma

Andere mathematische Operatoren

raizcuadradaEs gibt noch einen weiteren Block mit dem wir Operationen wie die Quadratwurzel einer Zahl, den natürlichen oder Zehner-Logarithmus etc. durchführen können. Sehen wir uns ein Beispiel an:

Beispiel mit anderen Blöcken für mathematische Operationen

Wir erstellen ein Programm das den Zehnerlogarithmus einer Variablen ausgibt. In einigen Programmen kann es nützlich sein, eine mathematische Operation durchzuführen, um bestimmte Daten zu modifizieren. Zum Beispiel wenn wir möchten, dass unser Programm den Zehnerlogarithmus des Wertes einer Variablen berechnet.

bloquelogatirmo10So erhalten wir den Zehnerlogarithmus des jeweiligen Wertes des Potentiometers.

Der Block Rest von…

bloquerestodeWeißt du noch wie man schriftlich dividiert? Du wirst dich daran erinnern, dass man oft noch einen Rest übrig hatte, den man erneut teilen musste, um dann eine Zahl mit Nachkommastellen zu erhalten. Dieser Block gibt den Rest einer Division aus. Doch wofür könnte ich den Rest einer Division benötigen? Sieh dir einmal das folgende Beispiel an:

Beispiel mit dem Block Rest von…

Wir erstellen ein Programm, das den Restwert der Division einer Zufallszahl durch 2 ausgibt wenn wir auf den Taster drücken. Wenn es eine gerade Zahl ist (der Rest ist gleich Null) schaltet sich die LED ein. Wenn es eine ungerade Zahl ist (der Rest ist 1) ertönt der Summer.

ejemplorestodeMan kann herausfinden ob eine Zahl gerade oder ungerade ist indem man sie durch 2 teilt. Wenn die Zahl beim Teilen durch 2 einen Rest mit dem Wert Null ergibt handelt es sich um eine gerade Zahl. Wenn der Rest hingegen Eins ergibt ist die Zahl ungerade. Wie du sehen kannst haben wir auch den Zufallsblock verwendet, um eine Reihe von Zufallszahlen zwischen 0 und 2000 zu erstellen.
Das sind die Mathematik-Blöcke. Es mag sein, dass dir manche nicht besonders nützlich erscheinen oder dass du dir nicht vorstellen kannst, so komplizierte Operationen durchzuführen. Je mehr du allerdings zum Experten wirst und wie ein wahrer Meister programmieren kannst, desto mehr wirst du dir wünschen, das es noch viel mehr davon gibt…Das garantiere ich dir!