
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:42

Tämä on karkea opas siitä, miten liittää ThrustmasterWarthog -kaasuvivun anturin I2C -protokollaan. Tätä voidaan käyttää päivittämään melko hyödyttömästä vakiomallista paremmaksi, mutta silti käyttämällä kaasun vakiomallista USB -ohjainta. Tämä perustuu alkuperäiseen viestiin:
forums.eagle.ru/showthread.php?t=200198
Perustiedot, jos oletetaan I2C -protokolla useimpiin seuraaviin vaiheisiin, saat erinomaisen selityksen osoitteesta:
learn.sparkfun.com/tutorials/i2c
Jos sinulla on erityiskysymyksiä, kysy rohkeasti minulta, ja yritän tulevaisuudessa lisätä tähän vaikeaseen asiaan liittyvää tietoa. Tämä ei suinkaan ole täydellinen, mutta sen pitäisi olla hyvä lähtökohta.
Jotkut Arduino -demokoodit ovat saatavilla, mutta ota tämä vain viitteenä, koska tavallista 5 V: n Arduinoa ei voi käyttää ilman muutoksia.
Vaihe 1: Olemassa olevat anturin tiedot

Thrustmaster Wathog -kaasun mukana toimitettu ministerick -kääntöanturi on tunnetusti yksi suurimmista heikkouksista muuten erinomaisella tuotteella. Ihmiset ovat vuosien mittaan yrittäneet korvata sen jollakin paremmalla, mutta useimmat ovat joutuneet kohtaamaan vaikeudet, jotka liittyvät sen käyttämään digitaaliseen I2C -protokollaan.
Warthog -kaasun tarkka anturi on N35P112 - EasyPoint, joka käyttää AMS: n valmistamaa hallitehosteanturia AS5013.
Tuotesivu:
ams.com/eng/Products/Magnetic-Position-Sens…
Mielenkiintoista on, että yksikkö oli kerran saatavana Sparkfunin purkausmoduulina:
www.sparkfun.com/products/retired/10835
Anturi on tarkoitettu navigointisovelluksiin, kuten matkapuhelimiin, ja se on erittäin halpa. Mielestäni ei voida hyväksyä sellaisessa, joka maksaa lähes 500 dollaria.
Vaihe 2: Pinout

Anturi kytkeytyy oikeanpuoleisen kaasuläpän piirilevyyn micro 5 -nastaisen liittimen kautta.
Pinout on seuraava:
-
Vcc +3.3VDC (
Paikallisesti säädetty 5 V: sta lineaarisella säätimellä levyn toisella puolella, juuri liittimen takana, pitäisi olla hyvä noin 20 mA: iin, mutta en ole mitenkään testannut tätä)
- I2C SDA
- I2C SCL
- GND
- Painike 1 (normaalisti korkea, sisäinen 5 V: n vetäminen)
Vaihe 3: Protokollan kuvaus

Anturi toimi I2C -osoitteella 0x41 - kaikki kirjoitus- tai lukukomennot alkavat tästä osoitteesta.
Kun kaasuvipu kytketään tietokoneeseen, I2C -väylällä on noin 250 ms: n johdanto -osoite osoitteeseen 0x40, oletan, että tämä koskee eri anturiversiota tai jotain vastaavaa, mutta se ei ole meille merkityksellistä.
Normaalikäytössä I2C -väylältä lähetetyt tiedot ovat alla, mikrokontrollerimme on simuloitava tämä, jotta voimme puhua kaasulle.
Asetukset - Nämä tiedot lähetetään kerran, noin 500 ms USB -liitännän jälkeen, jotta alkuperäinen anturi saadaan käyttöön.
Pääkirjoitus: 0x0F (ohjausrekisteri 1)
Tiedot: 0x02 0b0000 0010 (käynnistää pehmeän nollauksen)
Pääkirjoitus: 0x0F (ohjausrekisteri 1)
Päälukema: 0xF1 0b1111 0001 (palautuu arvoon 11110000, lsb 1 tarkoittaa, että kelvolliset tiedot ovat valmiita luettavaksi. Meidän on vastattava tähän komentoon oikein, jotta voimme tunnistaa kelvollisen orjalaitteen)
Pääkirjoitus: 0x2E (ohjausrekisteri 2)
Tiedot: 0x 86 (tämä vain asettaa magneetin suunnan alkuperäisessä anturissa)
Pääkirjoitus: 0x0F (ohjausrekisteri 1)
Tiedot: 0x 80 0b1000 0000 (Asettaa laitteen valmiustilaan (automaattinen mittaus, ei virransäästötilassa))
Silmukka: Tämä toistetaan noin 100 Hz: n taajuudella anturitietojen saamiseksi.
Pääkirjoitus: 0x10 (X -rekisteri)
Master Read: (orja lähettää X -dataa, 2: n komplementin 8 -bittinen arvo)
Pääkirjoitus: 0x11 (Y -rekisteri)
Master Read: (orja lähettää Y -dataa, 2: n komplementin 8 -bittinen arvo)
Asiaan liittyvä osa protokollavedosta logiikka -analysaattorista:
Asetus Kirjoita [0x82] + ACK
0x0F + ACK
0x02 + ACK
Asetus Kirjoita [0x82] + ACK
0x0F + ACK
Asetukset Lue [0x83] + ACK
0xF1 + NAK
Asetus Kirjoita [0x82] + ACK
0x2E + ACK
0x86 + ACK
Asetus Kirjoita [0x82] + ACK
0x0F + ACK
0x80 + ACK
Asetus Kirjoita [0x82] + ACK
0x10 + ACK
Asennus Lue [0x83] + ACK 0xFC + NAK
Asennus Kirjoita [0x82] + ACK 0x11 + ACK
Asetus Lue [0x83] + ACK 0xFF + NAK
Vaihe 4: Arduino -koodi

Liitettyä Arduino -koodia voidaan käyttää anturin simulointiin.
Huomaa: Useimmat Arduino -levyt toimivat 5 V: lla, tämä vaatii 3,3 V: n yhteensopivan tai muokatun levyn toimimaan, jotta vältytään ohjaussauvan vahingoittumiselta.
Vaihe 5: Kalibrointi

Kun uusi anturi on asennettu, kaasu on kalibroitava.
Kaasun kalibroimiseksi käytä kaasun kalibrointityökalua. Tämän voi ladata useista lähteistä, kuten:
forums.eagle.ru/showthread.php?t=65901
Älä käytä ikkunoiden kalibrointia.
Jotta saat kaiken irti modista, sinun on muutettava muutamia kalibrointitiedostojen arvoja.
Muuta:
Vakio_DZ_SX = 0x10;
Vakio_DZ_SY = 0x10;
Rivit A10_calibration.txt -tiedostossa:
Vakio_DZ_SX = 0x01;
Vakio_DZ_SY = 0x01;
Tämä muuttuu kääntöohjaimen kuolleelle alueelle 10: stä 1: een ja antaa paljon paremman hallinnan. Voit pelata tällä asetuksella ja kalibroida sen jälkeen uudelleen ja katsoa mistä pidät eniten.
Suositeltava:
Micro: bit MU Vision Sensor aloittelijoille - I2C ja Shape Card Recognition: 8 vaihetta

Micro: bit MU Vision Sensor aloittelijoille - I2C ja Shape Card Recognition: Olen saanut käsiini MU -visioanturin Micro: bitille. Se näyttää olevan hieno työkalu, jonka avulla voin tehdä paljon erilaisia visioon perustuvia projekteja. Valitettavasti siihen ei näytä olevan paljon oppaita, ja vaikka dokumentaatio on todella
I2C / IIC LCD -näyttö - Käytä SPI -nestekidenäyttöä I2C -nestekidenäyttöön SPI -IIC -moduulin käyttäminen Arduinon kanssa: 5 vaihetta

I2C / IIC LCD -näyttö | Käytä SPI LCD -näyttöä I2C LCD -näyttöön SPI to IIC -moduulin käyttäminen Arduinon kanssa: Hei kaverit, koska normaalissa SPI LCD 1602 -laitteessa on liikaa johtoja liitettäväksi, joten sen yhdistäminen arduinoon on erittäin vaikeaa, mutta markkinoilla on yksi moduuli, joka voi muuntaa SPI -näytön IIC -näyttöksi, joten sinun on liitettävä vain 4 johtoa
I2C / IIC LCD -näyttö - Muunna SPI -nestekidenäyttö I2C -nestekidenäytöksi: 5 vaihetta

I2C / IIC LCD -näyttö | Muunna SPI -nestekidenäyttö I2C -nestekidenäytöksi: spi lcd -näytön käyttäminen vaatii liikaa yhteyksiä, mikä on todella vaikeaa, joten löysin moduulin, joka voi muuntaa i2c LCD: n spi lcd: ksi, joten aloitetaan
Merkkinäytön I2c -sovitin (esimerkki I2c -liitäntä): 12 vaihetta (kuvien kanssa)

Merkkien nestekidenäyttöinen I2c -sovitin (esimerkki I2c -yhteydestä): Teen yhteysmallia merkkinäytön i2c -sovittimelle. Tarkista sivustoni päivitykset. merkkien LCD -näytöille, haarukkaprojekteille
Thrustmaster Warthog -ohjaussauvan lisäosa: 5 vaihetta (kuvilla)

Thrustmaster Warthog Joystick Addon: hei, ole lempeä minulle .. tämä on ensimmäinen ohjeeni. Tarvitsin muutamia muita painikkeita ja kirveitä " warthog " joystick, eliitin vaarallisen pelaamiseen. ei ole hauskaa vaihtaa ohjaussauvan ja näppäimistön välillä "riftillä" sinun päälläsi