Ein Bekannter wollte eine Treppenstufenbeleuchtung. Oben und unten an der Treppe ist je eine Lichtschranke. Wenn jemand hindurchgeht, werden die Stufen einzeln eingedimmt (Reihenfolge abhängig, ob jemand noch oben oder unten will).
Ich habe ihm dafür eine kleine Platine mit einem Mega8 und 2 x ULN2803 gebaut. Das ganze ist eigentlich ganz gut geworden, weshalb ich es euch hier nicht vorenthalten möchte:
Die beiden Eingänge laufen über Optokoppler. Zudem ist natürlich noch eine ISP-Schnittstelle und 3 Kontroll-LED's vorhanden, die ebenfalls vom Mega8 aus gesteuert werden können.
Schaltplan: Schaltung.pdf
Zur Vereinfachung der Programmierung habe ich eine kleine C-Lib geschrieben, die sich relativ einfach verwenden lässt. Blinky-Beispiele:
Code:
#define F_CPU 1000000UL
#include "hardware.h"
#include "util/delay.h"
int main(void)
{
initPorts(); // Konfiguriert die Ein- / Ausgänge
switchLED_ON(3); // LED 3 einschalten
while (1)
{
switchChannelON(1); // Kanal 1 ein
_delay_ms(500); // Delay
switchChannelOFF(1); // Kanal 1 aus
_delay_ms(500);
}
}
Das ganze ist recht universell einsetzbar geworden, so dass ich für einen anderen Bekannten mit der gleichen Plattform eine Starter-Steuerung für sein Silvester-Feuerwerk bauen konnte ... einfach durch Austausch der Programmierung Das Modul ist also überall dort gut einsetzbar, wo bis zu 16 Kanäle gegen GND geschaltet werden sollen. So könnte man die Schaltung 1:1 auch zur Beleuchtungssteuerung auf der Modellbahn einsetzen oder ähnliches.
Falls jemand Interesse hat: es sind noch ein paar Platinen übrig geblieben. Bestückung kann ich be Bedarf gerne übernehmen.
Lesezeichen