bubbles

RWTH uC Tetris

Neben der Informatik Vorlesung besuchte ich dieses Semester die Mikrocontroller AG. In dieser freiwilligen Veranstaltung lernten wir den aus der Vorlesung bekannten Mikrocontroller, ATMega zu benutzen.

Zusammen mit meinen Gruppenmitgliedern Annika, Maiwand & Christian bauten wir ein 8×16 LED-Dot Matrix Display auf dem wir Tetris spielen konnten:

Von der Uni haben wir dabei ein Mikrocontroller Board als Leihgabe bekommen. Das ergänzten wir durch das selbst gelayoutete Display und einen umgebautes SNES Gamepad.

Wir haben dabei darauf geachtet durch geschicktes Hardware Layout die Programmierung zu vereinfachen. So haben wir die normalen 10 Blöcken pro Zeile auf 8 reduziert, um unser komplettes Spielfeld in einem  Integer-Array (uint8_t board[16]) speichern zu können. Vieles lies sich so recht realisieren:

  • Stein verschieben: Logical Shift Left/Right (board[line] <<= 1)
  • volle Zeilen erkennen: board[line] == 255

Während der letzten Vorlesung bekamen wir die Gelegenheit das Projekt unseren Kommilitionen und Prof. Roßmann vorzustellen.

Der Sourcecode und die Eagle-Dateien der Displayplatine sind im git verfügbar.


Quiz Buzzer

P1040386Für die einige Spiele unseres Abischerzes benötigten wir Buzzer wie man sie aus den TV-Shows “Schlag den Raab” oder “Familien Duell” kennt. Als Techniker war es meine Aufgabe diese zu besorgen. Schnell stellte ich fest, dass diese gewöhnlichen Buzzer, die eigentlich für den industriellen Einsatz bestimmt sind, für unseren Ramen viel zu teuer waren. Bei Preisen von ca. 50€ pro Buzzer brauchten wir eine Alternative.

Ich entschied mich den kompletten Buzzer inklusive Elektronik selbst zu bauen. Die Auswertung wird hierbei von einem Computer übernommen. Die Buzzer simulieren eine USB-Tastatur mit nur einer Taste. Dank des Projekts V-USB, ein Software USB Stack für Atmel AVR Mikrokontroller, der auch das USB-HID Protokoll beherscht, konnte die Platine recht übersichtlich gehalten werden. Es wird nur ein TinyAVR45 und etwas “Vogelfutter” benötigt :) Die Mikrokontroller Firmware konnte ich leicht abgewandelt von Flip übernehmen.

Der Taster an sich besteht aus zwei Plastik-Muffen und einer Plastikkugel aus dem Bastelbedarf, die rot lackiert wurde. Ein Stoßdämpfer aus dem Modellbau sorgt für die nötige Rückstellkraft.

Continue reading ‘Quiz Buzzer’

TetraBot, die Erste

Nun bisher habe ich euch noch nicht viel über mein derzeitiges Projekt verraten. Es handelt sich um einen ca. 0,8 kg schweren Roboter, der vier Modellbauservos als Antrieb nutzt. Immer nur 3 seiner 4 Räder werden gleichzeitig für Antrieb genutzt, das vierte Rad ist Reserve und wird später eventuell für die Radarnavigation benutzt.

Seine gleichmäßige, geometrische Form, die einem Tetraeder ähnelt, gab ihm den Namen Tetrabot.

Auch die Elektronik soll redundant ausgelegt werden. Jede seiner vier “Tentakeln” wird durch einen Atmel AVR Mikrocontroller gesteuert. Zusätzlich bekommt jedes Bein noch eine spezielle Aufgabe:

  1. Kommunikation
  2. Navigation
  3. Stromversorgung
  4. Sensorik

Ein Bein besteht aus:

  • 2 AAA Ni-MH Akkus
  • Atmel AVR ATMega Mikrocontroller
  • Taster
  • LED’s
  • Umgebungslichtsensor
  • Servo + Omniwheel
  • Gabellichtschranke
  • Ultraschall Sensor

Hinzu kommen für die einzelnen Aufgabenbereiche individuelle Elemente:

  • IR Sender + Empfänger
  • Bluetooth
  • Temperatursensor
  • Mikrofon

Untereinander sollen die Beine über den I²C Bus verbunden werden und sich so im “multiple master” Modus gleichberechtigt austauschen.

Fast ein halbes Jahr ist jetzt seit meinen ersten Gedanken vergangen. Mittlerweile ist die Planung fast abgeschlossen.

Das Grundgerüst + Akkus und Antrieb des Roboters sind schon fertig. Trotzdem liegt noch viel Arbeit vor mir ;) . Ich rechne erst nach meinem Abitur mit der Fertigstellung… Hoffentlich habe ich während meines Zivildienst dann mehr Zeit.

Hier meine ersten Ergebnisse:

Das war es mal fürs erste… Die entgültige Form und Funktionweise des Roboters behalte ich noch ein paar Monate für mich. Es jetzt zu beschreiben wäre sinnlos. Bilder sagen ja sowieso mehr als 1000 Worte…