Përmbajtje:

Përshtatësi më i lirë në botë I2C (I-Squared-C): 5 hapa (me fotografi)
Përshtatësi më i lirë në botë I2C (I-Squared-C): 5 hapa (me fotografi)

Video: Përshtatësi më i lirë në botë I2C (I-Squared-C): 5 hapa (me fotografi)

Video: Përshtatësi më i lirë në botë I2C (I-Squared-C): 5 hapa (me fotografi)
Video: MJC Stream: Видишь енота? А он есть! Главное об ML и компьютерном зрении 2024, Nëntor
Anonim
Përshtatësi më i lirë në botë I2C (I-Squared-C)
Përshtatësi më i lirë në botë I2C (I-Squared-C)

Krijoni një ndërfaqe sensori për kompjuterin tuaj për më pak para! Përditësimi 6/9/08: Pas eksplorimit të disa rrugëve kam arritur në përfundimin se nuk ka asnjë mënyrë praktike për të zbatuar këtë teknikë në Microsoft Windows. Kjo nuk është një goditje e vogël e sistemit operativ, me të vërtetë kam shkatërruar një arrë duke u përpjekur! Me falni! Përdoruesit e Windows që kanë nevojë për aftësi I2C shërbehen më së miri nga zgjidhjet ekzistuese të bazuara në USB. Përditësimi 5/24/08: addedshtë shtuar mbështetja Linux, si dhe kodi shembull për kontrolluesin Nintendo Wii Nunchuk dhe "LED të zgjuar" BlinkM. Shihni skedarin README.txt të përfshirë me kodin burimor për udhëzimet në përpilimin dhe konfigurimin në Linux. I2C (shkurtuar për Qarkun e Integruar) është një autobus serial me dy tela që zakonisht përdoret në kompjuterë për komunikim të nivelit të ulët midis përbërësve të brendshëm. I2C është gjithashtu popullor në robotikë. Të gjitha llojet e sensorëve dhe aktivizuesve janë të disponueshëm në një formë të pajtueshme me I2C: matës me rreze tejzanor, sensorë për nxitim, pjerrësi, temperaturë dhe presion, kontrollues servo dhe zgjerues të autobusëve që ofrojnë linja shtesë të përdorimit të përgjithshëm (GPIO). Shumica e mikrokontrolluesve modernë (Atmel, Microchip PIC, etj.) Kanë mbështetje për I2C të ndërtuar menjëherë. Por fuqia përpunuese e disponueshme në mikrokontrolluesit është e kufizuar, dhe zhvillimi i softuerit - me përpilues të specializuar dhe mjedise programimi - ndonjëherë mund të jetë një punë e përditshme. Me laptopët dhe kompjuterët me një bord duke u bërë gjithnjë e më të vegjël dhe më të përballueshëm, është gjithnjë e më e zakonshme të shihen këto sisteme të përdorura drejtpërdrejt në projektet robotike dhe elektronike. Kjo siguron fuqi të madhe për aftësitë e reja të tilla si përpunimi i vizionit dhe AI më i sofistikuar, dhe zgjeron shumë fushën e mjeteve dhe gjuhëve të zhvillimit në dispozicion … por gjithashtu paraqet një problem të ri: ndërlidhja e këtyre sistemeve "të rregullta" me pajisjet periferike zakonisht bëhet përmes rrjedhës së përgjithshme porte të shkallës së konsumit si USB; nuk ka asnjë "port I2C" të disponueshëm nga jashtë, ku mund të prekim për të përdorur sensorët tanë … apo është atje?

Hapi 1: Opsionet ekzistuese

Opsionet Ekzistuese
Opsionet Ekzistuese
Opsionet Ekzistuese
Opsionet Ekzistuese

Një mënyrë për të lidhur pajisjet I2C me një kompjuter të zakonshëm desktop ose laptop është përmes një përshtatës USB-to-I2C. Ekzistojnë të paktën një duzinë opsionesh të tilla atje, duke filluar nga komplete të bëra vetë me softuer me burim të hapur, deri në njësi të sofistikuara tregtare me çdo zile dhe bilbil.

Një anë negative e qasjes USB-to-I2C është kostoja. Një model komercial me karakteristika të plota mund të kushtojë 250 dollarë ose më shumë. Edhe alternativat "falas" të krijuesit të shtëpisë supozojnë një koleksion pjesësh dhe një investim paraprak në një programues mikrokontrollues dhe njohuritë përkatëse për ta përdorur atë. Një tjetër disavantazh është mungesa relative e mbështetjes së shoferit jashtë palosjes popullore të Windows. Disa nga këto pajisje funksionojnë në kompjuterët Macintosh ose Linux.

Hapi 2: DDC Ishtë I2C

DDC është I2C
DDC është I2C
DDC është I2C
DDC është I2C
DDC është I2C
DDC është I2C

Kur thashë në hyrje se nuk ka asnjë port të jashtëm I2C në shumicën e kompjuterëve, unë gënjeva. Rezulton se ka, dhe ka qenë atje për gati një dekadë tani, kryesisht ulur në gjumë.

Shumica e kartave grafike dhe monitorëve modernë kanë mbështetje për diçka të quajtur Display Data Channel (DDC), një lidhje komunikimi brenda një kablloje video që lejon kompjuterin dhe ekranin të negociojë rezolucione të pajtueshme reciprokisht dhe të lejojë kontrollin e softuerit të funksioneve të monitorit të aksesuara normalisht me butona fizikë në shfaqje. DDC është, në fakt, thjesht një zbatim i një autobusi I2C me disa rregulla të vendosura. Duke përdorur këtë lidhje midis kompjuterit dhe monitorit (ose duke përdorur linjat DDC në një port video të papërdorur video, siç është lidhja e monitorit të jashtëm në një kompjuter portativ), mund të ndërhyni me disa pajisje I2C praktikisht pa asnjë shpenzim, duke anashkaluar nevoja e zakonshme për një pajisje përshtatëse plotësisht. E tëra çfarë na duhet për të hyrë fizikisht në këtë autobus I2C është një kabllo video e hakuar …

Hapi 3: Prerja e kabllit

Prerja e kabllit
Prerja e kabllit
Prerja e kabllit
Prerja e kabllit

Katër tela nevojiten për ndërfaqen tonë I2C: fuqia +5V, toka, të dhënat serike dhe ora serike. Pinouts për llojet e ndryshme të porteve video mund të gjenden në Wikipedia ose Pinouts.ru. Mos harroni nëse përdorni një kabllo VGA për të gjetur një me komplementin e plotë të kunjave; disa përfshijnë vetëm një nënbashkësi. Prerja e izolimit dhe mbrojtja nga jashtë kabllit, ka të ngjarë të gjeni dy grupe telash brenda. Telat më të trashë, ose tufa telash të mbështjellë me mbrojtje shtesë, zakonisht mbajnë sinjalin video. Ne nuk jemi të interesuar për këto dhe ato mund të shkurtohen përsëri. Telat më të hollë, të pambrojtur zakonisht mbajnë sinjale DDC (I2C) ndër të tjera. Një testues multimetri ose vazhdimësie mund të ndihmojë në gjetjen e katër telave të duhur për kabllon tuaj. Përdorimi i një lidhësi të zhveshur mund të jetë i favorshëm këtu, pasi thjesht duhet të lidhni katër tela në kunjat e interesit. Një shënim mbi fuqinë +5V: rryma në dispozicion është shumë e kufizuar; rreth 50 mA sipas specifikimit DDC. Shumica e pajisjeve I2C pijnë vetëm një grimcë të vogël të rrymës, kështu që duhet të jetë e mundur të punoni disa në të njëjtën kohë … por nëse përdorni më shumë se një ose dy LED (ose pajisje të tjera relativisht me rrymë të lartë), duhet të sigurohet energji e jashtme.

Hapi 4: Përshtatësi i kompletuar

Përshtatësi i kompletuar
Përshtatësi i kompletuar

Këtu është përshtatësi i përfunduar. Kjo është gjithçka që ka për të! Unë e bëra min shumë të trashë, kështu që mund të futet lehtësisht në çantën e laptopit dhe shtova një prizë me katër kunja që lidhet drejtpërdrejt me një kontrollues servo I2C që kam.

Hapi 5: Softuer dhe Projekte

Softuer dhe Projekte
Softuer dhe Projekte
Softuer dhe Projekte
Softuer dhe Projekte

Kodi burimor Mac OS X dhe Linux për të punuar me përshtatësin mund të shkarkohet nga faqja ime e internetit (lidhja e shkarkimit është në fund të faqes). Writtenshtë shkruar në C, dhe do t'ju duhet të keni të instaluar gcc (Linux zakonisht e përfshin këtë si parazgjedhje, ndërsa përdoruesit e Mac do të duhet të instalojnë mjetet e zhvilluesit që janë një instalues opsional në diskun tuaj origjinal OS, ose të shkarkohen falas nga Apple). Shembulli i kodit përfshihet për leximin e një sensori të temperaturës, ndezjen e një "LED të zgjuar" BlinkM, shkrimin dhe verifikimin e një EEPROM serial, leximin e një kontrolluesi Nintento Wii Nunchuk (vetëm Linux) dhe komunikimin me një bord kontrollues servo. Për fat të keq kjo skemë e përshtatësit nuk është në përputhje me të gjitha sistemet. Mbështetja për DDC nuk është e detyruar, kështu që jo të gjitha kartat video e mbështesin këtë aftësi. Unë kam pasur fat të mirë deri më tani me sistemet Mac që kanë çipa grafikë ATI ose Intel, por sistemet e bazuara në NVIDIA nuk kanë fat. Nga ana Linux kam testuar me sukses vetëm një IBM ThinkPad A31p (grafika ATI), por nuk do të funksiononte me një Asus EeePC (Intel). Imazhet këtu tregojnë një pajisje testimi që demonstron pajisje të ndryshme I2C në veprim. Kompjuteri lexon vazhdimisht temperaturën e ambientit nga një sensor i temperaturës I2C, i regjistron periodikisht këto të dhëna në një çip serial I2C EEPROM (po, thjesht mund të printojë në një skedar, por kjo ishte për të demonstruar më tej aplikimet I2C), dhe më pas një servo (përmes një kontrollues I2C) shërben si një dial tregues i improvizuar. Me bibliotekën dhe kodin shembull për këto pajisje tashmë të vendosura, u deshën vetëm disa minuta për të bashkuar këtë demonstrim (dhe shumica e tyre ishte në bërjen e numrit të treguesit).

Recommended: