kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Übungsaufgaben zur objektorientierten Programmierung mit dem Arduino Micro

(EN google-translate)

(PL google-translate)

Im vorangehenden Kapitel wird gezeigt, dass Port B beim Arduino Micro komplett herausgeführt wird und dass sich somit eine LED-Leiste mit 8 LEDs herstellen läßt, die leicht über Register angesteuert werden kann.

Aufgabe 1

Bauen Sie die LED-Leiste mit allen 8 LEDs auf dem Steckbrett auf und schreiben ein kleines Testprogramm zur Überprüfung der Funktionalität.

Aufgabe 2

Schreiben Sie ein prozedurales Programm in der main-Methode, bei dem eine leuchtende LED "im Kreis wandert", wenn man die Leiste zu einem Kreis schließt.

Aufgabe 3

Schreiben Sie eine Funktion, durch die das Weiterschalten von der aktuellen zur nächsten LED erfolgen kann und nutzen Sie diese, anstatt alle Funktionalität im Hauptprogramm zu belassen.

Aufgabe 4

Entwickeln Sie eine Klasse "LEDleiste" in der Headerdatei "LEDleiste.h", die alles notwendige enthält, um...

  • die notwendigen Register der LED-Leiste zu konfigurieren,
  • die LED-Leiste zu starten
  • die LED-Leiste zu steuern
  • die belegten Register wieder frei zu geben,
  • zwischen verschiedenen Arbeitsmodi der LED-Leiste umzuschalten.

Halten Sie sich dabei an folgende Struktur:

   ____________________
   |     LEDleiste    |
   |------------------|
   | + start()        |
   | + stop()         |
   | + setzeModus(int)|
   | + neuerSchritt() |
   |__________________|


Code 0-1: UML-Klassendiagramm der LED-Leiste.

Arbeitsmodi 0,1,2 wären:

  • das zuvor beschriebene "Lauflicht im Kreis",
  • ein Hin- und Herlaufen des Lichts,
  • ein Nacheinander aufleuchten der LEDs bis alle leuchten und danach gleichzeitiges Ausschalten aller LEDs.

Hinweis: Das Weiterschalten der LEDs kann in allen fällen von loop() aus erfolgen, unterbrochen durch eine Pausenfunktion delay(200);.


Aufgabe 5 Vervollständigen Sie das Gesamtprogramm durch Hinzufügen von Tastern, mit denen zwischen den Modi umgeschaltet werden kann. Ergänzen Sie den Modus "ausgeschaltet", bei dem keine LED leuchtet und einen Modus "test", mit dem sich erkennen läßt, ob alle LEDs funktionieren.

Aufgabe 6

Vergleichen Sie die verschiedenen Programmvarianten aus den Aufgaben 1 bis 4 miteinander. Wo liegen hier jeweils die Vor- und Nachteile?