Code Test Wiki
Advertisement


Gesamt
Unterseite
Hau den Lukas
|BetreuerIn=Prof. Dr. rer. nat. Roland Mandl |Fach=Praktikum Messtechnik 2 |StudentIn=Angermeier Christian, Maier Georg, Malterer Lisa, Niebauer Matthias, Schmargendorf Lukas |Sonstiges=Hau den Lukas - elektronisch }}

Beschreibung[]

"Hau den Lukas - elektronisch" funktioniert im Allgemeinen ähnlich wie das bekannte Hau den Lukas auf Volksfesten, mit dem Unterschied, dass nicht die Kraft sondern die Geschwindigkeit, mit der geschlagen wird, gemessen wird. Diese Messung erfolgt mit Hilfe zweier Lichtschranken und auf der Leiste leuchtet je nach Schlaggeschwindigkeit eine bestimmte Anzahl von LEDs auf, zusätzlich wird ein Sound ausgegeben.


Aufbau[]

Als Grundplatte wurde ein massives Holzbrett verwendet, in dem sich unten ein Hohlraum befindet, somit konnte alles, sogar die Platinen, daran befestigt werden. Die Lichtschranken wurden in zwei identischen Aluminium-Vierkant-Profilen eingebaut, diese wurden in mattem Schwarz lackiert, um Reflektionen vorzubeugen. Die große LED-Leiste ist ebenfalls aus Aluminium und die LEDs wurden mit speziellen Steckvorichtungen befestigt. Als Schlaggerät wird ein Schaumstoff-Hammer verwendet, da ein normaler Hammer eine zu große Erschütterung bewirken würde. Zusätzlich wurde über das gesamte Holzbrett eine Gummimatte gezogen.


Elektronik[]

Steuerung

Die Steuerung des Spiels übernimmt ein ATMEGA 2560 Board für Arduino Projekte, der mit objektorientiertem C++ programmiert wird.


Bauteile

  • LED-Matrix:


- 30 rote LEDs

- 6 blaue LEDs

- 6 Bipolartransistoren

- 6 MOSFETS

- 6 Pull-down Widerstände (3k Ohm)

- 6 Vorwiderstände der LEDs (430 Ohm)

- 36 LED-Halterungen



  • Geschwindigkeitsmessung:



- 2 Infrarot LEDs + Halterungen

- 2 Infrarot Empfänger

- 1 Bipolartransistor

- 2 Vorwiderstände (430 Ohm)

- 2 Kondensatoren (100 nF)




  • Controllerplatine:

- Arduino Platine mit ATMEGA 2560


  • Sonstiges:

- Holzbrett

- Aluminium-Vierkant-Profile

- Gummimatte

- Netzanschluss + Netzkabel

- Netzteil 12V

- Lochrasterplatinen

- Schrauben

- Schrumpfschläuche

- Kabelschellen

- Schaumstoffhammer

- Lautsprecher

Software[]

Das Programm für "Hau den Lukas" wurde in der Programmiersprache C++ geschrieben.


Allgemein:
Um einen Arduino zu programmieren, braucht man immer zwei Funktionen. Zum einen die Funktion "setup()", die zu beginn des Programms nur einmal aufgerufen wird. Hier werden alle Ports definiert (Eingang, Ausgang), Variablen vorbelegt und der Interrupt initialisiert. Zum Andern gibt es die Funktion "loop()", die nach der Ausführung der Setup Funktion immer aufgerufen wird. Hier haben wir eine Abfrage programmiert, die prüft, ob geschlagen wurde.


Ansteuern der LEDs:
Das Programm beinhaltet eine Funktion (void LED(int Zeit, int LED1, int LED2, ..., int LED36)), die es ermöglicht, jedes beliebige Muster an dem LED-Turm anzuzeigen. So kann man schon einmal eine einfache "Lichtershow" anzeigen lassen, indem man mehrmals hintereinander verschiedene Muster mit der Funktion "LED()" aufruft.


Messen der Geschwindigkeit:
Die Messung der Geschwindigkeit wird durch einen Interrupt ausgelöst, der auf die obere Lichtschranke reagiert. Nach dem Auslösen, wird die obere LED ausgeschaltet(um Störungen zu vermeiden) und ein Zähler hochgezählt, bis die zweite Lichtschranke auslöst. Dannach wird der Zähler über eine Formel auf einen Wert zwischen 1 und 36 normiert und auf dem LED-Turm ausgegeben.

Ergebnis[]

Video


Fazit[]

Der Zeitaufwand für das Projekt hat sich sehr vergrößert, was an Folgendem lag:

- lange Zeit wurde die LED-Matrix nur mit Hilfe von MOSFETs angesteuert, was jedoch nicht immer gleich funktionierte, also mehr oder weniger zufällig war

- es war die Frage, wie die Erschütterung so gering wie möglich gehalten werden kann

- defekte LEDs mussten getauscht werden

Trotz des Zeitaufwands hat sich die Arbeit gelohnt, da wir Spaß dabei hatten und mit dem Ergebnis wirklich zufrieden sind und in den Semesterferien Erweiterungen durchführen werden.


Mögliche Erweiterungen[]

- Partyspiel

- Bildschirmausgabe (Geschwindigkeit, Ranking,...)

Advertisement