Fórum témák

» Több friss téma
Fórum » USB-s játékvezérlő építése AVR-el
Lapozás: OK   1 / 1
(#) echo11 hozzászólása Szept 27, 2010 /
 
Hello!
Azért nyitottam ezt a témát, mert nem találkoztam még ennek a problémának a megoldásával és persze mert épp ilyen irányban érdeklődök...

A kérdésem az lenne, hogy hogyan tudnám azt megoldani, hogy ha egy AVR az USB-re kötök, akkor a számítógép felismerje, mint USB-s játékvezérlő eszközt. Igazából nekem annyi is elég lenne, ha valaki tudna segíteni az AVR-re írt program első felébe egy gombig, valószínűleg utána már menne. Szóval annyit szeretnék, hogy az avr megteremtse a kapcsolatot a gombok és a számítógép között. Gondolom ehhez nagyon sok szabványt kell ismerni az USB-vel kapcsolatban. Nem tudom, hogy ez így mennyire érthető első olvasásra, de ha valaki megszán és megpróbál segíteni, akkor minden tőlem telhetőt próbálok megtenni, igaz nem vagyok még valami profi az AVR-ben.

Egyébkét tudom, hogy "menjél be egy "hülye azért nem vagyok" üzletbe, és vegyem meg a megfelelőt", de egy élmény megcsinálni és utána használni (gondolom itt olyan emberek vannak főleg, akik ezt tudják) és persze az sem hátrány, ha tetszés szerint állítható, vagy akár előre megtervezett mozdulatokat, csak egy gombnyomással elő lehet hozni (pl.: kitérő manővernek nagyon hasznos lehetne)

üdv: echo11
(#) Hp41C válasza echo11 hozzászólására (») Szept 27, 2010 /
 
Szia!

Nézd meg itt...
(#) Cavalier válasza echo11 hozzászólására (») Szept 27, 2010 /
 
Mjoy16 a te barátod.
(#) toto válasza echo11 hozzászólására (») Szept 27, 2010 /
 
Itt is szétnézhetsz:USB-s cuccok AVR-rel
Van pár USB-s joystick-project is.
Az oldalon a "3DP-vert" ígéretesnek tűnik, egy régi Game-portos joystick-ot alakít USB-sé. Kapcs.rajz, firmware van.
(#) watt válasza echo11 hozzászólására (») Szept 28, 2010 /
 
Az USB HID szabványnak megfelelő firmware-re lesz szükséged(lehet, hogy van ilyen gyári is? A PIC-ekhez van...). Abban be lehet állítani, hogy joysticknek vegye a Windows a rádugott eszközt(most fejből nem emlékszem, hogy hol, de nem nagy dolog, csak egy típust kell megadni). A többiek által linkelt oldalakon biztosan találsz forrást, amiből ki tudsz indulni, és csak elméleti síkon szerettem volna hozzászólni.
(#) mustang74 válasza toto hozzászólására (») Szept 28, 2010 /
 
A joystick átalakításhoz szólnék pár szót.
Csak az USB-s alkatrész(Teensy 2.0 board) a mai árfolyam szerint átszámítva 4200 Ft-ba kerül. Ennél jóval olcsóbban az ember hozzájut egy olyan PCI-os hangkártyához amin van game/midi port. Ennél fogva plusz kütyü nem porosodik/éktelenkedik a gép körül.
Ráadásul nekem más típusú joystick-jaim vannak, nem is biztos hogy működnének ezzel a kütyüvel.
(#) echo11 hozzászólása Szept 28, 2010 /
 
Hello!
Köszönöm mindenkinek az ötleteket és a linkelt oldalakat (nekem nem sikerült megtalálnom őket, pedig nagyon kerestem).Egyenlőre nem igen van időm mindent teljesen megnézni és megérteni, de amit watt mondott az nagyon érdekelne...(de gondolom, ha tüzetesen végigolvasom a cikkeket, akkor majd kiderül valami hasonló). Mégegyszer köszönöm mindenkinek, és ha esetleg vannak más ötletek, akkor azoknak is nagyon örülnék (watt ötletét valaki részletezné?).

echo11
(#) efiscp válasza echo11 hozzászólására (») Szept 28, 2010 /
 
Watt arra célzott, hogy az USB-s eszközök tartalmaznak leírókat (descriptorok), amit a szabvány részletesen leír, hogy hogy épülnek fel. Emellett minden eszköz osztályokba sorolható, ami alapján a descriptorokat be lehet állítani. A host lekérdezi ezeket, és ezalapján tölti be a drivert (a vindóznak sok beépített drivere van, ekkor nem kell sajátot írnod). Kicsit hegeszteni kell a descriptorokat, hogy jól illeszkedjenek a feladathoz, de alapvetően készen kapsz a kezedbe mindent. Ha bővebben érdekel az usb, keress rá Jan Axelson usb-s könyvére (USB Complete), vagy arra, hogy "usb in a nutshell".

Szerk: most látom, hogy Watt mégse erre gondolt, de ettől függetlenül nem árt, ha tisztában vagy azzal, amit írtam.
(#) toto válasza mustang74 hozzászólására (») Szept 28, 2010 / 1
 
mustang74: Nem egészen értelek. Nem ismerem az általad említett Teensy 2.0-t, de az alap kérdés echo11 részéről az volt, hogy AVR kommunikáljon a PC-vel USB-n, legalább egy gombnyomás erejéig. Később szeretne belőle USB-s joy-t építeni.

Erre javasoltam az adott oldalt, AVR és USB-HID protokolt használ, plusz megcsinálták, hogy joy-nak ismerje fel a PC, és gyakorlatilag kész az egész.
Az AVR 400-500 Ft +USB csatlakozó mondjuk 150 Ft, néhány ellenállás, dióda, és egy kvarc szerintem alatta van a 4200 forintnak, de az tény, hogy megépíteni, felprogramozni neki kell ( végülis ez hobbi elektronika).
Amit watt mondott PIC esetében, én kb. azt mondtam AVR-rel.
Mindkettő firmware beállítja a kontrollert USB-HID eszköznek, az AVR-es forrás pluszban még a descriptorokat is. Az AVR-es megoldásban szerintem még ráadásul be vannak állítva az IO lábak és az A/D használat, lévén analóg joy-ról beszélünk.
A PIC-es és az AVR-es megoldás között annyi különbség van, hogy a PIC hardveresen kommunikál a PC-vel, az AVR szoftveresen oldja meg a kommunikációt, de ennek nincs jelentősége. Az általam javasolt linken lévő programon keveset kell majd alakítani (első ránézésre), mivel az már joy-ként működik. A PIC-es programon többet kellene dolgozni, mivel ott csak a HID beállítása adott, a descriptorokat és a többit a fejlesztőnek kell kialakítani.
Persze biztosan létezik PIC-kel is USB-s joystick, ahol már elkészítették a potméterek, nyomógombok illesztését, de én még ilyet csak AVR-rel találtam a neten.régi joy USB-re
(#) fejlesztő válasza echo11 hozzászólására (») Szept 28, 2010 /
 
Szia!

A következő megépítésében tudok segíteni az alapoktól a végéig (diszkrét, viszonylag kevés számú alkatrészekből; akár kapcsolási rajz és NYÁK tervezés, gyártás, AVR programozás, készülék építés, bemérés stb.), ha ezt keresed:

- AVR mikrokontroller család használatával (példaprogramok, programozás stb), akár ATMega128 -ig is

- A számítógéppel USB -n összekötött AVR -es eszköz (NYÁK) a PC felől virtuális soros portként látszik, azaz a gépen futó programod fejlesztését lényegesen megkönnyíti a soros port programozása (de van D2XX driver az USB direkt DLL szintű eléréséhez is)

- Az AVR -es áramköröd tápellátása megoldható a számítógépről az USB 5V -ról, szabványosan menedzselt módon, így a rendszer mindig stabil működésű lesz. Ez mellett még számos hasznos/kényelmi funkció is elérhető.

-USB IC: FT232 - a driver -ek ingyenesek, Windows, Mac OS X, Linux stb. alá. A gyártó, kérésre (pl.: oktatási intézmények, stb.) ingyenesen biztosít PID azonosítót, de természetesen használható a gyárival is.
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf
(#) toto válasza fejlesztő hozzászólására (») Szept 28, 2010 /
 
A segítséged hasznos lehet echo11-nek, de az FT232 szvsz nem alkalmas a kitűzött feladat megoldására.
Sajnos az FTDI chipje csak a CDC osztályt támogatja, a HID-et nem, pedig a joy-hoz arra lenne szükség.

Foglalkozott már valaki a Microchip gyártotta MCP2200-val? Állítólag az a HID-et és a CDC-t egyszerre tudja.
(#) Ricsi89 hozzászólása Szept 28, 2010 /
 
Egy olcsó USB-s billentyűzetből is lehetne csinálni ilyet és akkor lenne bőven nyomógomb. Ha nem szükségesek analóg jelet feldolgozó bemenet(pl kormány elfordulás) akkor ebből is ki lehetne indulni szerintem.
(#) toto válasza Ricsi89 hozzászólására (») Szept 28, 2010 /
 
Csak akkor a Windows-ban futó game azt mondaná, hogy OK, hogy látok két billentyűzetet is, de nekem akkor is egy játékvezérlőre van szükségem.
Külön definiáltak egér, billentyűzet, joy, távirányító, kijelző, digitalizáló, és még ki tudja hány fajta HID-es eszközt.
(#) efiscp válasza toto hozzászólására (») Szept 28, 2010 /
 
Én barátkoztam vele, de ahogy elnéztem, nem lehetett benne a descriptorokat állítgatni, ami nekem fontos volt. Inkább megoldottam egy 18f14k50-nel az usb csatolását az áramkörnek.
(#) mustang74 válasza toto hozzászólására (») Szept 29, 2010 /
 
Innen szedtem a Teensy 2.0-t: Teensy 2.0 board - http://www.pjrc.com/store/teensy_pins.html $21 (PJRC)
Ez pont az általad is linkelt "régi joy USB-re" oldal tartalmában van, egy TXT file-ban. Pontosabban: http://code.google.com/p/sw3dprousb/downloads/list
Még egy képet is mellékelek.
Üdv!
(#) watt válasza toto hozzászólására (») Szept 29, 2010 /
 
Pontosan ahogy írod!

A kérdés lényegét ajánlom mindenki figyelmébe, a Windows-nak joy-nak kellene látnia az eszközt. Ehhez a HID Joy-hoz tartozó azonosítószáma(talán 4?) szükséges.
(#) watt válasza echo11 hozzászólására (») Szept 29, 2010 /
 
Ha PIC-et kérdeztél volna ezt ajánlottam volna, bemelegítésnek. Persze ez sem joy-hoz való még, de vannak további infók a gyártó oldalán és az USB-s doksikban.

Sajnos AVR-hez nem értek ennyire.
(#) Hp41C válasza Hp41C hozzászólására (») Szept 29, 2010 /
 
Szia!

Amit belinkeltem, az egy USB HID keyboard osztályba tartozó eszköz néhány gombbal, AVR kontrollerrrel, programmal megvalósított USB (low speed) illesztéssel. A lap alján egy szabadon felhasználható usb könyvtárra mutató link is található, ha jól emlékszem még a Vendor ID és Product ID -re is van megoldásuk, csak le kell írni, hogy mire használtad fel... Kiindulásnak jó alap. A HID osztályba tartoznak még a játék illesztők is.
A usb oldalról letölthetők a dokumentumok, ami alapján a descriptorok összeállíthatók. A Google a usb hid avr joystick kulcsszavakra rengeteg találatot ad...
(#) toto válasza mustang74 hozzászólására (») Szept 29, 2010 /
 
Köszi, ez elkerülte a figyelmem. Továbbra is kicsit drágának találom, de úgy látom, hogy a programozó lábak is ki vannak vezetve ezen a Teensy 2.0 boardon, így lehet a programját módosítani. Így mondjuk ha nem akarja valaki megépíteni saját maga, akkor is lehet plusz funkciókkal gazdagítani a működését, ahogy azt a topic indítóban echo11 írta a kitérő manőverekkel kapcsolatban.
(#) echo11 hozzászólása Szept 29, 2010 /
 
Hello!
Nagyon köszönöm a segítségeteket, annak ellenére, hogy nem igazán vagyok otthon ezekben a kifejezésekben, de mindig szívesen tanulok ilyen dolgokat és látom, hogy felkeltette az érdeklődést is.

És elnézést, ha nem fogalmaztam teljesen érthetően, de igazából azt szeretném kihozni, amit toto mondott (egy AVR+USB-s drót+kvarc) semmi bonyolítást nem szeretnék, mivel ha már megvan egy így működő AVR, akkor azt utána az alap kódot tanulmányozva, tudom még bővíteni.

És előre is elnézést kérek toto-tól a hülye kérdéstől, de a linkelt weblapon, hol mit találok meg? Nem vagyok otthon az ilyen Google-féle oldalakon. Ami nekem kéne, egy kapcsrajz, meg egy AVR-re írt forráskód C-ben (Basic-et nem ismerem) és egy leírás sem lenne rossz, hogy mit miért csinált. Ezeket hol találom meg?

Köszönettel: echo11
(#) nrg válasza echo11 hozzászólására (») Szept 29, 2010 /
 
Keress rá az "MJoy16" kifejezésre. Ez pont egy olyan projekt, ahol egy kis avr-el csináltak USB-s joystick-ot. Azthiszem volt olyan verzió is, ahol elég volt bele egy ATMega8 is. Rengeteg nyomógombbal, valami 24 darabra emlékszem, mivel cockpit szimulátorhoz készült.
Bővebben: Link
(#) echo11 válasza nrg hozzászólására (») Szept 29, 2010 /
 
Hello!

Vááá na ez a megfelelő, ehhez már "csak" egy c forráskód kéne, mert így is tök jó (amúgy is repülőszimulátorhoz csinálnám), de ha lenne egy forráskód, akkor többre mennék vele, például a kitérőmanőver- funkció miatt (de nehogy azt higgyétek, hogy egy mániákus "kitérőmanőverista" vagyok, csak gyakorlati pélának mondtam ). De legroszabb esetben berakok elé egy másik AVR-t, ami ezt kapcsolgatja. Így is megoldaható, csak drágább komplikáltabb, és sajnos nem teljesen az én kezem munkája (ha megvan a forráskód, akkor sem, de legalább tudom, hogy hogyan működik, és egy esetleges másik munkánál a segítségemre lehet).

Nem szeretném a kutató munkát másra hárítani, de nekem pillanatnyilag, (röpke 3/4 év iskola ) nincs időm 100%-osan belevetni magamat a témába, esetleg hétvégenkét.Terveim szerint, most hétvégén, majd összesítem az eddig fejleményeket és megpróbálok kihozni, valami értelmeset.

Köszönö mindenkinek:
echo11
(#) nrg válasza echo11 hozzászólására (») Szept 29, 2010 /
 
Elküldök mindent ami ezzel kapcsolatos. Kapcsolási rajz, NYÁK-terv, hex fájlok, és a forráskódot is. A forráskódhoz annyit fűznék hozzá, hogy assembly-ben íródott. Remélem a sok verzió között találsz használhatót.

Sok sikert az építéshez!

mjoy16.rar
    
(#) Cavalier válasza echo11 hozzászólására (») Szept 30, 2010 /
 
Ááá, nem ugyanezt linkeltem be 3 nappal ezelőt.
(#) toto válasza echo11 hozzászólására (») Szept 30, 2010 /
 
Ha innen: ZIP file
letöltöd a .zip file-t, akkor abban benne van a 3DPvert kapcs.rajza, és C forráskódjai, stb.
Ahogy ismét megnéztem az Mjoy16 anyagát, lehet, hogy az még jobban megfelel neked. Egyetlen szépséghibája, hogy Assembly-ben van a forráskód, de szépen van kommentezve, így azt is lehet módosítani.
(#) echo11 válasza Cavalier hozzászólására (») Szept 30, 2010 /
 
Hello!

Hoppá, tényleg...(most, hogy így közelebbről megnézem). Toto-nak, pedig köszönöm a C-s dolgokat. Most már "csak" összerakni kéne.

KÖSZÖNÖM mindenkinek, örök hála. És ha valakinek eszébe jut még valami dolog ezzel kapcsolatban, akkor szívesen fogadom.Egyébként arra gondoltam, hogy fizikus nemrég írt cikkéből, a gyorsulásmérőt szeretném használni, az irányításhoz (csak döntögetni kell, és már fordul is az, aminek a programban fordulnia kell) ez szerintem, elég egyedi játékvezérlő módszer...

echo11
(#) echo11 hozzászólása Szept 30, 2010 /
 
Hello!

Az mjoy.rar mellékletben többféle verzió is található, a sima mjoy és az mjoy16. Ezek közül melyik a jobb? Amennyit én észrevettem, az annyi, hogy az mjoy16-nál van még egy .eep fájl. Én nem nagyon szeretnék az eeprom memóriába írni, mert utána nem lehet módosítani elvileg. Viszont a sima mjoy-nál csak egy .hex fog létrejönni. Én jobban szeretném azt a verziót megcsinálni, amikor csak a flash memóriájába írok. Miben van igazam és mit mondok rosszul? A mellékletben látszik, hogy mi az amire gondolok (az Mjoy_v1.1-ben lévőkre gondolok).

echo11

joy.zip
    
(#) douggutaby válasza echo11 hozzászólására (») Okt 25, 2010 /
 
Én a LUFA projekttel dolgoztam. Abban is nagyon sok jó infó van. Azzal csináltam több eszközt is. Bővebben: Link
(#) echo11 válasza douggutaby hozzászólására (») Okt 26, 2010 /
 
Hello!

Köszönöm a tippet, ha megkérhetnélek részleteznéd egy kicsit, mert a weblapon nem találtam olyan linket, ahol a forráskódok, vagy valami hasonló dolgok lennének. És főleg arra lennék kíváncsi, hogy a forráskódokat milyen programnyelven lehet elérni, és hogy mennyire testre szabhatóak (pl. én állíthatom be, hogy mennyi gomb legyen...)?

echo11
(#) szalaisanyi hozzászólása Nov 17, 2013 /
 
Sziasztok!
Az MJOY-t megépítette már valaki?
Én most akarok nekilátni, csak érdekelne, hogy másnak sikerült-e?!
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem