INHOUDSOPGAWE:
- Stap 1: Bestaande sensorbesonderhede
- Stap 2: Pinout
- Stap 3: Protokolbeskrywing
- Stap 4: Arduino -kode
- Stap 5: Kalibrasie
Video: Thrustmaster Warthog Slew Sensor I2C -opgradering: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Dit is 'n rowwe gids oor hoe u koppel aan die I2C -protokol wat op die ThrustmasterWarthog -gassensorsensor gebruik word. Dit kan gebruik word om op te gradeer van die redelik nuttelose standaardbediener na iets beters, maar steeds met die standaard USB -beheerder in die versneller. Dit is gebaseer op 'n oorspronklike plasing op:
forums.eagle.ru/showthread.php?t=200198
'N Basiese begrip as die I2C -protokol vir die meeste van die volgende stappe aanvaar word, vir 'n uitstekende verduideliking, gaan na:
learn.sparkfun.com/tutorials/i2c
Vra my gerus vir enige spesifieke vrae, en ek sal in die toekoms probeer om dit met meer relevante inligting by te voeg. Dit is geensins volledig nie, maar behoort 'n goeie beginpunt te wees.
'N Demo -Arduino -kode word verskaf, maar neem dit slegs as 'n verwysing, aangesien 'n normale 5V Arduino nie sonder wysiging gebruik kan word nie.
Stap 1: Bestaande sensorbesonderhede
Die ministick -sensor wat saam met die Thrustmaster Wathog -gashendel kom, is bekend as een van die grootste swakpunte met 'n andersins uitstekende produk. Daar is deur die jare 'n aantal pogings deur mense om dit met iets beters te vervang, maar die meeste het die probleme ondervind om met die digitale I2C -protokol in verbinding te tree.
Die presiese sensor wat gebruik word in die vlakvark -gasklep is die N35P112 - EasyPoint, wat gebruik maak van die AS5013 saal -effek sensor IC wat deur AMS gemaak is.
Gegevensblad:
ams.com/eng/Products/Magnetic-Position-Sens…
Interessant genoeg was die eenheid eens beskikbaar as 'n uitbreekmodule deur Sparkfun:
www.sparkfun.com/products/retired/10835
Die sensor is bedoel vir navigasietoepassings in dinge soos selfone, en is uiters goedkoop. Na my mening onaanvaarbaar in iets wat byna $ 500 kos.
Stap 2: Pinout
Die sensor kan via die mikro -5 -aansluiting aan die PCB in die regter -gashendel gekoppel word.
Pinout is soos volg:
-
Vcc +3.3VDC (
Lokaal gereguleer vanaf 5V deur 'n lineêre reguleerder aan die ander kant van die bord, net agter die aansluiting, behoort ongeveer 20mA rondom te wees, maar ek het dit geensins getoets nie)
- I2C SDA
- I2C SCL
- GND
- Knoppie 1 (gewoonlik hoog, interne 5V pullup)
Stap 3: Protokolbeskrywing
Die sensor werk op I2C -adres 0x41 - alle skryf- of leesopdragte begin met hierdie adres.
As die gaskoppel aan die rekenaar gekoppel is, is daar 'n aanhef van ongeveer 250 ms op die I2C -bus om 0x40 aan te spreek; ek neem aan dat dit vir 'n ander sensorweergawe of iets soortgelyks is, maar dit is nie vir ons relevant nie.
Die gegewens wat tydens normale gebruik op die I2C -bus gestuur word, is hieronder; dit moet deur ons mikrobeheerder gesimuleer word om met die versneller te praat.
Opstelling - Hierdie data word een keer gestuur, ongeveer 500 ms nadat die USB gekoppel is, om die oorspronklike sensor in gebruik te stel.
Meester skryf: 0x0F (beheerregister 1)
Data: 0x02 0b0000 0010 (begin 'n sagte reset)
Meester skryf: 0x0F (beheerregister 1)
Master Read: 0xF1 0b1111 0001 (herstel na 11110000, lsb 1 dui aan dat geldige data gereed is om gelees te word. Ons moet hierdie opdrag korrek beantwoord om erken te word as 'n geldige slawe -toestel)
Meester skryf: 0x2E (beheerregister 2)
Data: 0x86 (dit stel net die oriëntasie van die magneet in die oorspronklike sensor in)
Meester skryf: 0x0F (beheerregister 1)
Data: 0x 80 0b1000 0000 (stel die toestel in die ledige modus (outomatiese meting, nie in lae -kragmodus))
Lus: Dit word ongeveer 100 Hz herhaal om sensordata te kry.
Meester skryf: 0x10 (X -register)
Master Read: (slaaf stuur X data, 2 se kompliment 8 bits waarde)
Meester skryf: 0x11 (Y -register)
Master Read: (slaaf stuur Y -data, 2 se aanvulling van 8 biswaarde)
Relevante deel van protokolstorting van logika -ontleder:
Opstel Skryf na [0x82] + ACK
0x0F + ACK
0x02 + ACK
Opstel Skryf na [0x82] + ACK
0x0F + ACK
Opstelling Lees na [0x83] + ACK
0xF1 + NAK
Opstel Skryf na [0x82] + ACK
0x2E + ACK
0x86 + ACK
Opstel Skryf na [0x82] + ACK
0x0F + ACK
0x80 + ACK
Opstel Skryf na [0x82] + ACK
0x10 + ACK
Opstelling Lees na [0x83] + ACK 0xFC + NAK
Opstel Skryf na [0x82] + ACK 0x11 + ACK
Opstelling Lees na [0x83] + ACK 0xFF + NAK
Stap 4: Arduino -kode
Die aangehegte Arduino -kode kan gebruik word om die sensor te simuleer.
Let wel: die meeste Arduino -borde werk met 5V, dit benodig 'n 3.3V -versoenbare of aangepaste bord om te werk om skade aan u joystick te voorkom.
Stap 5: Kalibrasie
Sodra u nuwe sensor aangebring is, moet die gas gekalibreer word.
Om u gashendel te kalibreer, gebruik u die gaskalibrasie -instrument. Dit kan afgelaai word uit 'n aantal bronne, soos:
forums.eagle.ru/showthread.php?t=65901
Moenie vensters kalibrasie gebruik nie.
Om die meeste uit die mod te haal, moet u 'n paar waardes in u kalibrasie -konfigurasielêer verander.
Verander die:
Standaard_DZ_SX = 0x10;
Standard_DZ_SY = 0x10;
Lyne in A10_calibration.txt na:
Standaard_DZ_SX = 0x01;
Standard_DZ_SY = 0x01;
Dit verander na dooie sone op die draaiknop van 10 na 1, en gee baie beter beheer. U kan met hierdie instelling speel en dan herkalibreer en sien wat u die meeste hou.
Aanbeveel:
Micro: bit MU Vision Sensor vir beginners - I2C en vormkaartherkenning: 8 stappe
Micro: bit MU Vision Sensor vir beginners - I2C en Shape Card Herkenning: Ek het 'n MU vision sensor in die hande gekry vir die Micro: bit. Dit blyk 'n oulike hulpmiddel te wees wat my in staat sal stel om baie verskillende visie -gebaseerde projekte te maak. Ongelukkig is daar nie so baie gidse daaroor nie, en hoewel die dokumentasie regtig is
I2C / IIC LCD -skerm - Gebruik 'n SPI LCD na die I2C LCD Display met behulp van SPI tot IIC module met Arduino: 5 stappe
I2C / IIC LCD -skerm | Gebruik 'n SPI LCD na die I2C LCD -skerm Met behulp van SPI na IIC -module met Arduino: Hallo ouens, aangesien 'n normale SPI LCD 1602 te veel drade het om aan te sluit, is dit baie moeilik om dit met arduino te koppel, maar daar is een module op die mark wat kan omskep SPI -skerm in IIC -skerm, sodat u slegs 4 drade moet aansluit
I2C / IIC LCD -skerm - Skakel 'n SPI LCD om na die I2C LCD Display: 5 stappe
I2C / IIC LCD -skerm | Skakel 'n SPI -LCD om na die I2C LCD -skerm: met behulp van spi -lcd -skerm is te veel verbindings nodig, wat baie moeilik is om te doen
Karakter LCD I2c -adapter (voorbeeld I2c -verbinding): 12 stappe (met foto's)
Karakter LCD I2c Adapter (I2c Connection Voorbeeld): Ek is besig met 'n verbindingskema vir 'n karakter display i2c adapter. Gaan die opdaterings op my webwerf na. Nou voeg ek olso 'n bedrading verbinding skema om oorspronklike biblioteek te gebruik nie my forked.LiquidCrystal Arduino biblioteek vir die karakter LCD -skerms, vurkprojekte
Thrustmaster Warthog Joystick Addon: 5 stappe (met foto's)
Thrustmaster Warthog Joystick Addon: hallo, wees asseblief sag teenoor my .. dit is my eerste instruksies. Ek het nog 'n paar knoppies en byle op my " vlakvark " nodig gehad joystick, vir die speel van elite gevaarlik. dit is nie lekker om tussen joystick en sleutelbord te wissel met 'n " skeur " op jou hy