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.


volkszaehler.org Zählerbox

Das volkszaehler.org Projekt nähert sich mit großen Schritten seiner ersten stabilen Version und damit dem ersten Release.

Ich möchte hier nur einen kurzen Überblick über den aktuellen Stand geben. Du kennst das Projekt noch gar nicht? Weiß nicht was Smartmeter sind? Da steigst du besser auf unsere Projekt Website ein!

Für die Entwicklung am Projekt habe ich mir eine kleine Hutschienenbox gebaut. Sie eignet sich perfekt für den mobilen Einsatz und zum Testen neuer Firmware und Funktionen. Mal schnell den Verbrauch des eigenen Kühlschranks zu erfassen ist kein Problem. Derzeit ist mein Schreibtisch an die Box angeschlossen und liefert so aktuelle Daten für die Demo Installation des Projektes.

Die Box enthält folgende Komponenten:

  • ~230V Eingang über Kaltgerätestecker (geerdet, max. 10 Ampere)
  • ~230V Ausgang über Schukostecker (geerdet, max. 16 Ampere)
  • Sicherungsautomat (Ein-/Ausschalter)
  • B&G E-Tech DRS-154D S0-Zähler (einphasig, 2000 Impulse/kWh)
  • Udo’s S0-Server (basierend auf ATMEL AVR’s & ethersex, 10 Mbit/s Ethernet, TFTP Bootloader)
  • Knopf zum manuellen Triggern von Impulsen
  • externer Anschluss von Zählern

Aktueller Stand

Der alte Prototyp wurde nun durch ein flexibleres und modulares System ersetzt. Praktisch jede Kombination von Sensoren, Zählern, Controllern und Frontends ist möglich. Hier sind keine Grenzen mehr gesetzt.

Du kannst das Projekt zum Erfassen des eigenen Strom-/Wasser-/Gasverbrauchs ebenso benutzen wie zur Abrechnung eines ganzen Studentenwohnheims.

Zur Visualisierung bist du nicht mehr an das Browser basierte Web-Frontend gebunden. Durch den modularen Aufbau können viele Frontends gleichzeitig verwendet werden: Smartphone, Laptop etc.. Gleiches gilt für die Sensoren/Zähler. Hier kannst du beliebig viele gleichzeitig auswerten. Sie müssen noch nicht einmal am gleichen Ort installiert sein.

So schwebt derzeit die Idee im Raum ein Sensornetzwerk von Geigerzählern zur verteilten Strahlunsmessung aufzubauen.

Screenshot des Frontends

Die Zählerbox

Ausblick

Die Ideen sprudeln nur so aus unser heraus. Es ist ein Jammer, dass ich gerade nicht mehr Zeit in das Projekt invertieren kann. Aber mein Studium hält mich derzeit sehr in Atem. Nach den Klausuren geht es dann wieder etwas schneller weiter.

Unsere Agenda ist endlos:

  • erste stablie Version veröffentlichen
  • Betriebsstundezähler unterstützen
  • weitere Controller, wie den Flukso und “offizielle” Smartmeter unterstützen
  • Radioaktivität messen
  • Visualisierung für Smartphones
  • Visualisierung über Moodlights
  • Installation vereinfachen

Hast du weitere Ideen, Anregungen, möchtest etwas verbessern oder eigene Features hinzufügen? Dann bist du immer auf unsere Mailingliste willkommen! Wir freuen uns über jeden fleißigen Helfer ;)

Inner workings of UNI-TREND UT61E Digital Multimeter

Ole hat mich in einem älteren Beitrag auf das Innenleben des “UNI-TREND UT61E Digital Multimeter” aufmerksam gemacht. Ole suchte nach einer Möglichkeit die serielle Datenübertragung zu deaktivieren. Ich schlug vor das Multimeter zu öffnen und nach einem Datenblatt des verwendeten IC’s zu suchen.

Das Multimeter besitzt einen Cyrustek ES51922P (P für Peak, Datenblatt ist verlinkt). Dessen Funktionalität geht etwas über die angegeben Features des UNI-TREND UT61E hinaus. So könnte man durch kleinere Modifikationen auch noch Temperatur messen, das Multimeter kalibrieren oder als Frequenzzähler nutzen.

Da ich derzeit diese Funktionen nicht benötige, entschied ich mich erst einmal hier nichts zu modifizieren. Aber vielleicht ist ja jemand Anderes auf der Suche nach genau diesen Features..

Das Datenblatt ist in verständlich in Englisch verfasst und enthält auch eine Spezifikation des seriellen Protokolls. Es ergänzt so die von Henrik Haftmann erarbeitete detaillierte Beschreibung des Protokolls,

Hier noch eine paar Bilder der Innereien (man könnte sie fast zum Nachbau verwenden ;)

PS: Die serielle Ausgabe ist durch das Ziehen von Pin 111 auf Masse permanent aktiviert und lässt nicht auch nicht Abschalten. Höchstens das Durchtrennen der Leiterbahn um Pin 111 würde Abhilfe schaffen.