Menü Bezárás

USB nyomógombok

Készítette: Sásdi Krisztián

Az elképzelés
Kellene valami olyan eszköz, ami elfér egy vonalkódolvasó nyelén, négy gombot tartalmaz, a számítógép felé szabványos billentyűzetként látszódik, USB-n csatlakozik, de nem kell hozzá driver. A gombok jelentése adott. És persze legyen szép, ergonómikus, olcsó.
A megvalósítás
Erre több ötlet is született, de végül egy olcsó, könnyen beszerezhető általános célú mikrokontrollerrel(Attiny2313) oldottam meg a feladatot. Ennek a típusnak számítási teljesítménye és memóriája már éppen elég a „Low speed” USB kommunikáció megvalósításához, és elegendő I/O lábbal is rendelkezik.
Szoftver
Szerencsére már mások is csináltak hasonlót, így az USB protokoll programozásával és a kommunikáció levezénylésével már nem kellett foglalkoznom. Konkrétan az Objective Development megvalósítását választottam, de léteznek más hasonló megoldások is. A program alapvetően a billentyűk állapotát ellenőrzi, és amennyiben lenyomás történt, az adott gomb kódjával megtölt egy USB csomagot, majd elküldi a PC-nek.
Hardver

usb_nyomogomb_pic1

 

Nem tartalmaz semmi érdekeset. A nyomógombok a kontroller B portjára csatlakoznak, belső felhúzóellenállásokkal. Az USB vonalak az A portra csatlakoznak a szabványban előírt impedanciaillesztő-ellenállásokkal. Mivel az USB szabvány a kommunikációhoz 3,3V-ot igényel, ezért az egész áramkört célszerű ilyen feszültségről járatni, de az USB csatlakozón csak 5V-os tápfeszültség van. A feszültségcsökkentésről itt egy piros LED gondoskodik, amely egyúttal a működés jelzésére is szolgál(és így megint megspóroltunk egy alkatrészt…).
Megépítés

usb_nyomogomb_pic2A fizikai méretek adottak voltak, de a hely szűke ellenére -ésszerű tervezés mellett- a nyák egyoldalas maradhatott, valamint minden alkatrész felületszerelt lehetett. A nyomógombok szép, mégis strapabíró darabok. A kábel miniUSB csatlakozóval bontható.

 

usb_nyomogomb_pic3

A doboz végül nyáklemezből készült el, mert megfelelő méretű kész dobozt nem sikerült beszerezni. Ezen kívül fontos volt a nyomógombok pontos megvezetése is, amelyek így akadás nélkül működnek.
Firmware: <hexfájl helye>

Related Posts