mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Präsentation mit Fußschalter steuren (USB-HID)


Autor: Honk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe bei Reichelt einen Fußschalter gesehen. Damit möchte ich ein 
Dings bauen daß ich per USB an den Laptop anschließe. Wenn man den 
Fußtaster betärigt soll die Powerpoint präse eine Folie weiterschalten.

Hab mir überlegt eine USB-Maus dazu zu schlachten.

Finde das aber inzwischen relativ unsportlich, jetzt wo ich weiß, dass 
USB-HID angeblich so einfach sei.

Gibt es zu HID hier irgendwo gute Beispiele. Alles was ich so bisher 
fand war doch so auf die schnelle wesentlick komplizierter wie eine Maus 
schlachten.

DAnke für eure Hilfe!

Autor: Human Sourcecode (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Find ich ne pfiffige Idee - das mit dem HID würde mich auch 
interresieren.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht doch relativ simpel: Denn Sensor der linken Maustaste mit dem 
Fußtaster verbinden. So viel ist aj schonmal klar. Beim anschliessen an 
den PC wird es jedoch ein Problem geben: Entweder du nutzt dann nur noch 
diesen Fußtaster, weil 2 Mäuse an einem PC geht ja nicht ohne 
zusätzliche Hardware. Oder aber du schreibst einen eigenen Treiber, der 
die angeschlossene Fußtaster-Maus erkennt (gibt hierfür Windows API's 
die man im MSDN Portal findet) und dann als ein anderes HID gerät 
identifiziert. Das auslesen ob der Fußtaster gedrückt wurde macht man 
dann über dieselben Funktionen.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> weil 2 Mäuse an einem PC geht ja nicht ohne zusätzliche Hardware

Stimmt nicht, geht problemlos.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:
> weil 2 Mäuse an einem PC geht ja nicht ohne
> zusätzliche Hardware.

Seit wann das denn?
An USB-Geräten kannst Du soviel anschalten, wie Du USB-Anschlüsse hast.


Peter

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:
> Geht doch relativ simpel: Denn Sensor der linken Maustaste mit dem
> Fußtaster verbinden. So viel ist aj schonmal klar. Beim anschliessen an
> den PC wird es jedoch ein Problem geben: Entweder du nutzt dann nur noch
> diesen Fußtaster, weil 2 Mäuse an einem PC geht ja nicht ohne
> zusätzliche Hardware. Oder aber du schreibst einen eigenen Treiber, der
> die angeschlossene Fußtaster-Maus erkennt (gibt hierfür Windows API's
> die man im MSDN Portal findet) und dann als ein anderes HID gerät
> identifiziert. Das auslesen ob der Fußtaster gedrückt wurde macht man
> dann über dieselben Funktionen.


Oder aber man verwendet die eine Maus weiterhin und verpasst ihr 
zusätzlich zur linken Maustaste den Fusschalter (2 Taster parallel)

Autor: Supertroll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2 Mäuse sind kein Problem. Beide werden von XP erkannt und verUNDet.

Kannst sogar mit einer Maus die X-Achse bewegen und mit der 2ten die 
Y-Achse...

Also schlachte die Maus! :)

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Gast schrieb:
>> weil 2 Mäuse an einem PC geht ja nicht ohne
>> zusätzliche Hardware.

>Seit wann das denn?
>An USB-Geräten kannst Du soviel anschalten, wie Du USB-Anschlüsse hast.

Und noch ein paar über USB-Hubs...

Autor: PeFi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Carsten Sch. (dg3ycs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also wenn es dir "NUR" um die Funktion geht, dann nehme eine billige USB 
Maus, schlachte Sie und verbaue das ganze in ein schönes Gehäuse...
Damit bist du wahrscheinlich schneller und von den Kosten tut sich da 
nicht viel, je nach Beschaffungspreis der Maus ist es billiger oder auch 
teurer...

(Von Umbau einer Maus die auch als solche noch verwendet werden soll 
würde ich die Finger lassen... Gibt nur ein Fehleranfälliges 
Kabelgewirr. Bei USB Mäusen werden die Funktionen bei mehreren Devices 
im Betriebssystem sowieso VERODERT)

Wenn du jetzt aber sagst ich möchte in die USB Programmierung einsteigen 
und der Taster soll ein hübsches Projekt sein, so ist es wirklich nicht 
schwer! ICh weiß das hier im Forum eher AVRs angepriesen werden, 
trotzdem möchte ich hier ein PIC als Beispiel anführen:

Hier kannst du mit µP, Quarz, zwei Kondensatoren und USB Anschluss 
(entweder als Kabel oder Buchse) auf Lochrasterplatine innerhalb von 
Minuten ein funktionsfähiges Device erstellen. Wenn du dann noch das zur 
Verfügung gestellte Framework verwendest dann sind das keine 5 Zeilen C 
um das Beispielprog auf deine Bedürfnisse anzupassen...
Kostenpunkt für die Teile dürfte <10 Eur. sein!

Als Beispiel kannst du dich hier dran orientieren:
http://ww1.microchip.com/downloads/en/DeviceDoc/41356B.pdf
Der Schaltplan steht auf Seite 54, schmeiße alles Raus was nicht direkt 
was mit deiner gwünschten Funktionalität zu tun hat und baue das selbst 
auf LP auf...
Das Framework und weitere Infos findest du z.b. hier:
http://www.microchip.com/stellent/idcplg?IdcServic...

Alternativ, wenn der verwendete µC schwierigkeiten bei der Verfügbarkeit 
macht kannst du statt des verwendeten µC auch den 18F2550 verwenden, 
http://www.microchip.com/wwwproducts/Devices.aspx?...
dieser ist auf jeden Fall Problemlos zu beschaffen. Der Schaltplan ist 
dann ebend entsprechend der Funktionsbeschreibung der IOs anzupassen und 
in der Kopfzeile des Programms der Typ zu korrigieren...

Zu Alternativvorschlägen mit AVRS kann ich leider gar nichts beitragen, 
denn wo ich in die USB Programmierung eingestiegen bin sind die AVRs aus 
Verfügbarkeitsgründen schnell rausgeflogen. Spezielle USB Typen 
gab/gibt? es nur als SMD typen und selbst diese sind fast nicht 
beschaffbar gewesen. Da das Projekt nachbaubar sein sollte war das nicht 
akzeptabel. PIC Controller in allen Gehäuseformen mit USB ON-CHIP 
bekommt man problemlos bei Reichelt und vielen anderen.

Zwar gibt es Beispiele wie man den gesamten USB-Port Softwaremäßig in 
einem Standart-AVR implementieren kann, dies stösst bei komplizierteren 
Projekten aber schnell an die Grenze da nicht mehr viel Rechenleistung 
überbleibt!

Gruß
Carsten

Autor: Human Sourcecode (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Carsten Sch.
Danke für deine Beschreibung. Ich bin jedoch selbst in die AVR-Gruppe 
gerutscht. Das heißt, ich hab alles zum Proggen für den AVR.

Aber vielleicht ist das ja ein Grund auchnoch auf PIC zu gehen...
Lassen sich PICs auch via C Programmieren?

Autor: Carsten Sch. (dg3ycs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Natürlich lassen sich die Pics auch über C programmieren...
Für die "größeren" (ab 18F) würde ich es auch auf jeden Fall empfehlen!
Die sind dafür ausgelegt! Die Entwicklung ist ja nicht beim 16c84 
stehengeblieben (Wie manche "militante" AVR-Fans anscheinen manchmal 
glauben!)

So ist zum Beispiel das gesammte USB Framework und alle anderen 
Beispielprogramme für die USB - Geschichte rein in C Geschrieben!
Für die 18F gibt es auch einen ganz brauchbaren Compiler zur freien 
Verwendung (unter Studentenversion irgendwo auf der µChip HP)

Auch die kleineren Pic (10F, 12F 16F,) lassen sich natürlich in C 
proggen. Auch hier gibt es mittlerweile freie, für den Hausgebrauch 
durchaus brauchbare, Compiler. Genauso wie es natürlich möglich ist die 
"großen" noch kpl. in Assembler zu Proggen.
Ob es Sinn macht liegt natürlich in der Anwendung. Ich progge die 
"kleinen" fast ausschließlich in Assembler. Alleine schon deshalb weil 
ich hier fast immer Zeitkritische Operationen habe.
Die "großen" dagegen programmiere ich ausschließlich in C, teilweise 
natürlich mit Assemblerabschnitten wenn es kritisch wird.

Zu der geschichte AVR vs. PIC kann ich mir übrigends manchmal nur ein 
müdes lächeln abgewinnen... Ich programmiere und verwende (unter 
anderem!) beide Familien. Was mir bei Atmel gut gefällt ist, man hat für 
allgemeine Anwendungen einige wenige Leistungsstarke Typen und kann 
damit viel machen. Für den normalen Hobbyelektroniker im Normalfall 
absolut ausreichend. Wenn mich jetzt ein Einsteiger fragen würde womit 
er anfangen solle würde ich vieleicht auch sagen: Nimm AVR, ein paar 
ATMEGA16 auf Lager und du kannst viel "experimentieren"...

Sobald es aber anfängt "Speziell" zu werden finde ich µChip um längen 
besser. Dort bekomme ich für die meisten Fragestellungen den passenenden 
µC mit der Kombination der verschiedensten Fähigkeiten, solange es 
mechanisch Sinn macht auch in allen Gehäuseformen.
Und das wichtigste: Nicht nur theoretisch verfügbar sondern wirklich 
ALLEs was auf dem Papier steht ist für jedermann zu akzeptablen 
Stückpreisen bekommen. (Ok, im Ungünstigsten Fall mit 15Eur. Porto...)
Und genau das habe ich bei den AVRs ebend nicht! Daher sind die PICs für 
MEINEN Anforderungshorizont meistens die deutlich bessere Lösung.

Gruß
Carsten

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man nehme ein MW24J8 Modul und löte den Fußschalter sowie ein USB Kabel 
an:
http://www.codemercs.com/index.php?id=92&L=0

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.