Tartalomjegyzék:

A világ legolcsóbb I2C (I-Squared-C) adapter: 5 lépés (képekkel)
A világ legolcsóbb I2C (I-Squared-C) adapter: 5 lépés (képekkel)

Videó: A világ legolcsóbb I2C (I-Squared-C) adapter: 5 lépés (képekkel)

Videó: A világ legolcsóbb I2C (I-Squared-C) adapter: 5 lépés (képekkel)
Videó: DK-7 - Perifériák, háttértárak, kommunikációs eszközök 2024, Július
Anonim
A világ legolcsóbb I2C (I-Squared-C) adaptere
A világ legolcsóbb I2C (I-Squared-C) adaptere

Készíts egy érzékelő interfészt a számítógépedért egy dollárért! Frissítés: 2008.09.09.: Több lehetőség feltárása után arra a következtetésre jutottam, hogy nincs gyakorlati módja ennek a technikának a Microsoft Windows rendszerben történő megvalósításához. Ez nem aprócska operációs rendszer, csak egy diót próbáltam ki! Sajnálom! Az I2C képességeket igénylő Windows-felhasználók számára a legjobban a meglévő USB-alapú megoldások szolgálnak. Tekintse meg a forráskódhoz mellékelt README.txt fájlt a fordítással és a beállítással kapcsolatos utasításokért Linux alatt. Az IC (rövidítve: Inter-Integrated Circuit) kétvezetékes soros busz, amelyet általában a számítógépekben használnak a belső összetevők közötti alacsony szintű kommunikációhoz. Az I2C a robotikában is népszerű. Mindenféle érzékelő és működtető elérhető I2C-kompatibilis formában: ultrahangos távolságmérők, gyorsulás-, dőlés-, hőmérséklet- és nyomásérzékelők, szervovezérlők és buszbővítők, amelyek további általános célú (GPIO) vonalakat biztosítanak. A legtöbb modern mikrokontroller (Atmel), Microchip PIC, stb.) Az I2C támogatását közvetlenül beépítették. A mikrokontrollereken rendelkezésre álló feldolgozási teljesítmény azonban korlátozott, és a szoftverfejlesztés - speciális keresztfordítókkal és programozási környezetekkel - néha kényelmetlen feladat. Mivel a laptopok és az egylapos számítógépek egyre kisebbek és megfizethetőbbek, egyre gyakoribb, hogy ezeket a rendszereket közvetlenül használják a robotika és az elektronika területén. Ez elegendő erőt biztosít az új képességekhez, például a látásfeldolgozáshoz és a kifinomultabb AI -hez, és nagymértékben kiterjeszti a rendelkezésre álló fejlesztési eszközök és nyelvek körét… de egyben új problémát is jelent: ezeknek a „rendes” rendszereknek a csatlakoztatása a perifériákhoz általában a mainstreamen keresztül történik fogyasztói minőségű portok, például USB; nincs kívülről elérhető "I2C port", amelyhez csak hozzáérünk, hogy használhassuk érzékelőinket … vagy van?

1. lépés: Meglévő lehetőségek

Meglévő lehetőségek
Meglévő lehetőségek
Meglévő lehetőségek
Meglévő lehetőségek

Az I2C eszközök egy hagyományos asztali vagy laptop számítógéphez történő csatlakoztatásának egyik módja az USB-I2C adapter. Legalább egy tucat ilyen lehetőség létezik, kezdve a saját készítésű készletekkel, nyílt forráskódú szoftverrel, a kifinomult kereskedelmi egységekkel minden csengővel.

Az USB-I2C megközelítés egyik hátránya a költség. Egy teljes értékű kereskedelmi modell 250 dollárba vagy annál többe kerülhet. Még az "ingyenes" homebrew alternatívák is feltételezik az alkatrészek gyűjtését és a mikrokontroller programozóba történő előzetes befektetést, valamint a kapcsolódó ismeretek használatát. Egy másik hátránya a népszerű Windows hajtáson kívüli illesztőprogram -támogatás viszonylagos szűkössége. Kevés ilyen eszköz működik natívan Macintosh vagy Linux számítógépeken.

2. lépés: A DDC I2C

A DDC I2C
A DDC I2C
A DDC I2C
A DDC I2C
A DDC I2C
A DDC I2C

Amikor a bevezetőben azt mondtam, hogy a legtöbb számítógépen nincs külső I2C port, hazudtam. Kiderült, hogy van, és már közel egy évtizede ott van, többnyire szunnyadva ülve.

A legtöbb modern grafikus kártya és monitor támogatja az úgynevezett Display Data Channel (DDC) nevű kommunikációs kapcsolatot, amely lehetővé teszi, hogy a számítógép és a kijelző kölcsönösen kompatibilis felbontásokról egyeztessen, és lehetővé tegye a monitor funkcióinak szoftvervezérlését, amelyek általában fizikai gombokkal érhetők el. kijelző. A DDC valójában csak egy I2C busz megvalósítása, néhány szabály szerint. Ha megérinti ezt a kapcsolatot a számítógép és a monitor között (vagy kihasználja a DDC vonalakat egy tartalék nem használt videóporton, például a laptop külső monitorának csatlakozásán), akkor gyakorlatilag minden költség nélkül csatlakozhat egyes I2C eszközökhöz, megkerülve a általában szükség van egy adapter eszközre. Ehhez az I2C buszhoz fizikailag csak egy feltört videokábelre van szükségünk…

3. lépés: A kábel boncolása

A kábel boncolása
A kábel boncolása
A kábel boncolása
A kábel boncolása

Az I2C interfészhez négy vezeték szükséges: +5 V tápellátás, földelés, soros adat és soros óra. A különböző típusú videokikötőkhöz tartozó érintkezők megtalálhatók a Wikipedia vagy a Pinouts.ru webhelyen. Ne feledje, ha VGA -kábelt használ, hogy megtalálja azt, amely a teljes csapokat tartalmazza; néhány csak egy részhalmazot tartalmaz. Ha levágja a szigetelést és az árnyékolást a kábel kívülről, akkor valószínűleg két vezetékcsoportot talál. A vastagabb vezetékek vagy a további árnyékolásba burkolt huzalkötegek általában továbbítják a videó jelet. Nem vagyunk kíváncsiak ezekre, és visszavághatók. A vékonyabb, árnyékolatlan vezetékek általában a DDC (I2C) jeleket hordozzák. Egy multiméter vagy folytonossági tesztelő segít megtalálni a megfelelő négy vezetéket a kábelhez. A csupasz csatlakozó használata itt előnyös lehet, mivel csak négy vezetéket kell forrasztani az érdeklődő tűkhöz. Megjegyzés a +5 V -os teljesítményről: az elérhető áram nagyon korlátozott; körülbelül 50 mA a DDC specifikáció szerint. A legtöbb I2C eszköz csak egy csekély áramot szív fel, ezért lehetővé kell tenni több egyszerre történő működtetését… de ha egynél több LED-et (vagy más, viszonylag nagy áramerősségű eszközt) használ, külső áramellátást kell biztosítani.

4. lépés: A befejezett adapter

A befejezett adapter
A befejezett adapter

Itt a kész adapter. Ennyi az egész! Az enyémet extra makacsra tettem, hogy könnyen elférjen a laptop táskámban, és hozzáadtam egy négypólusú dugót, amely közvetlenül a meglévő I2C szervo vezérlőhöz csatlakozik.

5. lépés: Szoftverek és projektek

Szoftverek és projektek
Szoftverek és projektek
Szoftverek és projektek
Szoftverek és projektek

A Mac OS X és Linux forráskódja az adapterrel való munkához letölthető a webhelyemről (a letöltési link az oldal alján található). C betűvel van írva, és telepítenie kell a gcc -t (a Linux általában ezt tartalmazza alapértelmezés szerint, míg a Mac felhasználóknak telepíteniük kell azokat a fejlesztői eszközöket, amelyek opcionális telepítők az eredeti operációs rendszer lemezére, vagy ingyenesen letölthetők az Apple -ből). A példakód tartalmazza a hőmérséklet -érzékelő olvasását, a BlinkM "intelligens LED" villogását, a soros EEPROM írását és ellenőrzését, a Nintento Wii Nunchuk vezérlő beolvasását (csak Linux) és a szervo vezérlőpanellel való kommunikációt. Sajnos ez az adapter nem működik kompatibilis minden rendszerrel. A DDC támogatása nem kötelező, így nem minden videokártya támogatja ezt a lehetőséget. Eddig szerencsém volt olyan Mac rendszerekhez, amelyek ATI vagy Intel grafikus chipekkel rendelkeznek, de az NVIDIA-alapú rendszereknek nincs szerencséjük. Linux oldalon csak egy IBM ThinkPad A31p (ATI grafika) tesztelése volt sikeres, de Asus EeePC (Intel) esetén nem működne. Az itt látható képeken egy tesztberendezés látható, amely különböző I2C eszközöket mutat be működés közben. A számítógép folyamatosan leolvassa a környezeti hőmérsékletet egy I2C hőmérséklet -érzékelőből, rendszeresen naplózza ezeket az adatokat egy I2C soros EEPROM -chipre (igen, csak nyomtathat egy fájlba, de ez az I2C -alkalmazások további bemutatására szolgál), majd egy szervót (keresztül I2C vezérlő) rögtönzött kijelzőként szolgál. Mivel ezeknek az eszközöknek a könyvtára és a mintakódja már megvan, csak néhány percet vett igénybe a bemutató összeállítása (és ennek nagy része az indikátor tárcsázásában volt).

Ajánlott: