sitemap link mailform link home

Software Lampensimulator

Hier nun die komplette Software "Lampensimulator" mit folgenden Funktionen:

Nach dem Starten des Programms blinken zuerst einmal alle LED-Leuchtmittel:

LED an PB0 = 0,5 Hz (Hellphase 1 s, Dunkelphase 1 s)
LED an PB1 = 1 Hz (Hellphase 0,5 s, Dunkelphase 0,5 s)
LED an PB2 = 2 Hz (Hellphase 0,25 s, Dunkelphase 0,25 s)

Die Aufgabe sieht vor, dass der Roboter das LED-leuchtmittel mit der niedrigsten Blinkfrequenz ansteuert und eine unter dem LED-Leuchtmittel angebrachte Taste betätigt. Das Blinken des entsprechenden LED-Leuchtmittels erlischt und nach einer Pause von 2 s wird das Positionierungssignal ausgegeben:

Sobald der Taster 1 an PD0 einmal gedrückt wird, sendet er ein Positionierungssignal (fortlaufend).
Sobald der Taster 2 an PD1 einmal gedrückt wird, sendet er ein Positionierungssignal (fortlaufend).
Sobald der Taster 3 an PD2 einmal gedrückt wird, sendet er ein Positionierungssignal (fortlaufend).

Ein weiterer Tastendruck beendet jeweils die Ausgabe des Positionierungssignals und das Blinken setzt wieder ein.

ACHTUNG: Der Tastendruck auf Taster 1 steuert nur das LED-Leuchtmittel 1. Sollten die beiden anderen LED-Leuchtmittel gerade blinken, so tun sie es auch weiterhin ohne Unterbrechung. Die 3 Kanäle (aus jewiels 1 Taster und 1 Lampe) arbeiten völlig unabhängig.

Um diese Unabhängigkeit in der Steuerung der 3 LED-Leuchtmittel zu gewährleisten, war es notwendig, einen festen Takt von 1/8 Sekunde mittels eines 16-Bit Timers (Timer1) zu erzeugen. Daraus werden dann alle Blinksignale und die Positionierungssignale abgeleitet. Der Takt ist für alle 3 Kanäle gleich. Ansonsten hat jeder Kanal aber eigene Zählvariablen.

Zip-Ordner Software-Projekt "Lampensimulator" für WinAVR (einschließlich Makefile usw.


 

Quellcode "Lampensimulator":

.

Letzte Änderung:
March 23. 2023 21:04:40
«    top    »