ATTinyből USB billentyűzet
- webgeneral
- Újonc

- Hozzászólások: 6
- Csatlakozott: 2008. június 3. kedd, 6:00
ATTinyből USB billentyűzet
Mint a neve is mutatja egy sima kis ATTinyből szeretnék USB billenytűzetet kreálni úgy, hogy a PC úgy lássa, mint egy szabvány billentyűzetet.
A hardverre több megoldást is találtam egy ATTiny45 kristály nélkül is elmegy pár ellenállás meg diódával, de a szoftverrel gondban vagyok.
Csak C változatot találtam és az nekem így kicsit sok egyszerre.
Bascom alatt van erre valami megoldás?
Amúgy táncszőnyeghez kellene vezérlőnek vagyis van 8 gombom és azt kéne elküldeni a PC-re, de mindenképpen USB-n.
Amúgy ezt találtam ami a legszimpatikusabb.
http://blog.flipwork.nl/?x=entry:entry081009-142605
A hardverre több megoldást is találtam egy ATTiny45 kristály nélkül is elmegy pár ellenállás meg diódával, de a szoftverrel gondban vagyok.
Csak C változatot találtam és az nekem így kicsit sok egyszerre.
Bascom alatt van erre valami megoldás?
Amúgy táncszőnyeghez kellene vezérlőnek vagyis van 8 gombom és azt kéne elküldeni a PC-re, de mindenképpen USB-n.
Amúgy ezt találtam ami a legszimpatikusabb.
http://blog.flipwork.nl/?x=entry:entry081009-142605
A Bascom alatt nem megy.
A SW-es USB emuláció erőforrásigényes, és így felejtős.
Ha belső órajlről járó eszközök hőmérsékletérzékenyek és az USB kommunikáció gyorsan széthullik.
Kbdemu:
http://www.krezac.net/avr/yake-en
http://www.obdev.at/products/vusb/hidkeys.html
http://www.obdev.at/products/vusb/prjhid.html
A szőnyeg nem PS2-ből van véletlenül? Egy USB-PS2 átalakító a maga ~1000 ftjával olcsóbb és kompatibilisebb
A SW-es USB emuláció erőforrásigényes, és így felejtős.
Ha belső órajlről járó eszközök hőmérsékletérzékenyek és az USB kommunikáció gyorsan széthullik.
Kbdemu:
http://www.krezac.net/avr/yake-en
http://www.obdev.at/products/vusb/hidkeys.html
http://www.obdev.at/products/vusb/prjhid.html
A szőnyeg nem PS2-ből van véletlenül? Egy USB-PS2 átalakító a maga ~1000 ftjával olcsóbb és kompatibilisebb
én is támogatom Robi ötletét a Bascom is támogtaja a ps2 emulációt. egy kis kiegészítő kell a bascomhoz ami emulálja ..... példa progit tudok adni neked!
itt egy minta program.
mcsbyteint.lbx ez kell hozzá hogy tudd használni ha kell szólj csak nyugodtam mailben.
Szerk: admin (pls. fizetős részek nem terjeszthetők)
itt egy minta program.
mcsbyteint.lbx ez kell hozzá hogy tudd használni ha kell szólj csak nyugodtam mailben.
Kód: Egész kijelölése
$regfile = "2313def.dat" ' specify the used micro
$crystal = 4000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
$lib "mcsbyteint.lbx" ' use optional lib since we use only bytes
'configure PS2 AT pins
Enable Interrupts ' you need to turn on interrupts yourself since an INT is used
Config Atemu = Int1 , Data = Pind.3 , Clock = Pinb.0
' ^------------------------ used interrupt
' ^----------- pin connected to DATA
' ^-- pin connected to clock
'Note that the DATA must be connected to the used interrupt pin
Rem Nyomógombok
Felgomb Alias Pinb.1
Legomb Alias Pinb.2
Balgomb Alias Pinb.3
Jobbgomb Alias Pinb.4
Entergomb Alias Pinb.5
Cgomb Alias Pinb.6
Dim A As Integer
Dim B As Integer
A = 0
Waitus 500 ' optional delay
'rcall _AT_KBD_INIT
Do
If Cgomb = 0 Then Sendscankbd Cgomb
If Pinb.6 = 1 Then A = A + 1
'$eeprom
'Label1:
'Data 1
'$data
'Writeeeprom B , Label1
'B = A
Waitus 50
If Felgomb = 0 Then Sendscankbd Uparrow
Waitus 50
If Legomb = 0 Then Sendscankbd Leftarrow
Waitus 50
If Balgomb = 0 Then Sendscankbd Downarrow
Waitus 50
If Jobbgomb = 0 Then Sendscankbd Rightarrow
Waitus 50
If Entergomb = 0 Then Sendscankbd Enter
Waitus 50
Loop
Rem billentyűzet kódok
Uparrow:
Data 5 , &HE0 , &H75 , &HE0 , &HF0 , &H75
Leftarrow:
Data 5 , &HE0 , &H6B , &HE0 , &HF0 , &H6B
Downarrow:
Data 5 , &HE0 , &H72 , &HE0 , &HF0 , &H72
Rightarrow:
Data 5 , &HE0 , &H74 , &HE0 , &HF0 , &H74
Enter:
Data 3 , &H5A , &HF0 , &H5A
Cgomb:
Data 3 , &H21 , &HF0 , &H21
Igen. Keyboard Scan Code néven keress rá.
Van lenyomási és elengedési kód is!
Illetve a 2 karakteres Externded kódok (nyíl, Win gomb stb)
De a cím alapján: Az obdev.at révén V-USB néven fut a SW emulációs projekt. Bascomra is portolták a SW-USB függvénykönyvtárat, SW-USB néven. A mcselec fórumban fejlesztgetik. Egész használható. lassan a standard Bascom-AVRnek is része lesz.
Illetve HW USB-t tartalmazó AVR chipekre az USB függvénykönyvtárral (+20 EUR) az AVR billentyűzet is tud lenni. Ilyen IC ~1000-1800 Ft/db...
AT90USB162, ATMega32U4.
Én AT90USB162-vel próbálkoztam eddig, most az ATMNega8U2 illetve ATMega32U2 kódjai jönnek illetve a ATMega32U4 (ennek a lábosztása 0,4 mm!)
Van lenyomási és elengedési kód is!
Illetve a 2 karakteres Externded kódok (nyíl, Win gomb stb)
De a cím alapján: Az obdev.at révén V-USB néven fut a SW emulációs projekt. Bascomra is portolták a SW-USB függvénykönyvtárat, SW-USB néven. A mcselec fórumban fejlesztgetik. Egész használható. lassan a standard Bascom-AVRnek is része lesz.
Illetve HW USB-t tartalmazó AVR chipekre az USB függvénykönyvtárral (+20 EUR) az AVR billentyűzet is tud lenni. Ilyen IC ~1000-1800 Ft/db...
AT90USB162, ATMega32U4.
Én AT90USB162-vel próbálkoztam eddig, most az ATMNega8U2 illetve ATMega32U2 kódjai jönnek illetve a ATMega32U4 (ennek a lábosztása 0,4 mm!)