Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Softwaredoku
Hochschule Karlsruhe Logo Thema:
Maxi-Board Beispielanwendung
Sommersemester 2018
Nicolai Schoofs
Matthias Waldschütz

Software Dokumentation

Einrichtung der IDE:

1.  Installation der Arduino IDE
2. Befolgen der Anweisung dieses Tutorials zur Einbindung von ESP32 in die Arduino IDE
3.  Installation von Visual Studio (2017)
4.  Installation dieses Plugins zur Verwendung der Arduino IDE mit dem Editor von VS
Das Plugin fügt eine Toolbar nach Abbild der Arduino Toolbar unterhalb der standard VS-Toolbar ein.



Link zum GIT-HUB- Repository:
Die Software ist in folgendem Git-Repository zu finden:
https://github.com/hama1067/ft32/tree/BreakoutBoard


Beschreibung unserer Software:
Anpassung der Bestehenden IOObjects

Da die Library, welche vom Hersteller für das SX1509 BreakoutBoard geschrieben wurde für Arduino vorgesehen ist wurden Arduino Standardbenennungen und Strukturen genutzt. Deswegen ist es möglich mit nur wenigen Änderungen der bestehenden Software einen Großteil der Motorsoftware auf den SX1509 anzupassen. Allerdings muss sichergestellt werden, dass das genutzte SX1509 Objekt korrekt initialisiert ist und außerdem die Verbindung über I²C besteht. Dies wird in der, für „setup()“ vorgesehenen, Funktion „Init_SparkFun()“ getan.

Zusätzlich wurde eine neue Klasse „DigitalIO_PWMOut“ erstellt. Diese dient dazu die Funktionen der noch freien GPIOs des SX1509 zu nutzen. Wird der Ctor mit „0“ aufgerufen wird der GPIO 8 ausgewählt, wird der Ctor mit „1“ aufgerufen wird GPIO 9 ausgewählt usw. (auf dem Gehäuse werden die GPIOs von 0 bis 7 Nummeriert).

 

Beispielanwendung

Die Beispielanwendung ist in einer eigenen Klasse realisiert.

 Zuerst wurde versucht den Schriftzug „MAXI“ zu schreiben, aber aufgrund mangelnder Berechenbarkeit des Fahrzeugverhaltens in Bezug auf Geradeausfahrt und Drehung wurde entschieden, dass es gestrichelter Kreis gezeichnet wird.

In „loop()“ wird die „Run“-Methode der Beispielanwendung aufgerufen, welche eine StateMachine enthält, die den Ablauf der Anwendung steuert. Motoren und Sensoren sind als private Member realisiert.



Kreise

Bild: Einige Testkreise




  Mit Unterstützung von Prof. J. Walter Sommersemester 2018