Sehr wahrscheinlich könnten die hier gezeigten Projekte auch unter Leuchtfetisch einsortiert werden, denn wenn ich schon was mit Controller mache, hat es gefälligst auch zu leuchten. Oder, um noch eins draufzusetzen: ein Projekt ganz ohne LED gibt's bei mir nicht.
Aber gut, das hier gelistete Material beinhaltet einen (oder mehrere) Microcontroller, vorzugsweise Atmel AVR®. Kennengelernt habe ich Dinger (glaube ich) so etwa 1999, als ich meinen ersten MP3-Player bauen wollte - doch dazu ist an anderer Stelle mehr zu finden...

Diaprojektor-Schaltuhr

Ein nicht ganz so sinnloses Projekt war vor einigen Jahren diese Diaprojektor-Schaltuhr. Sie ist/war dafür gedacht, einem recht alten Diaprojektor - soweit ich mich erinnern kann ostdeutscher Bauart - die Möglichkeit zu geben, die Dias automatisch weiterschalten zu können. Heutzutage sind Diaprojektoren ja mit allem Schickimicki ausgestattet, das o.g. Exemplar konnte aber so gut wie nichts; außer eben per Knopfdruck das jeweils nächste Dia zeigen. Mein Vater wollte gern automatische Diashows damit zeigen können (ich habe keine Ahnung, wie seine Dienststelle seinerzeit an dieses Ost-Ding gekommen war) - also fragte er mich, ob ich ihm "da nicht was bauen könnte". Na gut, ich versuch(t)e es mal...

Zunächst "analysierte" ich den Projektor, was er denn überhaupt für ein Signal zur Weiterschaltung braucht. Es erwies sich zum Glück als recht trivial: ein Steuerpin, der  mit der originalen "Fernbedienung" (ein Taster im Gehäuse) auf Masse gelegt wird. Gut, das kann man auch mit Transistor machen.
Der Transistor musste natürlich auch angesteuert werden, und da entschied ich mich, auch um etwas zu lernen, für einen Microcontroller. Er sollte eine Anzeige haben, dazu kam eine 2-stellige 7-Sement-LED-Anzeige zum Einsatz. Für die Eingabe der Schaltzeit hatte ich mir einen Inkrementalgeber in den Kopf gesetzt , die Dinger find' ich cool. Später kam noch eine LED als Statusanzeige dazu.

Bei der Software brauchte ich etwas Hilfe; es kann gut sein, dass dies mein erstes eigenes Projekt mit µC war. Natürlich war Thorsten derjenige, der mir half und die ersten Zeilen Code zusammenbaute. Nachdem ich ein bisschen gelernt hatte, programmierte ich selbst drauflos - nicht ohne zwischendurch immer mal wieder um Hilfe zu schreien. Irgendwann war dann aber das Programm [download] (für avr-gcc) soweit gereift, dass ich den Apparat "ausliefern" konnte. Mein Vater war zufrieden und ich hatte etwas dabei gelernt; Spaß gemacht hat es außerdem.

Leider gibt es kein Bild, ich hatte seinerzeit noch keine geeignete Kamera und das "Objekt" verblieb auch nach der Pensionierung meines Vaters in dessen Dienststelle bei dem Projektor. Die Platine [download] (Eagle-Format) habe ich jedenfalls in ein kleines Kunststoffgehäuse eingebaut, vermutlich Reichelts "SP2090SW".

Door Message System

Door Message System
(Klick vergrößert)

Wie die meisten meiner μC-Projekte, besonders wenn sie (vorwiegend) allein entstanden sind, ist es nichts besonderes; deswegen hat die Kategorie ja auch den Untertitel "meine Versuche zu programmieren". Das Ding gibt es nur, weil mir eines Tages ein recht großes LCD (leider unbeleuchtet, so groß wie ein standard 2x40, aber nur 1x20 Zeichen) in die Hände fiel und ich "irgendwas" damit machen wollte.

Wie ich nun gerade auf die Idee kam, weiß ich gar nicht. Eigentlich ist das auch nicht wichtig, ich habe ein bisschen dabei gelernt. Das "Gerät" ziert seit einiger Zeit meine Wohnungstür und erfüllt den geringen Zweck, daß z.B. Besucher ablesen können, ob sie gerade willkommen sind oder nicht.

Door Message System in Aktion

Die derzeitige Firmware unterstützt sechs "hart codierte" (also nur im Quelltext änderbare) Meldungen. Falls es trotzdem jemanden interessieren sollte: hier die Firmware-Sourcen (avr-gcc) und Layout-Dateien (EAGLE)

BCD-Uhr

BCD-Uhr
(Klick vergrößert)

Diese Uhr ist mit eines der jüngsten Projekte in diesem Bereich. Sie ist eigentlich Kombi-Projekt (Microcontroller / Leuchtfetisch), könnte also genauso gut unter Leuchtfetisch stehen. Ich habe sie aber hier einsortiert, weil ich die Firmware weitestgehend allein verbrochen habe. Kann zwar gut sein, daß ich Thorsten zwischendurch das eine oder andere Mal gefragt habe "Wie macht man ..." - aber das war's dann auch.
Immerhin, ich bin ja bisweilen lernfähig :-)

Jedenfalls sah ich eines Tages in irgendeinem Web-Shop eine sehr ähnliche Uhr und dachte mir, daß ich sowas auch selber schaffen müßte: eine Uhr, die die Zeit als BCD-Digits anzeigt. Wer nicht weiß was BCD bedeutet (soll's geben), lese bitte die Anleitung; selbige ist unten bei den downloads mit aufgelistet.

Die Hardware ist im Prinzip nicht sonderlich aufwändig: 20 LEDs an einem AT90S2313 Controller, dazu zwei Taster (ursprünglich war's nur einer) und ein Piezo-Summer. Was ein bißchen Kopfzerbrechen bereitete, war das Platinenlayout: einseitig und trotzdem möglichst wenig Drahtbrücken, schicker Formfaktor, metrische Abstände zwischen den LEDs (falls es mal eine Version mit gebohrter Frontplatte gibt, das ist auch inzwischen der Fall) und auch einigermaßen ästhetische und ergonomische  Anordnung der Bauteile für die Version ohne Frontplatte und die mit rotem Plexiglas.

Die Software hat inzwischen mindestens einen Stand, den man Version 1.3 nennen könnte: zuerst konnte nur die Uhrzeit angezeigt werden, stellen war noch nicht möglich ("Start"zeit war hart codiert) und es gab keinen Wecker. Da es aber unpraktisch ist, wenn man eine Uhr nur mittels Programmiergerät (STK500) stellen kann, habe ich (Wochen später) eine entsprechende Möglichkeit geschaffen; dazu wurde auch der zweite Taster eingearbeitet (im Prototyp ein aufgeklebter Folientaster). Wieder später, diesmal Monate, brauchte ich mal wieder ein Geburstagsgeschenk... Die Uhr erschien mir prädestiniert, aber dann mußte unbedingt noch eine Weckfunktion her. Auch die wurde mit mehr oder weniger, aber prinzipiell immer vorhandenen, Schwierigkeiten dazuprogrammiert.
Die Auswahl von extra hellen blauen LEDs ermutigte mich dann, auch noch zwei weitere Anzeigemodi einzubauen, nämlich "mitglimmen eigentlich inaktiver LEDs" und "alle LEDs aus, aber Zeit läuft weiter" - in der Urversion konnte die Uhr lediglich zwei Stati für die LEDs: an und aus.

Die Download-Archive, wieder im ZIP Format, beinhalten zum Einen die Hardwareunterlagen (Schaltplan, Layout, jeweils als EAGLE-Dateien und *.PDF) und zum Anderen die Sourcen für avr-gcc. Auch eine Bedienungsanleitung (OpenDocument Text) steht zur Verfügung.

chronoverter

chronoverter offen
(Klick vergrößert)

Was ist denn ein "Chronoverter"? Wie man auf dieser Seite sehen kann, bastele ich (u. A.) gerne Uhren - und durch meinen Job habe ich des Öfteren mit Schalt- und Umrichterschränken zu tun. Die Idee zu diesem Projekt existierte schon ein paar Jahre, nämlich eine Uhr im Schaltschrank-Design zu bauen. Immer wieder habe ich in Elektroschrott-Kisten und in zu verschrottenden Schalt- und Umrichterschränken nach gebrauchten Schalttafelinstrumenten und in Frage kommenden Bedienelementen gesucht. Nie waren hinreichend gleich und/oder zueinander passend aussehende Komponenten dabei. Irgendwann Anfang 2010 hatte ich dann keine Lust mehr, im Schrott zu wühlen.

So wurden also ein kleiner Schalt"schrank" (naja, "Kasten" trifft's besser, Modellbezeichnung "EB 1554") von Rittal, ein paar Bedienelemente von (Klöckner-)Moeller (heute Eaton) und zwei Schalttafel-Instrumente von Gossen Metrawatt bestellt. Dazu ein paar Teile aus der Bastelkiste, z.B. ein ATtiny26 und ein MAX532 (DAC), für die ich mir eine Schaltung ausdachte und ein ein Platinenlayout zusammenklickte. Hardware kriege ich ja ganz gut hin. Da so ein µC ohne Programm ja genau nichts macht, braucht es natürlich auch Software - die ich ursprünglich selber machen wollte. Wirklich!

chronoverter geschlossen
(Klick vergrößert)

Als ich Thorsten von dem Projekt erzählte und ohnehin mal wieder ein Treffen "fällig war", war er natürlich neugierig, was denn ein Chronoverter ist. Ich nahm also meinen im Rohbau befindlichen (Mini-)Schaltschrank und den Karton mit den noch nicht eingebauten Teilen mit zu ihm. Netterweise griff er mir gleich uner die Arme und programmierte drauflos - so wie er das schon öfter gemacht hatte: ich äußere Wünsche und er setzt sie in C um. Ich bewundere das immer wieder. Leider "starb" aus uns nicht erklärlichen Gründen der DAC bei unseren Tests, so dass das Programm auf Software-PWM umgestrickt wurde (einen neuen DAC hätten wir ja nicht so schnell beschaffen können, zumal die Erhältlichkeit von Maxim-ICs bekanntlich oft schlecht ist).

Inzwischen ist - nach zweifachem neu-Auflegen der Platine und ein paar weiteren Software-Änderungen - das Gerät fertig und zeigt bei mir am Arbeitsplatz die Zeit an. Dank der eingebauten "USV" (3 GoldCaps à 3,3F) "überlebt" die Uhr sogar einen Stromausfall, wenn dieser max. eine halbe Stunde andauert.

Falls es mal jemand nachbauen möchte: das Download-Archiv enthält Schaltpläne, Platinenlayout (beides im EAGLE-Format), Stückliste dafür, eine Gesamt-Teileliste sowie den C-Code (avr-gcc) für den AVR. Für Eilige gibt es den Schaltplan als PDF-Datei. Die Schalttafelinstrumente müssen übrigens dahingehend modifiziert werden (interne Widerstände tauschen), dass sie bei 5V Vollausschlag zeigen: 5kΩ beim Voltmeter, 600Ω beim Amperemeter.

Der Name chronoverter entstand übrigens erst in der Bauphase und setzt sich zusammen aus Chronograph (Uhr) und Inverter (Umrichter). Jetzt ist es endlich 'raus :-)
Auf den Bildern nicht zu sehen ist ein Stück Lichtleiter, mit dem die blinkende Sekunden-LED von der Platine zur Frontplatte (bzw. Tür) geführt ist - damit man von dem Geblinke auch was sieht.

Blinky

Blinky
(Klick vergrößert)

Der Blinky ist - wie eigentlich alle meiner (eigenen) Microcontroller-Projekte - nicht sonderlich spektakulär. Er entstand aus einer Art Notwendigkeit, nämlich der nahezu jeden Morgen gestellten Frage "Hast Du Toni schon Futter gegeben?" (Toni ist war unser Wellensittich) vorzubeugen. Erst wollte ich ja ganz banal ein kleines Pappschild ausdrucken, welches dann irgendwie bei Bedarf an den Käfig gehängt werden sollte - aber das fand ich sogleich "uncool", schließlich habe ich einen Leucht- und Blinkfetisch.

Also nahm ich einen kleinen AVR (ATtiny13), klickte im EAGLE den simplen Schaltplan zusammen und entwarf ein Platinenlayout in der Größe einer CR2032-Lithium-Knopfzelle. Die nicht als Leiterbahn ausgeführte Verbindung, die Eagle als Airline darstellt, wird später durch die Halterung hergestellt: ein aus dünnem Weißblech gebogener Bügel mit angelötetem Haken, um das Objekt ans Gestänge des Vogelkäfigs zu hängen. Die Halterung erfüllt also drei Zwecke: Herstellen der fehlenden VCC-Verbindung, Halten und Kontaktieren der Knopfzelle sowie Bereitstellen einer am-Käfig-Befestigung. Das mittlere Via ist eigentlich keines und sollte  (falls man eine doppelseitige Platine machen lässt) auf der Unterseite entfernt werden. Die drei Pins für die Batterie bekommen (bei doppelseitiger Platine) einen Klecks Lötzinn (bei meinem Exemplar wegen einseitiger Platine zusätzlich kleine Rohrnieten), um die GND-Verbindung zu gewährleisten.

Nach dem Bestücken der Platine und Programmieren des Controllers (hierzu ist ein kleiner "Drahtverhau" zu einem geeigneten Programmiergerät, z.B. STK500, nötig - schließlich gibt es keinen ISP-Stecker) wurden Taster, LEDs und Weißblechhalterung  abgeklebt und dann der ganze Aufbau mit schwarzem (oder beliebig anderem) Sprühlack überzogen.

Das Programm ist eine stark gekürzte Abwandlung des "Flippie-Licht" von Holger Klabunde; ich habe es auf AVR-GCC portiert. Der Controller ist normalerweise im Sleep-Modus. Er wird per Interrupt (Druck auf den Taster) "geweckt" und aktiviert die Blinkroutine. Erneuter Druck auf den Taster versetzt den AVR dann wieder in den Sleep-Modus. Wenn man den Blinky nicht durch Tastendruck schlafen schickt, macht er das nach ca. ½ Stunde selbst. Somit hält (bei uns) eine frische CR2032 ungefähr ein halbes Jahr und wir ersparen uns die allmorgendliche Frage. Wer dem Sittich Futter gibt, aktiviert den Blinky und wer fragen würde, macht ihn wieder aus. Im Download-Archiv sind die Eagle-Dateien und der Quellcode - für den illusorischen Fall, dass das Ding jemand nachbauen will.

So viel Text für so wenig Projekt :-)

MAKAT-42

MAKAT-42 in Aktion
(Klick vergrößert)

Es begab sich zu der Zeit ... als sich die Ski-Saison 2011/2012 dem Ende zuneigte. Als Zuschauer und Betreuer bei einem der letzten Wettkämpfe (Langlauf) der Saison ärgerte es mich ein bisschen, daß man meist recht lange frierend auf den Aushang der Ergebnislisten warten musste. Da kam mir die Idee: "Die brauchen eine Anzeigetafel!".
(Mit "die" ist der örtliche Ski-Club gemeint.)

Wie bei allen meiner Projekte ist dies ebenfalls eine private Bastelei ohne finanzielle Interessen. Obwohl es ggf. so aussieht, als hätte ich ein kommerzielles Produkt "nachgemacht": Nein, das professionelle Gerät diente lediglich als Inspiration; meines hat auch einen dem "Original" gegenüber reduzierten Funktionsumfang - dafür andere Features. Aus diesen Gründen gibt es hier auch keine Schaltpläne, Zeichnungen oder sonstige Downloads.

Weiterlesen …