Schild: Unterschied zwischen den Versionen

Zeile 45: Zeile 45:
  
 
Der Raspberry Pi unterstützt von Haus aus SPI und Ethernet. Aufgrund der Linuxbasis war es auch erheblich einfacher einen entsprechenden UDP Server aufzusetzen.
 
Der Raspberry Pi unterstützt von Haus aus SPI und Ethernet. Aufgrund der Linuxbasis war es auch erheblich einfacher einen entsprechenden UDP Server aufzusetzen.
 +
 +
Während der Entwicklung war es möglich das Schild mit einem 20MHz Signal anzusteuern. Durch die Montage mussten allerdings die Daten- und Versorgungsleitungen auf 5m verlängert werden. Deshalb mussten wir auch die Frequenz auf 10MHz reduzieren. Zu beachten ist, dass der Raspberry Pi die Frequenz vermutlich auf festgelegte Frequenzen reduziert.
  
 
=== Software ===
 
=== Software ===

Version vom 14. Januar 2014, 00:36 Uhr

Crystal Clear action run.png
backspace Schild

Status: unbekannt

Backspace schild.jpg
Beschreibung beleuchtetes Außenschild mit unserem Logo
Autor: krisha
Version 0.8
PayPal Spenden für Schild

Ziel war es ein beleuchtetes Schild mit unserem Logo außen an den Vereinsräumen anzubringen.

Erlaubnisantrag

Im ersten Schritt mussten wir einen denkmalschutzrechtlichen Erlaubnisantrag für ein Schild kleiner als 1m² bei der Bauberatung der Stadt Bamberg einholen. Hierfür haben wir uns einen Lageplan beim Vermessungsamt besorgt und eine Skizze angefertigt.

Nachdem uns die Erlaubnis erteilt wurden ist, haben wir mit der Planung angefangen. Wir haben uns schließlich auf ein transparentes Schild mit dem Logo inklusive unserem Schriftzug geeinigt.

Herstellung

Schild

Schild.jpg

Wir wollten das Schild zuerst selbst mit unserer CNC-Fräse fräsen. Probleme bereitete hierbei aber die nierdige Schmelztemeperatur des Kunststoffes. Eine Kühlung wäre sehr aufwändig geworden und hätte auch den Erfolg nicht garantiert. Zudem hatten wir temporäre Probleme, dass die Fräse bei größeren Wegen manchmal hängen blieb. Das hätte eventuell dazu geführt, dass wir mehrere Plexiglasplatten benötigt hätten. Aus Kostengründen haben wir uns entschieden, das Schild fräsen zu lassen.

Das Schild wurde schließlich von Kunststoff- und Acrylglasvertrieb in Hallstadt gefertigt. Aufgrund der Beratung haben wir uns dann auch für EndLighten Plexiglas und einer zusätzlichen Folie entschieden. Das EndLighten Material hat Vorteile für die Beleuchtung und tagsüber ist die Folie gut zu sehen.

Rahmen

Der Rahmen wurde uns von (TODO) gesponsort und besteht aus Stahl und Edelstahl. Die Abwicklung, das Lackieren, das Einkleben und das Anbringen des Rahmens wurden von hallojoh übernommen.

Das Rahmen ist so gebaut, dass das Schild schwingen kann.

Ansteuerung

Hardware

Raspberry Pi SPI connection (GND, CLK, MISO, MOSI)

Wir haben uns entschieden, dass das Schild mit addressierbaren RGB LEDs angesteuert werden soll. Hierfür haben wir in den USA bei Insomnia Lightning 3 Meter RGB Stripe mit dem Chip LPD8086 besorgt. Die Stripes sind angeblich IP67 wasserfest.

Für die Ansteuerung kamen verschiedene Systeme in Betracht:

  • Atmel XMEGA (AVR)
  • NXP LPC (ARM)
  • Raspberry Pi

Die Entscheidung viel nach einem kurzen Test auf den Raspberry Pi. Hätten wir einen Mikrocontroller eingesetzt, hätten wir eine Platine fertigen müssen und, da das Schild über Netzwerk gesteuert werden soll, einen weiteren Ethernetchip verbauen müssen. Zudem hätten wir hier einen UDP Stack benötigt, oder selbst einen entwerfen müssen.

Der Raspberry Pi unterstützt von Haus aus SPI und Ethernet. Aufgrund der Linuxbasis war es auch erheblich einfacher einen entsprechenden UDP Server aufzusetzen.

Während der Entwicklung war es möglich das Schild mit einem 20MHz Signal anzusteuern. Durch die Montage mussten allerdings die Daten- und Versorgungsleitungen auf 5m verlängert werden. Deshalb mussten wir auch die Frequenz auf 10MHz reduzieren. Zu beachten ist, dass der Raspberry Pi die Frequenz vermutlich auf festgelegte Frequenzen reduziert.

Software

Server

Der Server ist in C geschrieben. Der Code ist auf github verfügbar.

Der Server (backspace hostname schild) erwartet ein UDP Paket auf Port 10001 mit LED_COUNT*3 Bytes. Jede LED hat 3 Bytes für die Farben ROT, GRÜN, BLAU (in dieser Reihenfolge). Die Bytes stehen für die Helligkeit und müssen einen Wert zwischen 0 bis 127 haben. Das MSB wird ignoriert, 0x80 entspricht also einer 0.

Clients

Command line

perl -e 'print "\xFF\xFF\xFF"x156' | nc -u schild 10001

Sine Demo

sine.cs is a simple sample client written in C#. It is drawing a sine wave around the sign, controllable by key presses.

Some recorded videos.

Warsow

github, desc