Donnerstag, 14. November 2013

Handy -> Bluetooth -> RGB-LED [Teil 1: Protokoll]

Die Vernetzung von Haushaltsgegenständen ist heutzutage nicht mehr weg zu denken. Das so genannte Internet der Dinge wird in den nächsten Jahren immer mehr Geräte miteinander vernetzen und untereinander kommunizieren lassen. Ein kleiner Teil davon wird die Wohnraumbeleuchtung sein. RGB-LEDs sind mittlerweile günstig auf dem Markt erhältlich und werden konventionelle Lampen ablösen. Dieser Artikel beschreibt Überlegungen für die Steuerung einer RGB-LED über ein serielles Protokoll.

Für dieses Projekt wird eine RGB-LED und der Mikrocontroller ATtiny2313A verwendet. Das Bluetooth Modul HC-05 bildet die Schnittstelle zwischen Beleuchtungseinheit und Steuerungssoftware auf Andorid Basis.

Um die Übertragung von Helligkeitswerten mit möglichst wenig Aufwand zu realisieren, wird ein Protokoll erstellt, dass aus einem 4 Byte großem Block besteht. Der Block beginnt mit einem Null Byte (0x00), darauf folgen die Helligkeitswerte für Rot, Grün und Blau. Das Nullbyte dient zur Synchronisation. Die sonstigen Bytes dienen zum Übertragen von Kommandos. Somit ist das Protokoll am Ende bei Bedarf erweiterbar, da erst nach der Synchronisation wieder mit den Farbwerten gerechnet wird.
Telegramm zur Steuerung der Lampe
Die Sonstigen Bytes können für Steuerbefehle verwendet werden. Um erneut eine Farbe zu übertragen muss das Byte 0x00 übertragen werden und danach die Bytes für Rot, Grün und Blau. So lässt sich zum Beispiel der Status der Lampe mit dem Code 0x01 abfragen, der aktuelle Batteriezustand mit 0x02 und so weiter. Die Befehle hier sind erst einmal nur als Beispiel gedacht, um die Grundfunktionen zu implementieren.
Steuerbefehle
Als nächstes wird der Aufbau der Hardware folgen.

Dienstag, 12. November 2013

[WIP] Ein neuer Versuch mit ASURO

Ich bearbeite für das Studium eine Projektarbeit für die Roboterplattform ASURO. Den Verlauf der Entwicklung werde ich hier dokumentieren. Ziel ist es ein Betriebssystem zu erstellen, dass die Werte der sechs Sensoren kontinuierlich ermittelt und sie für den Programmierer aufbereitet. Dazu gehört neben der reinen Speicherung der Messwerte eine, abhängig vom Sensor, kontinuierliche Verarbeitung. Deshalb habe ich mich in letzter Zeit intensiv mit der Wandlung von analogen Spannungen zu digitalen Werten beschäftigt; konkret mit der Wandlung von Spannungen eines IR-Transistors an einem ATmega8.

Montag, 11. November 2013

Hough Transformation für Geraden

Die von Paul V. C. Hough 1962 patentierte Methode zur Erkennung von komplexen Strukturen [1] verwendet ein Parameterraum in dem jeder Punkt im Bild der auf einer Kante liegt, jede mögliche zu findende Form durch diesen Punkt zugewiesen bekommt. Das sind bei unterschiedlichen Formen unterschiedliche Parameter, bei einer Gerade zum Beispiel Steigung und Y Achsenabschnitt oder bei einem Kreis Radius und Mittelpunkt. Wenn alle Kantenpunkte im Parameterraum abgebildet sind, werden durch eine Häufigkeitsanalyse die Parameter der gesuchten Figuren bestimmt. [2] In Software wird der Parameterraum häufig durch ein mehrdimensionales Array von Ganzzahlen ausgedrückt. Das Kantenbild liegt häufig als 2 dimensionales binäres Array vor. Dadurch sind die Raumtransformation und die Maximafindung einfach zu lösen. Um eine Gerade in einem Bild zu beschreiben gibt es mehrere Möglichkeiten.