mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Client


Autor: TBone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TBone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha ...

Bahnhof ...

Danke für die Antwort, darf ich Dich dazu näher löchern?

Autor: Jörn G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TBone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/8632...

Die Originalseite www.cesko.host.sk scheint gerade down zu sein.

Markus

Autor: Azrael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TBone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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!

Autor: Jörn G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: TBone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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!!

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Martin S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@markus

wieder mal ein Stück Lebenshilfe (Hilfe zur Selbsthilfe) geleistet

+++++ FG

Autor: TBone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Thopo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-Verknpfung setzt Bit 5 der Adresse auf
1
}

Allerdings ist darauf zu achten, das man einen DOS-Compiler, oder aber
eine Treiber Entwicklung braucht.

Gruß

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ernie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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;

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.