
Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:09

To je grob vodnik o tem, kako povezati vmesnik s protokolom I2C, ki se uporablja na senzorju zavrtlja dušilke ThrustmasterWarthog. To lahko uporabimo za nadgradnjo s precej neuporabnega standardnega ministrica na nekaj boljšega, vendar še vedno s standardnim krmilnikom USB v enoti za plin. To temelji na izvirni objavi:
forums.eagle.ru/showthread.php?t=200198
Osnovno razumevanje, če za večino naslednjih korakov predpostavljate protokol I2C, za odlično razlago pojdite na:
learn.sparkfun.com/tutorials/i2c
Če imate kakršna koli konkretna vprašanja, me vprašajte, jaz pa bom v prihodnje poskušal dodati to nerešljivo z ustreznejšimi informacijami. To nikakor ni popolno, vendar bi moralo biti dobro izhodišče.
Na voljo je nekaj demo kode Arduino, vendar to upoštevajte le kot referenco, saj običajnega 5V Arduina ni mogoče uporabiti brez sprememb.
1. korak: Podrobnosti obstoječega senzorja

Senzor ministric, ki prihaja z dušilko Thrustmaster Wathog, je dobro znan kot ena največjih slabosti sicer odličnega izdelka. Ljudje so že vrsto let poskušali to zamenjati z nečim boljšim, vendar se je večina soočila s težavami pri povezovanju z digitalnim protokolom I2C, ki ga uporablja.
Natančen senzor, ki se uporablja pri dušilki za plin Warthog, je N35P112 - EasyPoint, ki uporablja senzor IC Hall Hall, ki ga proizvaja AMS.
Podatkovni list:
ams.com/eng/Products/Magnetic-Position-Sens…
Zanimivo je, da je bila enota nekoč na voljo kot odklopni modul podjetja Sparkfun:
www.sparkfun.com/products/retired/10835
Senzor je namenjen navigacijskim aplikacijam v stvareh, kot so mobilni telefoni, in je izredno poceni. Po mojem mnenju nesprejemljivo za nekaj, kar stane skoraj 500 USD.
2. korak: Pinout

Senzor se poveže s tiskanim vezjem v desni enoti za plin prek mikro 5 -polnega priključka.
Pinout je naslednji:
-
Vcc +3,3 V DC (
Lokalno regulirano od 5V z linearnim regulatorjem na drugi strani plošče, tik za priključkom, bi moralo biti dobro okoli 20 mA, vendar tega nikakor nisem preizkusil)
- I2C SDA
- I2C SCL
- GND
- Gumb 1 (običajno visok, notranji dvig 5 V)
3. korak: Opis protokola

Senzor je deloval na naslovu I2C 0x41 - vsi ukazi za pisanje ali branje se začnejo s tem naslovom.
Ko je ročica za plin priključena na računalnik, je na vodilu I2C preambula približno 250 ms za naslov 0x40, predvidevam, da je to za drugo različico senzorja ali kaj podobnega, vendar za nas ni pomembno.
Podatki, poslani na vodilo I2C pri normalni uporabi, so spodaj, to mora naš mikrokrmilnik simulirati, da se pogovarja z dušilko.
Nastavitev - ti podatki se pošljejo enkrat, približno 500 ms po priključitvi USB -ja, da se prvotni senzor nastavi za uporabo.
Glavni zapis: 0x0F (kontrolni register 1)
Podatki: 0x02 0b0000 0010 (sproži mehko ponastavitev)
Glavni zapis: 0x0F (kontrolni register 1)
Glavno branje: 0xF1 0b1111 0001 (ponastavljeno na 11110000, lsb 1 pomeni, da so veljavni podatki pripravljeni za branje. Na ta ukaz moramo pravilno odgovoriti, da ga prepoznamo kot veljavno pomožno napravo)
Glavni zapis: 0x2E (kontrolni register 2)
Podatki: 0x 86 (to samo nastavi orientacijo magneta v izvirnem senzorju)
Glavni zapis: 0x0F (kontrolni register 1)
Podatki: 0x 80 0b1000 0000 (nastavi napravo v stanje mirovanja (samodejno merjenje, ne v načinu nizke porabe energije))
Zanka: To se ponovi pri približno 100 Hz, da dobite podatke senzorja.
Glavni zapis: 0x10 (X register)
Glavno branje: (pomožni pošlje X podatke, 2 -komplementna 8 -bitna vrednost)
Glavni zapis: 0x11 (Y register)
Glavno branje: (podrejeni pošilja podatke Y, 2 -komplementarna 8 -bitna vrednost)
Ustrezni del izpisa protokola iz logičnega analizatorja:
Nastavitev Zapišite v [0x82] + ACK
0x0F + ACK
0x02 + ACK
Nastavitev Zapišite v [0x82] + ACK
0x0F + ACK
Nastavitev Preberite na [0x83] + ACK
0xF1 + NAK
Nastavitev Zapišite v [0x82] + ACK
0x2E + ACK
0x86 + ACK
Nastavitev Zapišite v [0x82] + ACK
0x0F + ACK
0x80 + ACK
Nastavitev Zapišite v [0x82] + ACK
0x10 + ACK
Nastavitev Preberite na [0x83] + ACK 0xFC + NAK
Nastavitev Zapišite v [0x82] + ACK 0x11 + ACK
Nastavitev Preberite na [0x83] + ACK 0xFF + NAK
4. korak: Arduino koda

Priloženo kodo Arduino lahko uporabite za simulacijo senzorja.
Prosimo, upoštevajte: Večina plošč Arduino deluje s 5 V, za delovanje pa potrebuje 3,3 V združljivo ali spremenjeno ploščo, da se izognete poškodbam igralne palice.
5. korak: Umerjanje

Ko bo vaš novi senzor nameščen, bo treba dušilko umeriti.
Za umerjanje dušilke uporabite orodje za umerjanje dušilke. To lahko prenesete iz številnih virov, kot so:
forums.eagle.ru/showthread.php?t=65901
Ne uporabljajte umerjanja oken.
Če želite kar najbolje izkoristiti mod, morate v konfiguracijski datoteki za umerjanje spremeniti nekaj vrednosti.
Spremenite:
Standard_DZ_SX = 0x10;
Standard_DZ_SY = 0x10;
Črte v formatu A10_calibration.txt na:
Standard_DZ_SX = 0x01;
Standard_DZ_SY = 0x01;
To se bo spremenilo v mrtvo cono na krmilnem mehanizmu z 10 na 1 in dalo veliko boljši nadzor. S to nastavitvijo se lahko igrate, nato pa ponovno umerite in vidite, kaj vam je najbolj všeč.
Priporočena:
Gasilni aparat senzorja temperature in vlažnosti senzorja (Arduino UNO): 11 korakov

Samodejni gasilni aparat s senzorjem temperature in vlažnosti (Arduino UNO): Ta projekt je bil namenjen vsem v domovih ali podjetjih kot senzor temperature in vlažnosti, prikazan na LCD -prikazovalniku, ter senzor plamena, povezan z zvočnikom in vodno črpalko za gašenje. požar v nujnih primerih
Thrustmaster Warthog Joystick Addon: 5 korakov (s slikami)

Thrustmaster Warthog Joystick Addon: Pozdravljeni, prosim, bodite nežni do mene .. to je moj prvi pouk. Potreboval sem še nekaj gumbov in osi na mojem " warthog " igralno palico, ker je igranje elite nevarno. ni zabavno zamenjati igralne palice in tipkovnice z " razpoko " na tvojem on
Kdo je pri mojih vratih? Projekt PIR senzorja gibanja/senzorja dosega: 5 korakov

Kdo je pri mojih vratih? Projekt senzorja gibanja PIR/senzorja dosega: Naš projekt je namenjen zaznavanju gibanja prek PIR in senzorjev razdalje. Koda Arduino bo oddajala vizualni in zvočni signal, ki bo uporabniku povedal, da je nekdo v bližini. Koda MATLAB bo poslala e -poštni signal, ki bo uporabnika opozoril, da je nekdo v bližini. Ta naprava
Metode odkrivanja nivoja vode Arduino z uporabo ultrazvočnega senzorja in senzorja vode Funduino: 4 koraki

Metode odkrivanja nivoja vode Arduino z uporabo ultrazvočnega senzorja in senzorja vode Funduino: V tem projektu vam bom pokazal, kako z dvema metodama ustvarite poceni detektor vode: 1. Ultrazvočni senzor (HC-SR04) .2. Senzor vode Funduino
Zgradite zasuk za daljinski upravljalnik: 7 korakov (s slikami)

Zgradite zaskočni ključ za daljinski upravljalnik: ta navodila vam bodo pokazala, kako sestaviti ključavnico na daljavo iz katerega koli števila 110V solenoidov, trdnega jeklenega moznika, različnih možnosti in koncev ter daljinskega upravljalnika naprave X10. To sem zgradil za svoja garažna vrata za manj kot 30,00 USD,