Sisällysluettelo:

Maailman halvin I2C (I-Squared-C) -sovitin: 5 vaihetta (kuvilla)
Maailman halvin I2C (I-Squared-C) -sovitin: 5 vaihetta (kuvilla)

Video: Maailman halvin I2C (I-Squared-C) -sovitin: 5 vaihetta (kuvilla)

Video: Maailman halvin I2C (I-Squared-C) -sovitin: 5 vaihetta (kuvilla)
Video: Maailman Halvin Perämoottori Hissi! Toimiiko? 2024, Heinäkuu
Anonim
Maailman halvin I2C (I-Squared-C) -sovitin
Maailman halvin I2C (I-Squared-C) -sovitin

Tee anturiliitäntä tietokoneellesi alle dollarin! Päivitys 6.9.2008: Tutkittuani useita keinoja olen tullut siihen tulokseen, että tämän tekniikan toteuttamiseen Microsoft Windowsissa ei ole käytännöllistä tapaa. Tämä ei ole pikkuruinen käyttöjärjestelmä, olen todella katkaissut mutterin yrittämisen! Anteeksi! I2C-ominaisuuksia tarvitsevat Windows-käyttäjät palvelevat parhaiten olemassa olevia USB-pohjaisia ratkaisuja. Katso lähdekoodin mukana toimitetusta README.txt-tiedostosta ohjeet kääntämiseen ja käyttöönottoon Linuxissa. I2C (lyhenne sanoista Inter-Integrated Circuit) on kaksijohtiminen sarjaväylä, jota tyypillisesti käytetään tietokoneissa sisäisen komponentin välisen matalan tason viestintään. I2C on suosittu myös robotiikassa. Kaikenlaisia antureita ja toimilaitteita on saatavana I2C-yhteensopivassa muodossa: ultraääni-etäisyysmittarit, kiihtyvyys-, kallistus-, lämpötila- ja paineanturit, servo-ohjaimet ja väylälaajennukset, jotka tarjoavat ylimääräisiä yleiskäyttöisiä (GPIO) linjoja., Microchip PIC jne.) Tukevat I2C: tä suoraan sisään. Mutta mikrokontrollereilla käytettävissä oleva prosessointiteho on rajallinen, ja ohjelmistojen kehittäminen - erikoistuneilla ristikääntäjillä ja ohjelmointiympäristöillä - voi joskus olla työlästä. Kun kannettavat tietokoneet ja yksilevyiset tietokoneet ovat yhä pienempiä ja edullisempia, on yhä yleisempi nähdä näitä järjestelmiä käytettävän suoraan robotiikka- ja elektroniikkahankkeissa. Tämä tarjoaa runsaasti voimaa uusille ominaisuuksille, kuten näkökäsittelylle ja kehittyneemmälle tekoälylle, ja laajentaa huomattavasti käytettävissä olevien kehitystyökalujen ja -kielten valikoimaa… mutta se tuo myös esiin uuden ongelman: näiden "tavallisten" järjestelmien liittäminen oheislaitteisiin tapahtuu yleensä valtavirran kautta kuluttajatason portit, kuten USB; ei ole ulkoisesti saatavilla olevaa "I2C-porttia", johon voimme vain käyttää antureidemme hyödyntämiseksi … vai onko olemassa?

Vaihe 1: Olemassa olevat vaihtoehdot

Olemassa olevat vaihtoehdot
Olemassa olevat vaihtoehdot
Olemassa olevat vaihtoehdot
Olemassa olevat vaihtoehdot

Yksi tapa yhdistää I2C-laitteet tavalliseen pöytä- tai kannettavaan tietokoneeseen on USB-I2C-sovittimen kautta. Siellä on ainakin kymmenkunta tällaista vaihtoehtoa, jotka vaihtelevat tee-se-itse-sarjoista, joissa on avoimen lähdekoodin ohjelmistoja, ja kehittyneisiin kaupallisiin yksiköihin, joissa on joka kello.

Yksi USB-I2C-lähestymistavan haittapuoli on hinta. Monipuolinen kaupallinen malli voi maksaa 250 dollaria tai enemmän. Jopa "ilmaiset" homebrew -vaihtoehdot edellyttävät osien kokoelmaa ja ennakkoinvestointia mikro -ohjaimeen ja siihen liittyvää tietoa sen hyödyntämiseksi. Toinen haittapuoli on kuljettajan tuen suhteellinen niukkuus suositun Windows -kansion ulkopuolella. Harvat näistä laitteista toimivat luonnollisesti Macintosh- tai Linux -tietokoneissa.

Vaihe 2: DDC on I2C

DDC on I2C
DDC on I2C
DDC on I2C
DDC on I2C
DDC on I2C
DDC on I2C

Kun sanoin johdannossa, että useimmissa tietokoneissa ei ole ulkoista I2C -porttia, valehtelin. Osoittautuu, että on, ja se on ollut siellä koko ajan lähes vuosikymmenen ajan, enimmäkseen istuen lepotilassa.

Useimmat nykyaikaiset näytönohjaimet ja näytöt tukevat Display Data Channel (DDC) -nimistä tiedonsiirtolinkkiä videokaapelin sisällä, jonka avulla tietokone ja näyttö voivat neuvotella keskenään yhteensopivista resoluutioista ja sallivat näytön toimintojen ohjelmiston hallinnan normaalisti käyttämällä näytön fyysisiä painikkeita näyttö. DDC on itse asiassa vain I2C -väylän toteutus, jossa on muutamia vakiintuneita sääntöjä. Napauttamalla tätä tietokoneen ja näytön välistä yhteyttä (tai käyttämällä DDC -linjoja käyttämättömässä ylimääräisessä videoportissa, kuten kannettavan tietokoneen ulkoisessa näyttöliitännässä), voit liittyä joihinkin I2C -laitteisiin käytännössä ilman kustannuksia, ohittamalla tavallista tarvetta sovitinlaitteelle kokonaan. Tarvitsemme fyysisesti pääsyn tähän I2C-väylään vain murtautuneen videokaapelin…

Vaihe 3: Irrota kaapeli

Kaapelin katkaiseminen
Kaapelin katkaiseminen
Kaapelin katkaiseminen
Kaapelin katkaiseminen

I2C -liittymäämme varten tarvitaan neljä johtoa: +5 V: n virta, maadoitus, sarjatiedot ja sarjakello. Eri tyyppisten videoporttien pinoutit löytyvät Wikipediasta tai Pinouts.ru -sivustosta. Muista, jos käytät VGA -kaapelia löytääksesi kaikki nastat; Joissakin on vain osajoukko. Leikkaamalla eristys ja suojaus kaapelin ulkopuolelta löydät todennäköisesti kaksi johtoryhmää. Paksemmat johdot tai lisäsuojaukseen kääritty johtojen niput kantavat yleensä videosignaalin. Emme ole kiinnostuneita näistä ja ne voidaan leikata takaisin. Ohuemmat, suojaamattomat johdot kuljettavat yleensä muun muassa DDC (I2C) -signaaleja. Yleismittari tai jatkuvuustesteri voi auttaa löytämään oikeat neljä johtoa kaapelillesi. Paljaan liittimen käyttö voi olla edullista, koska sinun tarvitsee vain juottaa neljä johtoa kiinnostaviin nastoihin. Huomautus +5 V: n tehosta: käytettävissä oleva virta on hyvin rajallinen noin 50 mA DDC -määrityksen mukaan. Useimmat I2C-laitteet kuluttavat vain vähän virtaa, joten niiden pitäisi olla mahdollisia käyttää useita kerralla… mutta jos käytetään useampaa kuin yhtä tai kahta LEDiä (tai muita suhteellisen suurivirtalaitteita), ulkoista virtaa tulisi tarjota.

Vaihe 4: Valmis sovitin

Valmis sovitin
Valmis sovitin

Tässä valmis adapteri. Siinä kaikki! Tein omani erityisen tylsäksi, jotta se mahtuisi helposti kannettavan tietokoneen laukkuun, ja lisäsin nelinapaisen pistokkeen, joka kytkeytyy suoraan I2C-servo-ohjaimeen.

Vaihe 5: Ohjelmistot ja projektit

Ohjelmistot ja projektit
Ohjelmistot ja projektit
Ohjelmistot ja projektit
Ohjelmistot ja projektit

Mac OS X- ja Linux -lähdekoodit sovittimen kanssa työskentelyyn voidaan ladata verkkosivustoltani (latauslinkki on sivun alareunassa). Se on kirjoitettu C -kielellä ja sinun on asennettava gcc (Linux sisältää yleensä tämän oletusarvoisesti, kun taas Mac -käyttäjien on asennettava kehittäjätyökalut, jotka ovat valinnainen asennusohjelma alkuperäiselle käyttöjärjestelmälevyllesi tai ladattavissa ilmaiseksi Applelta). Mukana on esimerkkikoodi lämpötila -anturin lukemiseen, BlinkM -älykkään LED -valon vilkkumiseen, sarja -EEPROM -muistin kirjoittamiseen ja tarkistamiseen, Nintento Wii Nunchuk -ohjaimen lukemiseen (vain Linux) ja kommunikointiin servo -ohjainkortin kanssa. Valitettavasti tämä sovitinjärjestelmä ei ole yhteensopiva kaikkien järjestelmien kanssa. DDC -tuki ei ole pakollinen, joten kaikki näytönohjaimet eivät tue tätä ominaisuutta. Minulla on toistaiseksi ollut onnea Mac-järjestelmissä, joissa on ATI- tai Intel-grafiikkapiirejä, mutta NVIDIA-pohjaiset järjestelmät ovat epäonnisia. Linux -puolella olen onnistuneesti testannut vain IBM ThinkPad A31p (ATI -grafiikka), mutta se ei toimi Asus EeePC: n (Intel) kanssa. Tietokone lukee jatkuvasti ympäristön lämpötilaa I2C -lämpötila -anturista, kirjaa nämä tiedot määräajoin I2C -sarjan EEPROM -sirulle (kyllä, se voi vain tulostaa tiedostoon, mutta tämä osoitti edelleen I2C -sovelluksia) ja sitten servon (läpi I2C -ohjain) toimii väliaikaisena merkkivalona. Näiden laitteiden kirjasto ja näytekoodi olivat jo valmiina, ja esityksen kokoaminen kesti vain muutaman minuutin (ja suurin osa siitä tehtiin osoitinvalitsimessa).

Suositeltava: