Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Konzeptentwicklung
Hochschule Karlsruhe Logo Informationstechnik
CodyErg
Wintersemester 2018/2019
Andrea Lopez

Konzeptentwicklung

Blockdefinition:

Entwickelt in Blockly Developer Tools. Der Benutzer hat die Möglichkeit, einen oder zwei Motoren zur Steuerung auszuwählen und die gewünschten Zentimeter zu schreiben.

Der Baustein wird unter den in Baustein bereits vorhandenen Motor Input gelegt.

Vom Distance Block generierter Code:

Der in Cody ++ generierte Code entspricht zwei Zeilen. Zuerst benötigt eine Funktion des im Dropdown-Menü ausgewählten Motors den gewünschten Abstand in Zentimetern. In den Library (ft_ESP32_IOobjects.cpp) wird eine Delay berechnet und in Millisekunden zurückgegeben.

Die Block- und Codeleitungen werden zwischen der Aktivierung der Motoren und ihrer Deaktivierung platziert. Die Delay zwingt das Auto, sich für eine Zeit weiter zu bewegen, die den Zentimetern entspricht.

Änderungen in den Bibliotheken:

In der Library „ft_ESP32_IOobjects.h“ werden die Funktionen setDistance und getInterval in die Klasse Motor gestellt. Zusammen mit der privaten Variablen mDistance wird der umgerechnete Abstand von Zentimetern zu Millimetern gespeichert.

In der Library „ft_ESP32_IOobjects.cpp“ werden die Funktionen setDistance und getInterval entwickelt. setDistance nimmt den Abstand in Zentimetern, den der Benutzer in den Block geschrieben hat, und ändert ihn in Millimeter. In getInterval wird ein Array verwendet, in dem das aprox. Geschwindigkeit vom Fischertechnikauto in mm / ms angegeben werden. Die Position im Array entspricht der Drehzahl für den Motor, die der Benutzer im Dropdown-Menü des Eingangsblocks ausgewählt hat. Das heißt, wenn die Geschwindigkeit 3 gewählt wird, wäre der Wert in mm / ms 0,1538.

Die Delay wird berechnet, indem die Entfernung durch die Geschwindigkeit geteilt und in der Variablen "Intervall" gespeichert wird.

Code für den Block in der Cody ++ - Master file:

Der im Blockly Developer tools erstellte Code wird aufgeteilt und zwei Dateien hinzugefügt: custom_blocks.js und custom_block_syntax.js.

In der Datei custom_blocks.js wird der Code für das Erscheinungsbild des Distanceblocks abgelegt.

In der Datei custom_block_syntax.js. Wird der Code für die Funktionalität des Distanzblocks platziert. Es verwendet die vom Benutzer in Cody ++ gewählte Motornummer und den Abstand in cm und generiert damit den Code in C ++, der in die Arduino IDE kopiert und in den ESP32 geladen werden kann.






  Mit Unterstützung von Prof. J. Walter Wintersemester 2017/18