Kategorie-Archiv: Projekte

Meine Projekte

Arduino Netzteil

Projekt: Arduino ATX Netzteil

Eine leistungsfähige Stromversorgung für den Bastelkeller ist so ziemlich das wichtigste neben einem Lötkolben.

Solche Netzteile bekommt man am Markt für 20-2000 Euro. Mit und ohne Strombegrenzer, einstellbarer Spannung, ein oder zwei Ausgängen usw usw. Man sollte sich allerdings einmal Gedanken machen was man wirklich davon benötigt. In meinem Fall sind es zumeist 3.3 Volt oder 5 Volt für die Mikrokontrollerschaltungen. In Ausnahmefällen mal mehr um einen Motor anzusteuern oder ähnliches. Aktuell behelfe ich mir da zumeist mit regelbaren Spannungswandlern und einem 12 Volt Steckernetzteil.

Beim stöbern im Netz fand ich einige Projekte welche ATX-Netzteile von Computern nutzten. Ganz besonders interessant war das von hackmeister.dk.

Da musste ein Nachbau her :-)

Weiterlesen

Raspberry PI als USB-Server

Ich stand vor dem Problem, meinen Scanner und andere USB-Geräte für mehrere Rechner zugänglich zu machen ohne jedes mal die Geräte umstecken zu müssen. Für diesen Zweck gibt es bereits diverse LAN-USB-Server auf dem Markt.

Grundsätzlich funktionieren diese alle nach dem selben Prinzip: Ein (oder mehrere) USB-Geräte werden über diese kleinen Boxen über das Netzwerk freigegeben und können dann von anderen Rechnern wie ein lokale eingestecktes USB-Gerät eingebunden werden. Die Kosten für diese Konverter belaufen sich auf 30 – 100 Euro.

Wenn man sowieso bereits einen Raspberry Pi in seinem Netzwerk laufen hat, kann auch dieser als LAN-USB-Server arbeiten.

VirtualHere

Die Software “VirtualHere” besteht aus zwei Teilen. Einmal das Serverprogram welches auf dem Raspberry Pi läuft und die USB-Geräte im LAN freigibt. Als zweites die Client-Software welche die freigegebenen USB-Geräte auf den Rechnern einbindet.

Aktuell gibt es die Clients für die Betriebssysteme Windows und OSx.

Virtualhere OSX Client

Virtualhere OSX Client

 

Installation auf dem Server

Die “Installation” auf dem Raspberry ist relativ einfach. Dazu einfach folgenden Code kopieren und auf dem Raspberry im Terminal oder per SSH ausführen:

Hiermit wird das Serverprogram heruntergeladen und per chmod ausführbar gemacht.

Um den Server zu starten nun einfach folgenden Befehl ausführen:

Nun sollte der Server laufen :)

Installation auf den Clients

Die Clientsoftware findet man auf folgender Seite ganz unten:

http://www.virtualhere.com/usb_client_software

Auch hier muss die Software nicht installiert werden. Es reicht das heruntergeladene Programm zu starten. Nach dem start sollte der Server als “Raspberry Hub” angezeigt werden. Klappt man diesen auf sollten sämtliche am Raspberry angeschlossenen USB-Geräte angezeigt werden.

Mit einem Rechtsklick auf ein USB-Gerät öffnet sich ein neues Fenster:

VUSB Client

Mit einem Klick auf “use” wird das gewählte USB-Gerät dann eingebunden. Beim ersten mal wird das Programm allerdings noch die benötigten “Virtual USB” Treiber installieren.

Wenn man den Punkt “Auto-Use Device” wählt, wird das Programm das entsprechende Gerät bei jedem Programmstart automatisch einbinden.

Um das Client-Program bei jedem Systemstart automatisch auszuführen muss man dieses manuell einstellen: Windows – Autostart-Ordner, OSX – Anmeldeobjekte.

Die Software kommt alt “Shareware”. In der Kostenlosen Version kann wird immer nur ein USB-Gerät unterstützt. Aktuell kostet die Rapsberry-Version 29$ – Aber das ist es Wert!
Pongclock

PongClock 2.0 – Wifi

Wie angekündigt ein wenig mehr “interaktivität” für die Uhr :)

Zie war es einen frei definierbaren Text als Laufschrift anzuzeigen. Der Text sollte über die serielle Schnittstelle (UART) des Jeenodes (Arduino) angenommen und danach angezeigt werden. Nach der Anzeige sollte die Uhr wieder in den aktiven Darstellungsmodus zurückspringen.

Text in die Uhr füllen

Auf den eigentlichen Arduino-Code will ich hier nicht im Detail eingehen. Wenn es interessiert kann der Code in Github angesehen werden: https://github.com/sysrun/arduino-pongclock

Um einen Text zur Uhr zu schicken, wird dieser einfach über die serielle Schnittstelle gesendet. Dieser Text läuft dann eine gewisse Zeit als Laufschrift über das Display. Wenn diese Zeit abgelaufen ist, kehrt die Uhr wieder zur letzten aktiven Anzeige zurück. Dieses kann entweder über einen USB-UART-Adapter geschehen oder, und nun kommt das WLAN ins Spiel: Über einen “Electric Imp”.

“Electric Imp” eh?

Der “Electric Imp” ist eine recht interessante Geschichte: Ein Cortex-M3 Microprozessor mit Wlan-Adapter in der Größe einer normalen SD-Speicherkarte. Programmiert wird das ganze komplett im Browser, der Download eines neuen Programms funktioniert komplett automatisch wenn der eImp in einem WLAN angemeldet ist. Um damit richtig arbeiten zu können benötigt man allerdings noch ein Breakoutboard. Auf diesem befinden sich dann SD-Card-Anschluss, Spannungswandler und ein ID-Chip. Das Konzept mit dem externen ID-Chip ist recht interessant: Wenn man z.B. zwei unterschiedliche Projekte mit dem eImp aufgebaut hat, ist es durch die eindeutige ID des dafür genutzten Breakout-Boards möglich, einfach einen neuen eImp einzusetzen. Dieser fragt anhand der ID dann die passende Software für das Projekt ab. So kann man z.B. mit einem eImp auch mehrere Projekte realisieren und diesen einfach umstecken.

Electric Imp

Electric Imp

Sparfun Electric Imp Breakout

Sparfun Electric Imp Breakout

 

Weitere Infos zum eImp gibt es unter folgenden Adressen:
http://www.mathias-wilhelm.de/arduino/reviews/electric-imp/
http://electricimp.com/

Weiterlesen

PongClock 1.5 – DCF77 Funkuhr

Die Uhr läuft bereits ziemlich gut und tut was sie soll: Die Zeit anzeigen. Leider musste ich festestellen das mein verwendetes RTC-Modul eine “leichte” Zeitdrift aufweist. Pro Tag sind das so +-4 Sekunden. Das kann sich nach ein paar Tagen ordentlich summieren. Auf der Suche nach einer Lösung erinnerte ich mich, das ich letztens in den Tiefen meiner Bastelkisten einen DCF77-Empfänger gesehen hatte.

 

DCF77 ?

Hier mal ein kurzer Anriss wie die Zeit eigentlich auf die Funkuhren kommt :)

Der DCF77-Zeitsender ist eine Sendeanlage in Mainflingen in Frankfurt am Main. Das Zeitsignal wird auf der Normalfrequenz 77,5 kHz in kodierter Form gesendet. Das Signal wird mit einer Leistung von ca. 30kW ausgestrahlt und ist in einem Umkreis von ca. 2000km vom Sendeturm zu empfangen.

Der Name setz sich aus folgenden Komponenten zusammen:

D  Deutschland
C  Langwellensender
F  Frankfurt
7  Trägerfrequenz (77,5 kHz)
7

Das ausgesendete Zeitsignal ist übrigens die “gesetzliche Zeit” der BRD – der Rest zählt nicht 😉

 

Empfang

Für den Empfang des Zeitsignals gibt es einige günstige Module von verschiedenen Herstellern. Ich beziehe mich auf das DCF1-Modul von Pollin.

Pollin DCF1 Modul
Das Modul besteht aus einer Antenne mit Ferritkern und einer winzigen Empfangsplatine (15 x 11 x 8mm).

Es arbeitet mit Spannungen zwischen 1,8 und 3,3 Volt; die älteren Versionen können noch bis 5 Volt betrieben werden.

 

Das Modul besitzt 4 Anschlüsse:

Pin Beschreibung
VCC  Versorgungsspannung
GND  Ground
DATA  Datenanschluss
PON  Aktivieren/Deaktivieren des Moduls

 

Angeschlossen habe ich das Modul an ein JeeNode (Arduino). DATA an IRQ (Pin 3), VCC an 3,3Volt, GND an GND (wahnsinn was?).

Und PON? ja, das ist allerdings aktuell ein Problem. Dieser muss erst auf HIGH und nach ein paar Millisekunden auf LOW gesetzt werden um das Modul zu starten. Dummerweise hat der Jeenode aktuell keinen einzigen Port mehr frei um das zu erzeugen. :-/ Bis mir dazu etwas eingefallen ist muss das händisch geschehen (umstecken eines Kabels)…

Dekodierung

Die Dekodierung erfolgt mit der DCF77 Library von Thijs Elenbaas. Das vereinfacht die ganze Sache doch erheblich :)

 

Pongclock

PongClock – LED Uhr

Da das Rumbasteln an meinem Rasenmäher bei dem Schei**wetter keinen Spass macht musste eine Alternative her. Beim rumwühlen im Keller stieß ich vor eineigen Tagen auf zwei ältere LED-Matrix-Displays.

 

Sure 2416

Sure 2416 LED-Matrix

 

Es sind zwei ältere 24×16 Pixel Dot-Matrix Led Displays von Sure-Electronics (http://www.sure-electronics.net/) aus China. Habe sie Dinger im Jahr 2010 über eBay direkt in China bestellt; für 12 US-Dollar inkl. Versand pro Stück. Die Module besitzen 24×16, also  384 grüne LEDs pro Anzeigefeld. Maximal 4 Module lassen sich über Flachbandkabel zu einem Display mit maximal 1536 Leds zusammenfügen.

Aktuell gibt es neben den Grünen 24×16 Displays auch Rote und Bicolor (Grün und Rot). Ausserdem gibt es noch 32×16 und 32×8 Module.

Weiterlesen