Hallo! Ich hab mir jetzt ein Herz gefasst und frag hier die Profis. Ich bin auf der Suche nach einer Möglichkeit, eine einfache LED (leuchten, blinken oder beides einstellbar) mittels USB "anzuschliessen. Folgender Hintergrund: eine sogenannte "Message LED" die aus einer beliebeigen Anwendung ein Ereignis anzeigen kann. Kann man, und wenn ja wie, soetwas realisieren?
z.b den seltsamen ft245 der nicht rs232 sondern paralelle daten liefert... es müsste auch der ft232 gehn... der kann ja auch den bit-bang mode oder wie die das nennen... dazu noch ein bisserl software am pc und fertig 73
Nimm einfach einen USB-Seriell Kabel (bei reichelt unter 10,-) und schließe bis zu 3 LEDs an die Ausgänge TXD, DTR, RTS (Pin 3, 4 und 7 am Sub-D-9 Stecker) an. GND ist Pin 5. Vorwiderstände benötigt du nicht einmal unbedingt, da die Ausgänge auf 20mA begrenzt sind (ist aber trotzdem besser mit Widerständen - kosten ja nichts) Dann kannst du ganz einfach diese LEDs aus jeder Programmiersprache heraus ansteuern - fertig. Delphi + C-Builder geht am einfachsten mit der TComPort Komponente. Die Befehle zum einschalten der LEDs sind: ComPort1->SetBreak( true ); ComPort1->SetRTS( true ); ComPort1->SetDTR( true ); Ausschalten so: ComPort1->SetBreak( false ); ComPort1->SetRTS( false ); ComPort1->SetDTR( false ); Jörn
Danke! Das ist ja mal ein Ansatz. Ehrlich gesagt bis dato der konstruktivste Vorschlag! (Ich bin damit in mehreren Foren auf der Suche) Danke auf jeden Fall
Du könntest auch das Igor-USB nehmen. Stichwort Atmel Applikation Note 309 (AVR309). Gibts aber noch nicht bei Atmel, aber z.B. hier http://www.mikrocontroller.net/attachment.php/86320/AVR309_doc2556.pdf Die Originalseite www.cesko.host.sk scheint gerade down zu sein. Markus
Wenns ein bisschen aufwendiger sein darf kannst du auch den Pic18F2550 nehmen. Dafür gibts auch gleich ne firmware für usb-seriell wandler. kannst also schnell anfangen und später auch die volle datenrate ausnutzen. erfahrung hab ich (noch) keine damit. mfg Azrael
@Azrael Ist gut gemeint, aber bei durchschnittlich 4 mails die Stunde (Ich will eigentlich nur eine message LED für Outlook oder ander mailprogramme bauen) ergibt sich eine Datenrate von .... ähhh 4 Bit/Stunde? @all Ich glaub ich hab meine Frage nicht präzise genug gestellt und Euch somit zum "über´s Ziel hinausschiessen" animiert, trotzdem: Danke!
Ups, reichelt hat den Preis wieder erhöht, naja 10,30 EUR gehen wohl auch noch ;-) Artikel "USB SERIELL". Die angesprochene Komponente für einfaches Nutzen der Seriellen unter Delphi oder C-Builder gibt es hier: http://sourceforge.net/projects/comport/ jörn
Warum so kompliziert wenns einfach geht? Irgendwo in den unendlichen Weiten des Internet hab ich mal folgendes beschrieben gesehen (in etwa so war der Wortlaut) Für Signalisierungszwecke kann auch die LED der Tastatur genutzt werden, z.B. um mitzuteilen, daß neue Post eingetroffen ist Da die Taste "scroll lock" eh nicht genutzt wird, wäre dei ZWeckentfremdung der zugehörigen LED sicherlich eine Möglichkeit. Spart dir Bastelei etc, und du brauchst dich nru auf die Suche nach einem Häppchen Software machen. Wenn du sie gefunden hast, schreib mal bitte wie sie heißt.
@Martin S. ROTFLMAO Der war gut, echt! Nein im Ernst, ich such mir seit ungefähr einem halben Jahr die Finger Wund, ich find nix. Absolut nix. In keinem Forum bekommt man dazu vernünftige, brauchbare Antworten. Nur so Wortfetzen wie Tastatur API, HW Port 60 oder 80, ich werd nicht schlau draus. Wenn ich was hab, dann sag ich natürlich sofort Bescheid. @all Danke für die Hilfe!!
Also das mit der Suchmaschine geht so: Du gibst an, was Du suchst, also "scroll lock led". Du suchst einen Source dafür. Und das soll für Win32 sein, nicht für Linux oder so. Also gibst Du bei Google ein: scroll lock led source win32 Und der erste Treffer ist ein Programm für Visual C++, das genau das macht (blinky.zip). Markus
Ah ja, wieder was gelernt fürs Leben. Ich habs immer mit "email notify led flash" probiert. Ich war wohl zu sehr auf die Verbindung zwischen mailprogramm und LED fixiert. Danke auf jeden Fall!
Hi Die LED's der Tastatur (z.B. NumLock) zu steuern ist eigentlich recht leicht. Mittels c++ #include <iostream.h> #include <dos.h> unsigned char far *num; void main(void) { num=(unsigned char far *)MK_FP(0x0040,0x0017); *num=*num|32; //die ODER-Verknpfung setzt Bit 5 der Adresse auf 1 } Allerdings ist darauf zu achten, das man einen DOS-Compiler, oder aber eine Treiber Entwicklung braucht. Gruß
Hi na toll. Direkter Hardwarezugriff. Und um die Schutzmechanismen des OS (hier wohl offensichtlich Windows) zu umgehen verwenden wir ein DOS-Executable. Sowas macht man heute nicht mehr. Man kann die Tastatur-LED's auch mit der Windows-API beeinflussen und braucht nicht auf solche kruden Hacks zurückgreifen. Matthias
To toggle the NUM LOCK, CAPS LOCK, or SCROLL LOCK keys, you can use the following logic: Use the GetKeyboardState function to determine the state of the key. Determine which operating system is being used with the GetVersionEx API. (Windows 95/98 and Windows NT/2000 require different methods for toggling these keys.) Under Windows 95 or Windows 98, use the SetKeyboardState API function to set the state of the key. Under Windows NT or Windows 2000, use the keybd_event function to simulate a key press. Damit muss ich meine Routine folgendermaßen abändern: procedure SetLED(Key: Byte; MakeOn: Boolean); var KS: TKeyboardState; OnOrOff: Boolean; begin GetKeyboardState(KS); OnOrOff:= KS[Key] <> 0; // Wenn Status vom gewünschten abweicht if (OnOrOff xor MakeOn) then begin // Je nach Plattform / Key unterschiedliche Strategien if (Win32Platform = VER_PLATFORM_WIN32_NT) or (Key <> VK_NUMLOCK) then begin // Tastendruck simulieren keybd_event(Key, $45, KEYEVENTF_EXTENDEDKEY, 0); keybd_event(Key, $45, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); end else begin // Gewünschten Status per Setkeyboardstate setzen KS[Key]:= Ord(MakeOn); SetKeyboardState(KS); end; end; end;
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.