2-Tasten AVR USB Keyboard

Man kennt ja diese "Buzzer" Taster aus Fernseh-Shows oder ähnlichen. Für eine Fotobox (mit der sich die Gäste unserer Vereinsveranstaltungen per Buzzer-Druck ablichten können) habe ich mir auf Basis des VUSB Treibers und des Easyloggers von obdev.at (LINK) eine kleine zwei Tasten USB Tastatur gebaut, mit welcher ich gleich zwei Signale abfragen kann. Dabei repräsentiert sich der Microcontroller dem PC als Standard USB HID Device. Mittels der Key Translation Tabelle für USB Devices von Microsoft (Download LINK) können so fast alle Tasten /-kombinationen durch das 2-Tasten Keyboard emuliert werden. Der Vorteil des Projekts mit ATtiny25/45/85 Microcontrollern ist, dass kein Quarz benötigt wird um sich mit einer USB Schnittstelel zu synchronisieren. Diese Tinys haben die Möglichkeit den internen Takt von der PLL Clock zu beziehen, wodurch sich höhere Frequenzen als die eigentliche CPU Frequenz ergeben können.

Der Schaltplan des Buzzer-Keyboards wurde so angepasst, dass der ATtiny mittels zwei Standarddioden mit 3,6V direkt aus dem USB Steckplatz versorgt wird. Zusätzlich zu den zwei Tastern habe ich noch eine LED an einen Pin zur Visualisierung belassen (wie man es von USB Sticks kennt soll die LED blinken bei Betätigung der Taster). Theoretisch könnte man bis zu vier Tasten an den ATtiny45 realisieren. Da ich mir aber nur ungern den Reset Pin als Ausgang belege (um Firmwareänderungen problemloser aufspielen zu können) genügt mir auch eine zweitasten Kombination.

Schaltplan:

Schaltplan

Aufbau:

Aufgebaut wurde die Minitastatur auf einem normalem Lochrasterstückchen. Das Layout ist jetzt nicht das Beste aber dennoch sehr klein und kompakt ausgefallen. Um Platz zu sparen wurden Widerstände und Dioden stehend aufgelötet.

fertig aufgebaute Schaltung

Auf dem Foto sind die Dioden nicht zu sehen, einfach weil sie nicht vorhanden sind. Grund dafür ist, dass die Minitastaur an einem 10m USB Kabel betrieben wurde. Dort sinkt die Versorgungsspannung ohnehin schon auf 4,3V. Für normale USB Geräte wird eine Übetragung schon ab 3m schwierig. Allerdings ist bei der Mini-Tastatur keine hohe Datenrate zu erwarten und die Pegel für USB liegen in einem Bereich von 3,3 bis 5V.

Schaltung im Buzzer-Gehäuse

Buzzer

Firmware:

Als Basis diente die Firmware des Easyloggers von obdev.at. Allerdings wurde nur der VUSB Treiber genutzt, denn ich möchte keinen ADC einlesen.

Die Tastimpulse werden etwas unelegant mittels kleiner Zeitschleifen erfasst (polling). Besser wäre es mit Interrupts gewesen, allerdings stößt hier der ATtiny an seine Grenzen.

Quellcode samt vorkompilliertem Projekt für AVR-Studio 4.19 gibt es hier zum Download (siehe Anhang).

Projekt aus Jahr 2010 / Letztes Update 05/2013

Attachments:
Download this file (MiniKeyboard_www.stefan-franke.net.rar)MiniKeyboard_www.stefan-franke.net.rar[Schaltplan, Stückliste und Software]308 kB