Klawiatura dedykowana USB

Projekt i implementacja dedykowanej klawiatury USB.

Inspiracja

Czy zdarzyło się Wam kiedyś, że zwykła klawiatura komputera jest nieporęczna?

Jednemu z naszych kolegów w Kole się zdarzyło, co było inspiracją do zaprojektowania i wykonania poniżej opisanego projektu.

Problem w nieporęczności standardowej klawiatury polega na tym, że nie każdy posiada umiejętność pisania bezwzrokowego (nie patrząc na klawiaturę).

Obrazowa sytuacja wygląda następująco: potrzebujemy wykonać jakiś eksperyment w którym uczestnik musi ciągle patrzeć ma ekran komputera i klikać np. strzałki według tego co zauważy na ekranie, jeżeli przestanie patrzeć na ekran wyniki eksperymentu będą zakłamane.

Ponieważ kolega potrzebował przeprowadzić bardzo duża serię takich eksperymentów, a ich uczestnicy notorycznie przerywali ciągłość patrzenia na ekran szukając na klawiaturze odpowiedniego klawisza, zrodził się pomysł na zrobienie przycisków podobnych do tych w teleturniejach.

Hardware

Do wykonania przycisków podobnych do tych w teleturniejach ale imitujących klawiaturę i odpowiednie klawisze potrzebne są:

  • mikrokontroler ATmega8
  • gniazdo USB (np. typu B)
  • 2x kondensatory stałe 27p
  • 2x kondensatory stałe 100n
  • 1x kondensator elektrolityczny 10u
  • 2x diody prostownicze 1N4148
  • 2x rezystor 68 Ohm
  • 1x rezystor 2k2
  • 1x rezystor 10k
  • rezonator kwarcowy 12MHz

W zależności od tego czy chcemy się tylko pobawić czy wykonać projekt w formie końcowej potrzebujemy jeszcze:

  • w przypadku zabawy:
    • płytka prototypowa
  • w przypadku prototypu końcowego:
    • laminat miedziany jednostronny
    • możliwość wyfrezowania lub wytrawienia obwodu drukowanego

 

Połączenia wszystkich komponentów należy dokonać według poniższego schematu.

hk

Wizualizacja projektu płytki

hidkeys1
hidkeys2
hidkeys3

Firmware

Do obsługi komunikacji mikrokontrolera ATmega8 poprzez port USB wykorzystana została biblioteka V-USB (Virtual-USB).
Sama obsługa klawiszy bazuje na jednym z przykładów zamieszczonych na stronie projektu V-USB.

Prezentacja

Działające klawisze prezentują się następująco:

[tu niebawem wkleimy filmik z działania klawiszy, za utrudnienia przepraszamy :) ]