Satura rādītājs:

Pasaulē lētākais I2C (I-Squared-C) adapteris: 5 soļi (ar attēliem)
Pasaulē lētākais I2C (I-Squared-C) adapteris: 5 soļi (ar attēliem)

Video: Pasaulē lētākais I2C (I-Squared-C) adapteris: 5 soļi (ar attēliem)

Video: Pasaulē lētākais I2C (I-Squared-C) adapteris: 5 soļi (ar attēliem)
Video: #8 Как управлять ПЛК ESP8266 из любой точки мира | УдаленныйXY | ОП320 ЧМИ 2024, Novembris
Anonim
Pasaulē lētākais I2C (I-Squared-C) adapteris
Pasaulē lētākais I2C (I-Squared-C) adapteris

Izveidojiet datora sensora saskarni par zemu cenu! Atjauninājums 6/9/08: Pēc vairāku iespēju izpētes esmu secinājis, ka nav praktiskas metodes šīs metodes ieviešanai Microsoft Windows. Tas nav sīks OS bashing, es esmu tiešām busted riekstu mēģina! Atvainojiet! Windows lietotājiem, kuriem nepieciešamas I2C iespējas, vislabāk kalpo esošie uz USB balstītie risinājumi. Norādījumus par apkopošanu un iestatīšanu operētājsistēmā Linux skatiet avota kodā iekļautajā failā README.txt. I2C (saīsinājums no integrētās shēmas) ir divu vadu seriālā kopne, ko parasti izmanto datoros zema līmeņa saziņai starp iekšējām sastāvdaļām. I2C ir populārs arī robotikā. Visa veida sensori un izpildmehānismi ir pieejami ar I2C saderīgā formā: ultraskaņas attāluma mērītāji, paātrinājuma, slīpuma, temperatūras un spiediena sensori, servo kontrolieri un kopņu paplašinātāji, kas nodrošina papildu vispārējas nozīmes (GPIO) līnijas. Lielākā daļa moderno mikrokontrolleru (Atmel, Microchip PIC uc) ir iebūvēts I2C atbalsts. Bet mikrokontrolleru apstrādes jauda ir ierobežota, un programmatūras izstrāde - izmantojot specializētus kompilētājus un programmēšanas vidi - dažkārt var būt sīks darbs. Tā kā klēpjdatori un vienas plates datori kļūst arvien mazāki un pieejamāki, arvien biežāk šīs sistēmas tiek izmantotas tieši robotikas un elektronikas projektos. Tas nodrošina plašu jaudu jaunām iespējām, piemēram, redzes apstrādei un sarežģītākam AI, un ievērojami paplašina pieejamo izstrādes rīku un valodu klāstu… bet rada arī jaunu problēmu: šo “parasto” sistēmu saskarne ar perifērijas ierīcēm parasti tiek veikta, izmantojot vispārējo patērētāju porti, piemēram, USB; nav ārēji pieejama "I2C porta", ko mēs varam izmantot, lai izmantotu savus sensorus … vai arī tur ir?

1. darbība. Esošās opcijas

Esošās iespējas
Esošās iespējas
Esošās iespējas
Esošās iespējas

Viens veids, kā savienot I2C ierīces ar parastu galddatoru vai klēpjdatoru, ir USB-I2C adapteris. Ir vismaz ducis šādu iespēju, sākot no komplekta “dari pats” ar atvērtā pirmkoda programmatūru un beidzot ar sarežģītām komerciālām vienībām ar katru zvanu un svilpi.

Viens no USB-I2C pieejas mīnusiem ir izmaksas. Pilnībā pieejams komerciāls modelis var maksāt 250 USD vai vairāk. Pat “bezmaksas” homebrew alternatīvas paredz daļu kolekciju un iepriekšēju ieguldījumu mikrokontrollera programmētājā un ar to saistītās zināšanas, lai to izmantotu. Vēl viens trūkums ir relatīvais vadītāju atbalsta trūkums ārpus populārās Windows reizes. Dažas no šīm ierīcēm sākotnēji darbojas Macintosh vai Linux datoros.

2. darbība: DDC ir I2C

DDC ir I2C
DDC ir I2C
DDC ir I2C
DDC ir I2C
DDC ir I2C
DDC ir I2C

Kad ievadā teicu, ka lielākajā daļā datoru nav ārēja I2C porta, es meloju. Izrādās, ka ir, un tas tur ir bijis jau gandrīz desmit gadus, galvenokārt sēžot neaktīvā stāvoklī.

Lielākajai daļai mūsdienu grafisko karšu un monitoru tiek atbalstīts displeja datu kanāls (Display Data Channel, DDC) - saites saite video kabelī, kas ļauj datoram un displejam vienoties par savstarpēji saderīgām izšķirtspējām un ļauj kontrolēt programmatūras monitoru funkcijas, kurām parasti piekļūst ar fiziskām pogām ekrānā. displejs. DDC patiesībā ir vienkārši I2C kopnes ieviešana ar dažiem noteiktiem noteikumiem. Pieskaroties šim savienojumam starp datoru un monitoru (vai izmantojot DDC līnijas rezerves neizmantotā video pieslēgvietā, piemēram, klēpjdatora ārējā monitora savienojumu), praktiski bez izdevumiem var saskarties ar dažām I2C ierīcēm, apejot parasti ir nepieciešama adaptera ierīce. Viss, kas mums nepieciešams, lai fiziski piekļūtu šai I2C kopnei, ir uzlauzts video kabelis…

3. darbība: kabeļa atdalīšana

Kabeļa atdalīšana
Kabeļa atdalīšana
Kabeļa atdalīšana
Kabeļa atdalīšana

Mūsu I2C interfeisam ir nepieciešami četri vadi: +5 V jauda, zemējums, sērijas dati un sērijas pulkstenis. Dažādu veidu video portu pinouts var atrast vietnē Wikipedia vai Pinouts.ru. Atcerieties, ja izmantojat VGA kabeli, lai atrastu tādu, kas pilnībā aprīkots ar tapām; daži ietver tikai apakškopu. Samazinot izolāciju un ekranējumu no kabeļa ārpuses, jūs, iespējams, atradīsit divas vadu grupas. Biezāki vadi vai vadu kūļi, kas ietīti papildu ekranēšanā, parasti pārraida video signālu. Mūs tas neinteresē, un tos var apgriezt. Plānāki, neaizsargāti vadi parasti pārnēsā DDC (I2C) signālus. Multimetrs vai nepārtrauktības testeris var palīdzēt atrast pareizos četrus kabeļa vadus. Šeit var būt izdevīgi izmantot tukšu savienotāju, jo jums vienkārši jāpielodē četri vadi pie interesējošām tapām. Piezīme par +5V jaudu: pieejamā strāva ir ļoti ierobežota; aptuveni 50 mA saskaņā ar DDC specifikāciju. Lielākā daļa I2C ierīču patērē tikai nelielu strāvas daudzumu, tāpēc vajadzētu būt iespējai darbināt vairākas vienlaikus … bet, ja tiek izmantotas vairāk nekā viena vai divas gaismas diodes (vai citas salīdzinoši lielas strāvas ierīces), ir jānodrošina ārēja barošana.

4. darbība: pabeigtais adapteris

Pabeigts adapteris
Pabeigts adapteris

Šeit ir gatavs adapteris. Tas arī viss! Es padarīju mīnu par īpaši blāvu, lai to varētu viegli ievietot klēpjdatora somā, un pievienoju četru kontaktu kontaktdakšu, kas tieši savienojas ar man pieejamo I2C servo kontrolieri.

5. solis: programmatūra un projekti

Programmatūra un projekti
Programmatūra un projekti
Programmatūra un projekti
Programmatūra un projekti

Mac OS X un Linux avota kodu darbam ar adapteri var lejupielādēt no manas vietnes (lejupielādes saite ir lapas apakšdaļā). Tas ir rakstīts C valodā, un jums ir jāinstalē gcc (Linux parasti to iekļauj pēc noklusējuma, savukārt Mac lietotājiem būs jāinstalē izstrādātāja rīki, kas ir izvēles instalētājs jūsu sākotnējā OS diskā vai lejupielādējami bez maksas no Apple). Ir iekļauts piemēra kods temperatūras sensora nolasīšanai, BlinkM "viedās gaismas diodes" mirgošanai, sērijas EEPROM rakstīšanai un pārbaudei, Nintento Wii Nunchuk kontroliera lasīšanai (tikai Linux) un saziņai ar servo kontrollera paneli. Diemžēl šī adaptera shēma nav savietojams ar visām sistēmām. Atbalsts DDC nav obligāts, tāpēc ne visas videokartes atbalsta šo iespēju. Man līdz šim ir paveicies ar Mac sistēmām, kurās ir ATI vai Intel grafikas mikroshēmas, bet uz NVIDIA balstītām sistēmām nav paveicies. No Linux puses esmu veiksmīgi testējis tikai IBM ThinkPad A31p (ATI grafika), bet tas nedarbotos ar Asus EeePC (Intel). Šeit redzamajos attēlos redzama testa iekārta, kas demonstrē dažādas I2C ierīces darbībā. Dators nepārtraukti nolasa apkārtējās vides temperatūru no I2C temperatūras sensora, periodiski reģistrē šos datus I2C sērijas EEPROM mikroshēmā (jā, to varēja vienkārši izdrukāt failā, bet tas vēl vairāk parādīja I2C lietojumprogrammas), un pēc tam servo (caur I2C kontrolieris) kalpo kā pagaidu indikatora ciparnīca. Tā kā šo ierīču bibliotēka un parauga kods jau bija ieviests, šīs demonstrācijas apkopošana aizņēma tikai dažas minūtes (un lielākā daļa no tā bija indikatora ciparnīcas izveide).

Ieteicams: