Sisukord:

Maailma odavaim I2C (I-Squared-C) adapter: 5 sammu (koos piltidega)
Maailma odavaim I2C (I-Squared-C) adapter: 5 sammu (koos piltidega)

Video: Maailma odavaim I2C (I-Squared-C) adapter: 5 sammu (koos piltidega)

Video: Maailma odavaim I2C (I-Squared-C) adapter: 5 sammu (koos piltidega)
Video: Maailma odavaim suitsuahi 2024, November
Anonim
Maailma odavaim I2C (I-Squared-C) adapter
Maailma odavaim I2C (I-Squared-C) adapter

Tehke oma arvuti jaoks anduriliides raha eest! Värskendus 6/9/08: Pärast mitmete võimaluste uurimist olen jõudnud järeldusele, et selle tehnika rakendamiseks Microsoft Windowsis pole praktilist viisi. See pole väike OS -i peksmine, ma olen tõesti proovinud pähklit! Vabandust! Windowsi kasutajaid, kes vajavad I2C-võimalusi, pakuvad kõige paremini olemasolevad USB-põhised lahendused. Värskendus 24.5.2008: Lisatud on Linuxi tugi, samuti Nintendo Wii Nunchuki kontrolleri ja BlinkM-i nutika LED-i näidiskood. Lugege Linuxi koostamise ja seadistamise juhiseid lähtekoodiga kaasasolevast failist README.txt. I2C (lühend integraallülitusest) on kahejuhtmeline jadasiin, mida tavaliselt kasutatakse arvutites sisekomponentide vaheliseks madalaks suhtluseks. I2C on populaarne ka robootikas. I2C-ga ühilduvas vormis on saadaval igasuguseid andureid ja täiturmehhanisme: ultraheli kaugusmõõturid, kiirendus-, kaldenurga-, temperatuuri- ja rõhuandurid, servokontrollerid ja siinilaiendid, mis pakuvad täiendavaid üldotstarbelisi (GPIO) liine. Enamik kaasaegseid mikrokontrollereid (Atmel, Microchip PIC jne) on I2C tugi otse sisse ehitatud. Kuid mikrokontrollerite töötlemisvõimsus on piiratud ja tarkvaraarendus - koos spetsiaalsete ristkompilaatorite ja programmeerimiskeskkondadega - võib mõnikord olla tüütu. Kuna sülearvutid ja ühe pardal olevad arvutid muutuvad üha väiksemaks ja taskukohasemaks, on üha sagedamini näha, et neid süsteeme kasutatakse otse robootika- ja elektroonikaprojektides. See annab piisavalt jõudu uutele võimalustele, nagu nägemise töötlemine ja keerukam tehisintellekt, ning laiendab oluliselt olemasolevate arendustööriistade ja keelte ulatust… kuid see kujutab endast ka uut probleemi: nende „tavaliste” süsteemide ühendamine välisseadmetega toimub tavaliselt tavavoolu kaudu tarbijakvaliteediga pordid, näiteks USB; pole väljastpoolt saadaolevat "I2C-porti", mida saaksime lihtsalt kasutada, et kasutada oma andureid … või on see olemas?

Samm: olemasolevad valikud

Olemasolevad valikud
Olemasolevad valikud
Olemasolevad valikud
Olemasolevad valikud

Üks viis I2C-seadmete ühendamiseks tavalise laua- või sülearvutiga on USB-I2C-adapter. Selliseid võimalusi on vähemalt kümmekond, alates avatud lähtekoodiga tarkvara isetegemise komplektidest kuni keerukate kommertsüksusteni iga kell.

Üks USB-I2C lähenemise negatiivne külg on hind. Täisfunktsionaalne kaubanduslik mudel võib maksta 250 dollarit või rohkem. Isegi "tasuta" kodus valmistatud alternatiivid eeldavad osade kogumit ja eelnevat investeeringut mikrokontrolleri programmeerimisse ja sellega seotud teadmisi selle kasutamiseks. Teine negatiivne külg on draiveritoe suhteline nappus väljaspool populaarset Windowsi voltimist. Vähesed neist seadmetest töötavad Macintoshi või Linuxi arvutites.

Samm: DDC on I2C

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

Kui sissejuhatuses ütlesin, et enamikul arvutitel pole välist I2C -porti, valetasin. Selgub, et on olemas ja see on seal olnud juba peaaegu kümme aastat, enamasti istudes.

Enamikul kaasaegsetel graafikakaartidel ja kuvaritel on toetus sellisele nimele Display Data Channel (DDC), mis on sidekaabel videokaablis, mis võimaldab arvutil ja kuvaril kokku leppida vastastikku ühilduvates resolutsioonides ja võimaldab tarkvara juhtida monitori funktsioone, millele tavaliselt pääseb juurde füüsiliste nuppudega kuvada. DDC on tegelikult lihtsalt I2C bussi teostus, millel on mõned kehtestatud reeglid. Puudutades seda ühendust arvuti ja monitori vahel (või kasutades DDC -liine kasutamata varu -videopordis, näiteks sülearvuti välise kuvariühendust), saab mõne I2C -seadmega praktiliselt ilma kuludeta liidestada. tavaline vajadus adapteri järele. Sellele I2C siinile füüsiliselt juurdepääsuks vajame ainult häkkinud videokaablit…

Samm: kaabli lahtivõtmine

Kaabli lahkamine
Kaabli lahkamine
Kaabli lahkamine
Kaabli lahkamine

Meie I2C liidese jaoks on vaja nelja juhtmest: +5 V toide, maandus, jadaandmed ja jadakell. Eri tüüpi videoportide nööpnõelad leiate Wikipediast või Pinouts.ru -st. Pidage meeles, kui kasutate VGA -kaablit, et leida tihvtide täielik komplekt; mõned sisaldavad ainult alamhulka. Kui eemaldate isolatsiooni ja varjestuse kaabli välisküljelt, leiate tõenäoliselt kaks juhtmete rühma. Paksemad juhtmed või täiendava varjestusega mähitud juhtmekimbud kannavad tavaliselt videosignaali. Meid ei huvita need ja neid saab tagasi lõigata. Õhemad varjestamata juhtmed kannavad tavaliselt teiste hulgas ka DDC (I2C) signaale. Multimeeter või järjepidevuse tester võib aidata teie kaabli jaoks õigeid nelja juhtmeid leida. Palja pistiku kasutamine võib siin olla kasulik, kuna peate lihtsalt jootma neli juhtmest huvipakkuvate tihvtide juurde. Märkus +5 V toite kohta: olemasolev vool on väga piiratud; umbes 50 mA vastavalt DDC spetsifikatsioonile. Enamik I2C-seadmeid tarbib vaid väikest voolu, nii et peaks olema võimalik töötada mitu korraga… kuid kui kasutate rohkem kui ühte või kahte LED-i (või muid suhteliselt suure voolutugevusega seadmeid), tuleks varustada välise toitega.

4. samm: valmis adapter

Valmis adapter
Valmis adapter

Siin on valmis adapter. See on kõik! Ma tegin oma kaevu eriti nutikaks, et see mahuks hõlpsasti sülearvuti kotti, ja lisasin nelja kontaktiga pistiku, mis ühendub otse minu käsutuses oleva I2C servokontrolleriga.

Samm: tarkvara ja projektid

Tarkvara ja projektid
Tarkvara ja projektid
Tarkvara ja projektid
Tarkvara ja projektid

Mac OS X ja Linuxi lähtekoodi adapteriga töötamiseks saab alla laadida minu veebisaidilt (allalaadimislink on lehe allosas). See on kirjutatud C -keeles ja teil peab olema installitud gcc (Linux sisaldab tavaliselt seda vaikimisi, samas kui Maci kasutajad peavad installima arendustööriistad, mis on teie algsel OS -plaadil valikuline installija või mida saab tasuta Apple'ilt alla laadida). Näidiskood on lisatud temperatuurianduri lugemiseks, BlinkM -i nutika LED -i vilkumiseks, jada EEPROM -i kirjutamiseks ja kontrollimiseks, Nintento Wii Nunchuki kontrolleri lugemiseks (ainult Linux) ja suhtlemiseks servokontrolleri plaadiga. Kahjuks ei ole see adapteriskeem ühildub kõigi süsteemidega. DDC tugi pole kohustuslik, seega ei toeta kõik videokaardid seda võimalust. Mul on seni vedanud Maci süsteemidega, millel on ATI või Inteli graafikakiibid, kuid NVIDIA-põhistel süsteemidel pole õnne. Linuxi poolel olen edukalt testinud ainult IBM ThinkPad A31p (ATI graafika), kuid see ei tööta Asus EeePC (Intel) puhul. Siinsed pildid näitavad testimisseadet, mis näitab erinevaid I2C -seadmeid. Arvuti loeb pidevalt ümbritseva õhu temperatuuri I2C temperatuuriandurilt, logib neid andmeid perioodiliselt I2C jada EEPROM -kiibile (jah, see võib lihtsalt faili printida, kuid see pidi I2C -rakendusi veelgi demonstreerima) ja seejärel servo (läbi I2C kontroller) on ajutine näidikuketas. Kuna nende seadmete raamatukogu ja näidiskood olid juba paigas, kulus selle demo kokkupanekuks vaid mõni minut (ja suurem osa sellest oli indikaatorvaliku tegemisel).

Soovitan: