Përmbajtje:
- Hapi 1: Detajet ekzistuese të sensorit
- Hapi 2: Pinout
- Hapi 3: Përshkrimi i Protokollit
- Hapi 4: Kodi Arduino
- Hapi 5: Kalibrimi
Video: Thrustmaster Warthog Slew Sensor I2C Përmirësimi: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
Ky është një udhëzues i përafërt se si të ndërhyni me protokollin I2C të përdorur në sensorin e goditjes së mbytjes ThrustmasterWarthog. Kjo mund të përdoret për të përmirësuar nga shërbimi standard i padobishëm në diçka më të mirë, por akoma duke përdorur kontrolluesin standard USB në njësinë e mbytjes. Kjo bazohet në një postim origjinal në:
forums.eagle.ru/showthread.php?t=200198
Një kuptim themelor nëse supozohet protokolli I2C për shumicën e hapave të mëposhtëm, për një shpjegim të shkëlqyeshëm shkoni te:
learn.sparkfun.com/tutorials/i2c
Çdo pyetje specifike, mos ngurroni të më pyesni, dhe unë do të përpiqem t'i shtoj kësaj të pakontrollueshme në të ardhmen me informacione më të rëndësishme. Kjo nuk është aspak e plotë, por duhet të jetë një pikënisje e mirë.
Ofrohet një kod demo Arduino, por ju lutemi merrni këtë si referencë pasi një Arduino 5V normal nuk mund të përdoret pa modifikim.
Hapi 1: Detajet ekzistuese të sensorit
Sensori i goditjes ministick që vjen me mbytjen Thrustmaster Wathog i njohur mirë se është një nga dobësitë më të mëdha me një produkt përndryshe të shkëlqyer. Ka pasur një numër përpjekjesh nga njerëzit për ta zëvendësuar atë me diçka më të mirë gjatë viteve, por shumica kanë dalë kundër vështirësive të ndërlidhjes me protokollin dixhital I2C të përdorur prej tij.
Sensori i saktë i përdorur në mbytjen Warthog është N35P112 - EasyPoint, i cili përdor IC sensorin e efektit të sallës AS5013 të bërë nga AMS.
Fleta e të dhënave:
ams.com/eng/Products/Magnetic-Position-Sens…
Shtë interesante që njësia dikur ishte në dispozicion si një modul shpërthimi nga Sparkfun:
www.sparkfun.com/products/retired/10835
Sensori është menduar për aplikacionet e lundrimit në gjëra të tilla si telefonat celularë, dhe është jashtëzakonisht i lirë. Sipas mendimit tim e papranueshme në diçka që kushton gati 500 dollarë.
Hapi 2: Pinout
Sensori lidhet me PCB në njësinë e mbytjes së dorës së djathtë përmes lidhësit mikro 5 pin.
Pinout është si më poshtë:
-
Vcc +3.3VDC (
Rregulluar në nivel lokal nga 5V nga një rregullator linear në anën tjetër të bordit, menjëherë pas lidhësit, duhet të jetë mirë të jetë rreth 20mA, por unë në asnjë mënyrë nuk e kam testuar këtë)
- I2C SDA
- I2C SCL
- GND
- Butoni 1 (Normalisht i lartë, tërheqje e brendshme 5V)
Hapi 3: Përshkrimi i Protokollit
Sensori funksionoi në adresën I2C 0x41 - të gjitha komandat e shkrimit ose leximit fillojnë me këtë adresë.
Kur mbytja lidhet me kompjuterin, ekziston një parathënie prej rreth 250ms në autobusin I2C për të adresuar 0x40, supozoj se kjo është për një version të ndryshëm të sensorit ose diçka të ngjashme, por nuk është e rëndësishme për ne.
Të dhënat e dërguara në autobusin I2C në përdorim normal janë më poshtë, kjo duhet të simulohet nga mikrokontrolluesi ynë për të folur me mbytjen.
Konfigurimi - Këto të dhëna dërgohen një herë, rreth 500ms pasi të jetë lidhur USB, për të vendosur sensorin origjinal për përdorim.
Master Shkruaj: 0x0F (Regjistri i Kontrollit 1)
Të dhënat: 0x02 0b0000 0010 (fillon një rivendosje të butë)
Master Shkruaj: 0x0F (Regjistri i Kontrollit 1)
Master Lexo: 0xF1 0b1111 0001 (rivendoset në 11110000, lsb 1 nënkupton që të dhënat e vlefshme janë gati për t'u lexuar. Ne duhet t'i përgjigjemi kësaj komande saktë për t'u njohur si një pajisje skllave e vlefshme)
Master Shkruaj: 0x2E (Regjistri i Kontrollit 2)
Të dhënat: 0x 86 (kjo vetëm vendos orientimin e magnetit në sensorin origjinal)
Master Shkruaj: 0x0F (Regjistri i Kontrollit 1)
Të dhënat: 0x 80 0b1000 0000 (Vendos pajisjen në modalitetin boshe (matja automatike, jo në modalitetin e energjisë së ulët))
Loop: Kjo përsëritet në rreth 100Hz për të marrë të dhëna të sensorit.
Master Shkruani: 0x10 (regjistri X)
Master Lexo: (skllavi dërgon të dhëna X, vlera plotësuese e 2 bit 8 bit)
Master Shkruani: 0x11 (regjistri Y)
Master Lexo: (skllavi dërgon të dhëna Y, vlera plotësuese e 2 bit 8)
Pjesa përkatëse e hedhjes së protokollit nga analizuesi logjik:
Konfigurimi Shkruani në [0x82] + ACK
0x0F + ACK
0x02 + ACK
Konfigurimi Shkruani në [0x82] + ACK
0x0F + ACK
Konfigurimi Lexo në [0x83] + ACK
0xF1 + NAK
Konfigurimi Shkruani në [0x82] + ACK
0x2E + ACK
0x86 + ACK
Konfigurimi Shkruani në [0x82] + ACK
0x0F + ACK
0x80 + ACK
Konfigurimi Shkruani në [0x82] + ACK
0x10 + ACK
Konfigurimi Lexo në [0x83] + ACK 0xFC + NAK
Konfigurimi Shkruani në [0x82] + ACK 0x11 + ACK
Konfigurimi Lexo në [0x83] + ACK 0xFF + NAK
Hapi 4: Kodi Arduino
Kodi i bashkangjitur Arduino mund të përdoret për të simuluar sensorin.
Ju lutemi vini re: Shumica e bordeve Arduino funksionojnë me 5V, kjo ka nevojë për një bord të pajtueshëm ose të modifikuar me 3.3V për të punuar për të shmangur dëmtimin e levës tuaj.
Hapi 5: Kalibrimi
Pasi të jetë vendosur sensori juaj i ri, mbytja do të ketë nevojë për kalibrim.
Për të kalibruar mbytjen tuaj ju do të përdorni mjetin e kalibrimit të mbytjes. Kjo mund të shkarkohet nga një numër burimesh të tilla si:
forums.eagle.ru/showthread.php?t=65901
Mos përdorni kalibrimin e dritareve.
Në mënyrë që të përfitoni sa më shumë nga një mod ju duhet të ndryshoni disa vlera në skedarin tuaj të konfigurimit të kalibrimit.
Ndryshoni:
Standard_DZ_SX = 0x10;
Standard_DZ_SY = 0x10;
Linjat në A10_calibration.txt në:
Standard_DZ_SX = 0x01;
Standard_DZ_SY = 0x01;
Kjo do të ndryshojë në zonën e vdekur në kontrollin e goditjes nga 10 në 1 dhe do të japë një kontroll shumë më të mirë. Mund të luani me këtë cilësim dhe pastaj të kalibroni dhe të shihni atë që ju pëlqen më shumë.
Recommended:
DIY AC/ DC Hack "Mod" RD6006 Furnizimi me energji & S06A Rasti W/ S-400-60 PSU Ndërtimi dhe përmirësimi i hyrjes DC: 9 hapa
DIY AC/ DC Hack "Mod" RD6006 Furnizimi me energji & S06A Rasti W/ S-400-60 PSU Ndërtimi dhe përmirësimi i hyrjes DC: Ky projekt është më shumë një RD6006 bazë i ndërtuar duke përdorur një kuti S06A dhe një furnizim me energji S-400-60 Me Por unë me të vërtetë dua të kem zgjedhjen e lidhjes së një baterie për transportueshmëri ose ndërprerje të energjisë. Kështu që unë gjithashtu hackova ose modifikova rastin për të pranuar DC në ose një bateri
Përmirësimi i baterisë Logitech G930: 5 hapa
Përmirësimi i baterisë Logitech G930: Udhëzues i shkurtër për përmirësimin e baterisë së kufjeve logitech G930 pa tela
Përmirësimi i Racing Drone: 10 hapa
Racing Drone Upgrade: Ky është procesi im hap pas hapi se si përmirësova një dron garash
Përmirësimi i RAM -it tuaj: 4 hapa
Përmirësimi i RAM -it tuaj: Mendoni për kompjuterin tuaj si një person që punon në një tavolinë pune. Ka pjesën e sipërme të tavolinës ku po punohet, sirtarë për të mbajtur gjërat për të punuar dhe një person i ulur atje duke bërë punën. Po sikur ky person të donte të punonte në detyra më të mëdha ose të bënte shumëfishim
Thrustmaster Warthog Joystick Addon: 5 hapa (me fotografi)
Thrustmaster Warthog Joystick Addon: përshëndetje ju lutemi tregohuni të butë me mua .. ky është udhëzimi im i parë. Më duheshin disa butona dhe akse të tjera në " warthog " levë, për të luajtur elitë të rrezikshme. nuk është kënaqësi të shkëmbejmë midis levës dhe tastierës me një " çarje " tek ti ai