Go Down

Topic: HID: Duemilanove oder Attiny? (Read 853 times) previous topic - next topic

Fujitsu313

Hallo zusammen,

Da ich mir bald neue Kopfhörer für den Rechner zulegen werde und ich weder Kabelfernbedienung noch irgendwelche Medietasten an der Tastatur habe...dachte ich mir ich kann das doch sicherlich selbst zusammenbauen.

Die Gegebenheiten:

Ich habe hier einmal einen Arduino Duemilanove der das wahrscheinlich nicht unbedingt hinbekommen kann...nur mit einem passenden V-USB-Shield usw. , da kann ich im Prinzip gleich meinen AVR Stick von Sparkfun (https://www.sparkfun.com/products/9147) verwenden, dieser kann eine Spannung von bis zu 2,56V messen und schreibt sie immer wieder in ein Textdokument. Im Prinzip emuliert dieser Stick über V-USB und HID eine Tastatur welche dann die Werte ausgibt.

Leider kenne ich mich nicht so gut in der Programmierung im AVR-Studio aus und richtige Code-Beispiele habe ich auch noch keine gefunden. Ich würde gerne über drei Tasten die Systemlautstärke ändern: Lauter, Leiser & Mute. Ich denke das wird mit diesem Stick und drei Tastern möglich sein, aber ich weiß nicht wirklich wie ich das programmtechnisch lösen kann.

Ich hoffe ihr versteht mein Anliegen und könnt mir da irgendwie weiter helfen...

Grüße,
Jonas

PS: Im Prinzip das hier, nur ohne einen Arduino und mit dem Stick: http://mitchtech.net/arduino-usb-hid-keyboard/

uwefed

Um eine USB-Tastatur eines PC zu emulieren ist ein Arduino Leonardo die richtige Wahl (oder ein Nachbau zb den Arduino PRo Micro)
http://arduino.cc/en/Reference/MouseKeyboard
Noch dazu eine Infrarotempfänger für einen Fernbedienung und schon kannst Du Deien PC fernsteuern.
http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
Grüße Uwe

Fujitsu313

Erstmal vielen Dank!

Mhhh...doch noch einen neuen Arduino kaufen?

Man kann ja Arduino-Code auf dem Attiny ausführen, wäre es auch möglich das von mir oben genannte Beispiel auf den Attiny zu portieren? Oder sollte ich eher doch auf einen Leonardo umsteigen?

uwefed

Der Leonardo hat die Hardware im Controller integriert um ohne Aufwand ein HID über USB zu emulieren. Mit den entsprechenden Funktionen machst Du das in 3 Zeilen Code.
Wenn Du einen anderen Controller nimmst, dann mußt Du alles über Code emulieren. Ich weiß auch nicht ob es dafür Beispiele gibt.

Eine alternatve ist eine alte USB-Tastatur auszuschlachten:
http://www.heise.de/hardware-hacks/projekte/VLC-Fussschalter-1570791.html

Grüße Uwe

sth77

#4
Nov 02, 2012, 04:05 pm Last Edit: Nov 02, 2012, 04:08 pm by sth77 Reason: 1
Etwas ähnliches probierte ich auch schon: http://sth77.blogspot.de/2012/08/ir-fernbedienung-teil-1.html
Mitlerweile verzichte ich allerdings auf die angesprochene IR-Library und nutze eigenen Code. Ich bin mir jedoch nicht sicher, ob wir auch Medientasten einer Tastatur emulieren können, in dieser Liste sind sie nicht erfasst: http://arduino.cc/en/Reference/KeyboardModifiers
Bei der Wahl des Mikrocontrollers bietet sich ein Leonardo an, wie Uwe bereits schrieb. Ich konnte auch ein günstiges Breakout-Board mit dem Atmega32U4 als Leonardo nutzen: http://sth77.blogspot.de/2012/09/atmega32u4-board-als-leonardo.html

[edit]: Statt noch mehr Links habe ich diese Übersicht gefunden:
Code: [Select]
Constant               | Dec | Hx | Description                    |
--------------------------------------------------------------------
VK_BROWSER_BACK        | 166 | A6 | Broken Vertical Bar            |
VK_BROWSER_FORWARD     | 167 | A7 | Section Sign                   |
VK_BROWSER_REFRESH     | 168 | A8 | Spacing Diaeresis              |
VK_BROWSER_STOP        | 169 | A9 | Copyright Sign                 |
VK_BROWSER_SEARCH      | 170 | AA |                                |
VK_BROWSER_FAVORITES   | 171 | AB | Double Angle Quotes            |
VK_BROWSER_HOME        | 172 | AC | Not Sign                       |
VK_VOLUME_MUTE         | 173 | AD | Soft Hyphen                    |
VK_VOLUME_DOWN         | 174 | AE | Trade Mark Sign                |
VK_VOLUME_UP           | 175 | AF |                                |
VK_MEDIA_NEXT_TRACK    | 176 | B0 |                                |
VK_MEDIA_PREV_TRACK    | 177 | B1 |                                |
VK_MEDIA_STOP          | 178 | B2 |                                |
VK_MEDIA_PLAY_PAUSE    | 179 | B3 |                                |
VK_LAUNCH_MAIL         | 180 | B4 | Spacing Acute / Acute Accent   |
VK_LAUNCH_MEDIA_SELECT | 181 | B5 | Micro Sign                     |
VK_LAUNCH_APP1         | 182 | B6 | Pilcrow Sign / Paragraph       |
VK_LAUNCH_APP2         | 183 | B7 | Middle Dot                     |
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Fujitsu313

Als Tastatur wäre er schon angemeldet ;)

Aber was soll ich sagen? Das was ihr mir hier geziegt habt gestaltet das einfach und praktikabel. Das sollte ich ohne Probleme hinbekommen und irgendwann wage ich mich eines Tages dann mal auch noch an den Stick.

Dann wird es wohl ein Leonardo :)

Danke!

Go Up