Steuerung einer LED

+A -A
Autor
Beitrag
Berkc
Ist häufiger hier
#1 erstellt: 26. Jun 2009, 20:33
Hallo!

Könnt ihr mir vielleicht weiterhelfen?

Ich habe LEDs und möchte zunächst mal eine davon über den Computer steuern. Dies sollte auf eine besondere Weise geschehen:

Mit dem Programmieren kenne ich mich ganz und gar nicht aus -noch-

aber ich habe schonmal von Übertragungen bei Schnittstellen gehört, wie das Grundprinzip abläuft.

Mein Ziel ist es deshalb die LED nach dem selben Prinzip zu steuern: Ich hätte gern die Möglichkeit, in ein Programm eine Zahlenfolge, wie zB. 011010101001101 einzugeben, nach der sich die LED dann ein und aus schaltet.

Da ich in diesem Gebiet ein Laie bin, weiß ich mir auch bei der Geschwindigkeit nicht so recht zu helfen. Versteht man unter zB. 256 Bit/Sekunde die Geschwindigkeit, also wenn ich 256 Ziffern habe, dauert der Ablauf eine Minute? Würde dann bei jeder Ziffer 1 die LED 1/256, also Sekunden 0,00390625 Sekunden leuchten?

Die Methode muss nicht für jeden Anfänger zu verstehen sein. Ich würde mich freuen, wenn mir das jemand wie in einem Tutorial erklären könnte.

Oder ist das sooo kompliziert, dass man ein Jahr braucht um da Verständnis zu haben?

Ich danke für eure Antworten!

Schöne Grüße Berkc
rebel4life
Inventar
#2 erstellt: 27. Jun 2009, 08:34
Es gibt Relaiskarten, die sind aber wahrscheinlich zu langsam. Du könntest versuchen, anstatt den Relais Transistoren zu verwenden, aber ich kann dir nicht garantieren, dass es funktioniert.


MFG Johannes
detegg
Inventar
#3 erstellt: 30. Jun 2009, 08:59
Moin,

um eine LED zu schalten, benötigst Du nur einen Vorwiderstand und einen Kleinstleistungs-Transistor. Die Ansteuerung ist schon etwas diffiziler und auf unterschiedliche Weise realisierbar.

Um das Aufleuchten einer LED überhaupt mit dem Auge wahrnehmen zu können, muss ein langsamer Takt her - z.B. 1Hz, d.h., die LED wird im Sekundentakt geschaltet. Diesen Takt musst Du erzeugen, das geht per Software und auch per Hardware.

Als Schnittstelle PC/Außenwelt kannst Du die RS232/V24 Schnittstelle benutzen. Diese hat eine serielle Datenausgabe, d.h. Dein Datenwort wird Bit für Bit nacheinander ausgegeben. Den Takt kannst Du per Software erzeugen, dann wird z.B. alle 1s ein Bit ausgegeben und steuert über einen Pegelwandler die LED.
Du kannst auch das serielle Datenwort in einem externen Speicher ablegen und mit einem externen Taktgeber an die LED weiterreichen - dass ist dann die hardwarenahe Lösung.

Es gibt fertige Ausgabekarten für den PC - mit Relais oder/und Transistortreibern. Mit Relaiskarten kannst Du Schaltzeiten bis hin zu 1/10s realisieren.

Gruß
Detlef
Berkc
Ist häufiger hier
#4 erstellt: 30. Jun 2009, 11:46
Hallo, Danke für deine Antwort Detlev, du hast mich schon der Lösung schon einen Schritt näher gebracht.

Ich benötige also auf jeden Fall eine Relaiskarte?

Kann ich mir das so vorstellen, dass der Strom für die LED nur über den Trafo kommt, das dazwischen geschaltene Relais erhält vom Computer Signale, wann es schalten soll? Der Computer ist also ausschließlich zur Schaltung da?

An welche Pins muss ich das Relais anschließen?

Und das wichtigste: Mit welcher Software soll ich das Lämpchen ansteuern? Ich bin ein Anfänger und habe keinerlei Vorwissen vom Programmieren. Das Programm kann ganz einfach sein.

Ich beziehe mich also auf die erste Variante, das Ablegen des Datenwortes in einem Speicher scheint viel schwieriger zu sein, deshalb verschiebe ich das auf später.


Ich danke dir und euch für eure Hilfe.
Kay*
Inventar
#5 erstellt: 30. Jun 2009, 12:55
die einfachste Lösung, die ich kenne, wäre per Qbasic unter DOS
die parallele Schnittstelle anzusteuern. Es geht auch mit VisualBasic, zumindest bis Win98, verlangt dann etwas mehr Aufwand.
Insbesondere muss man im Internet suchen können, um die nötigen DDL's zufinden. Diese sind dokumentiert, auch mit Programmbeispielen.


p.s.
ich würde mir 'nen Atmel und Bascom nehmen,
schon weil kein Windows echtzeitfähig ist. Somit sind auch keine definierten ON/OFF-Zyklen möglich.


[Beitrag von Kay* am 30. Jun 2009, 12:57 bearbeitet]
Marsupilami72
Inventar
#6 erstellt: 30. Jun 2009, 13:00
Vielleicht verrätst Du uns erst einmal, was genau Du vorhast...
Berkc
Ist häufiger hier
#7 erstellt: 01. Jul 2009, 13:54
Ich versuche Signale einer Fernbedienung für eine Stereoanlage wiederzugeben.
-3dB
Stammgast
#8 erstellt: 01. Jul 2009, 14:36
Hallo,
meist du vielleicht so etwas:
http://www.knollep.de/Hobbyelektronik/projekte/45/sch.htm

Gruß Wilhelm
Marsupilami72
Inventar
#9 erstellt: 01. Jul 2009, 14:55

Berkc schrieb:
Ich versuche Signale einer Fernbedienung für eine Stereoanlage wiederzugeben.


http://www.tvinfo.de/special/IR-1.pdf
Kay*
Inventar
#10 erstellt: 01. Jul 2009, 15:18

ch versuche Signale einer Fernbedienung für eine Stereoanlage wiederzugeben.


damit fällt im "Normalfall" jede Programmierung unter Win flach
--> Mikrocontroller
http://www.roboternetz.de/phpBB2/index.php?c=8
da gibt's auch ein Beispiel für 'ne Uni-FB
Berkc
Ist häufiger hier
#11 erstellt: 01. Jul 2009, 20:38
Hallo!
Danke für eure Vorschläge,

die Antwort von Marsupilami72 gefällt mir sehr gut, ich sehe da aber nicht, wie ich beginnen muss, die LED am Computer zu steuern. Mir hilft der sehr gut beschriebene Bauplan nicht allzu viel, wenn ich die LED nicht benutzen kann.
Kay*
Inventar
#12 erstellt: 01. Jul 2009, 21:41
suche mal nach "UIRT2"

Das Teil ist Girder-kompatibel und hat auch Sendedioden
(wobei ich nicht weiss, ob sowas so für dich geeignet wäre).

Leiterplatten gibt's bei mir, sofern ich mich aufraffe, das Proggi in den PIC zuschieben
Berkc
Ist häufiger hier
#13 erstellt: 02. Jul 2009, 16:57
Danke,

Ich werde mal die nächten Tage danach suchen.

Leiterplatten benötige ich nicht, denn da ich so gut wie keine Erfahrung in dem Bereich habe, darf das Projekt nicht so schwierig sein und dann brauch ich auch keine Platte.

Trotzdem danke für das Angebot.
Gelscht
Gelöscht
#14 erstellt: 02. Jul 2009, 17:37
Hallo,

ich habe, schon vor längerer Zeit, mit einem Bekannten zusammen ein kleines Programm in C geschrieben, mit dessen Hilfe man den lpt port direkt ansprechen kann.

d.h. es wird eine led + vorwiderstand benötigt, und das wars. (auch zeitgesteuertes ein, bzw ausschalten ist möglich)

1. Problem: es wurde damit vor jahren eine eine wasserpumpe betrieben, ist aber mittlerweile hinfällig und das progrämmchen wurde seit dem nicht mehr gewartet (verbessert) und hat mit sicherheit einen haufen Macken.

2. Es läuft nur unter Linux, da 2 Funktionen benutzt werden, die scheinbar Betriebssystemabhängig sind, und zwar: ioperm (öffnen des ports) und outb datentransfer) und diese sind unter Linux in der Headerdatei sys/io.h enthalten.
(Möglicherweise gibt es aber unter windows eine ähnliche Möglichkeit, dann hätte man mit diesem Quellcode wenigstens einen Anhaltspunkt, das schwierigste ist ja immer der Anfang, ich kenn das

3. Es läuft nur als root, da auf die Hardware direkt zugegriffen wird (entwicklung eines Kernelmoduls wäre aber denkbar)

Falls jemand (besonders Berkc) Interesse hat, poste ich gerne den Quellcode, für Linux könnte ich auch ein Binary anbieten.
(ist rein textbasiert, aber auch ein graphisches frontend wäre denkbar, wenn sich jemand versuchen möchte)
Kay*
Inventar
#15 erstellt: 02. Jul 2009, 18:49

darf das Projekt nicht so schwierig sein


wie gesagt, unter Windows wirst du als Anfänger wohl kaum eine Trägerfrequenz plus "Bitstream" selbst programmieren. Da muss also die HW ran.

Unter Windows muss entweder ein Device-Treiber geschrieben werden, oder man macht es "schmutzig" mit INP und OUT am
Betriebssystem vorbei.
detegg
Inventar
#16 erstellt: 03. Jul 2009, 13:53
Moin,

ich benutze seid vielen Jahren eine unter Windoof konfigurierbare µC-Karte mit ´nem SAB80C537 für div. Steuerungsaufgaben. Debugger/ASM/DASM sind dabei. Ist leider noch eine ISA-Karte und läuft in einem 386DX4-100 Entwicklungsrechner unter W98

LED- oder Heizungssteuerung etc. sind schnell machinennah in ASM programmiert - da brauchts keine Hochsprache.
Meistens werden die Sourcecodes dann auf 8086er-Derivate portiert und in den Apps extern eingesetzt.

Gruß
Detlef
Gelscht
Gelöscht
#17 erstellt: 03. Jul 2009, 16:42

detegg schrieb:
Moin,
LED- oder Heizungssteuerung etc. sind schnell machinennah in ASM programmiert - da brauchts keine Hochsprache.


hmm, ja, wenn man genau ist, ist der Befehl zum setzen der Pins auch kein C sondern inline Assembler.
C deswegen weil es im Großteil des Programms eigentlich um die Interaktion mit dem Benutzer geht.

Man könnte soweit gehen, das man den ganzen Kram rausschmeisst, den port zum lesen/schreiben öffnet, dann ne 1 sendet, einen definierten Zeitraum verstreichen lässt und dann wieder ne 0 sendet.

Das sind dann etwa 10 - 15 Zeilen C quellcode (mit inline Assembler ) der einem ne led am parallel port an- und ausschaltet, halt schön quick and dirty aber einfacher gehts fast nich

Wenn man das natürlich schön haben möchte und nich son gefrickel, wo man mit ner led im druckerport rumstochert, ist die idee von Detlef sicher die bessere Wahl und wohl auch langlebiger.... wobei, nichts hält länger als was improvisiertes, hehe
Kay*
Inventar
#18 erstellt: 03. Jul 2009, 17:50


der einem ne led am parallel port an- und ausschaltet

ich wiederhole gerne nochmal.
Die Datenübertragung geschieht mit einer Trägerfequenz,
z.B. 36kHZ, die relativ genau eingehalten werden muss.
Also is' nix mit ein bisschen EIN und AUS

Schon mal darüber nachgedacht, wie man das Signal überprüft?
Ein anständiges Speicheroszi, oder LA, oder ggf. eine
bessere Soundkarte sollten schon vorhanden sein!
Gelscht
Gelöscht
#19 erstellt: 03. Jul 2009, 19:08
In ner normalen Fernbedienung wird diese Frequenz von dem Quarz erzeugt, oder?

Heisst also ich erzeuge damit diese frequenz und müsste diese mit dem Signal mischen.

Wobei es wohl keine rolle spielt, wann das passiert, also könnte man das rein theoretisch auch software mässig erledigen.

Allerdings sind 36kHz doch recht hoch, keine Ahnung ob das so genau über den port funktionieren würde.

Mit dem bischen ein und aus wirds dann wohl nix werden, hast wohl recht, schade, ich stopf gerne drähtchen in meinen druckerport
Kay*
Inventar
#20 erstellt: 03. Jul 2009, 19:14

also könnte man das rein theoretisch auch software mässig erledigen.


die c't hatte vor langer Zeit ein solches Projekt,
wo dann ein NE555 den Träger gemacht hat (wenn ich recht erinnere)
Suche:
Das könnte Dich auch interessieren:
LED schaltung mit Poti zum steuern?
coder_nr1 am 24.03.2010  –  Letzte Antwort am 26.03.2010  –  18 Beiträge
LED Stripes per Musik steuern | Totaler Anfänger sucht Hilfe
jlnshn am 09.09.2016  –  Letzte Antwort am 10.09.2016  –  4 Beiträge
LED-Controller umbauen?
Waxweazle2001 am 05.03.2012  –  Letzte Antwort am 22.03.2012  –  8 Beiträge
LED-Muster auf Streifenplatine
mr.??? am 02.01.2011  –  Letzte Antwort am 07.01.2011  –  154 Beiträge
Led Lauflich (Leds bleiben an)
Berni1707 am 13.01.2005  –  Letzte Antwort am 17.01.2005  –  7 Beiträge
"Spaunngsanzeige" aus LED´s
axton am 30.03.2008  –  Letzte Antwort am 31.03.2008  –  18 Beiträge
Lichquellen über FB steuern
wasi100 am 24.06.2015  –  Letzte Antwort am 25.06.2015  –  3 Beiträge
Durchschnitt der Helligkeit aus Composite für LED-Steuerung
hwaChris am 28.03.2007  –  Letzte Antwort am 26.12.2007  –  9 Beiträge
Led Musiksteuerung
pupu32 am 27.04.2009  –  Letzte Antwort am 01.05.2009  –  8 Beiträge
LED Stripes mit Musik ansteuern
BooWseR am 19.12.2012  –  Letzte Antwort am 20.11.2017  –  29 Beiträge
Foren Archiv
2009

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder927.405 ( Heute: 11 )
  • Neuestes Mitgliedwarox
  • Gesamtzahl an Themen1.555.595
  • Gesamtzahl an Beiträgen21.641.257

Hersteller in diesem Thread Widget schließen