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).
BeispielanwendungDie 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.
Bild: Einige Testkreise