Агуулгын хүснэгт:

Дэлхийн хамгийн хямд I2C (I-Squared-C) адаптер: 5 алхам (зурагтай)
Дэлхийн хамгийн хямд I2C (I-Squared-C) адаптер: 5 алхам (зурагтай)

Видео: Дэлхийн хамгийн хямд I2C (I-Squared-C) адаптер: 5 алхам (зурагтай)

Видео: Дэлхийн хамгийн хямд I2C (I-Squared-C) адаптер: 5 алхам (зурагтай)
Видео: Аялахад хамгийн хямд 5 орон 2024, Арваннэгдүгээр
Anonim
Дэлхийн хамгийн хямд I2C (I-Squared-C) адаптер
Дэлхийн хамгийн хямд I2C (I-Squared-C) адаптер

Компьютерийнхээ мэдрэгчийн интерфэйсийг бага үнээр хий! 6/9/08 шинэчлэлт: Хэд хэдэн арга замыг судалсны дараа энэ техникийг Microsoft Windows дээр хэрэгжүүлэх практик арга байхгүй гэж би дүгнэсэн. Энэ бол жижиг OS bashing биш, би үнэхээр самар оролдож үзлээ! Уучлаарай! I2C чадвартай Windows хэрэглэгчдэд USB дээр суурилсан шийдлүүд хамгийн сайн үйлчилдэг. 5/24/08 шинэчлэх: Линукс дэмжлэг, Nintendo Wii Nunchuk хянагч болон BlinkM "ухаалаг LED" -ийн дээжийн кодыг нэмж оруулсан болно. Linux дээр эмхэтгэх, тохируулах зааварчилгааны эх кодыг агуулсан README.txt файлыг үзнэ үү. I2C (Интертеграл схемийн товчлол) нь хоёр бүрэлдэхүүн цуваа автобус бөгөөд ихэвчлэн дотоод бүрэлдэхүүн хэсгүүдийн хооронд доод түвшний холболт хийхэд зориулагдсан байдаг. I2C нь робот техникт бас алдартай. Бүх төрлийн мэдрэгч, идэвхжүүлэгчийг I2C-тэй нийцтэй хэлбэрээр авах боломжтой: хэт авианы хэмжигч, хурдатгал, хазайлт, температур ба даралтын мэдрэгч, серво хянагч, нэмэлт зориулалтын шугам (GPIO) өгдөг автобусны өргөтгөл. Орчин үеийн ихэнх микроконтроллер (Atmel), Microchip PIC гэх мэт) нь I2C -ийг шууд суурилуулсан дэмжлэгтэй байдаг. Гэхдээ микроконтроллер дээр ажиллах хүчин чадал хязгаарлагдмал бөгөөд тусгай хөндлөн хөрвүүлэгч, програмчлалын орчин бүхий програм хангамж хөгжүүлэх нь заримдаа хэцүү байдаг. Зөөврийн компьютер, нэг самбар бүхий компьютерууд улам бүр жижиг болж, боломжийн үнэтэй болж байгаа тул эдгээр системийг робот техник, электроникийн төсөлд шууд ашигладаг болсон нь улам бүр түгээмэл болж байна. Энэ нь алсын хараа боловсруулах, илүү боловсронгуй хиймэл оюун ухаан гэх мэт шинэ чадавхид хангалттай хүч өгдөг бөгөөд энэ нь боломжтой хөгжүүлэлтийн хэрэгслүүд болон хэлний хүрээг ихээхэн өргөжүүлдэг … гэхдээ бас шинэ асуудлыг авчирдаг: эдгээр "ердийн" системийг захын төхөөрөмжүүдтэй холбох нь ихэвчлэн үндсэн сүлжээгээр хийгддэг. USB зэрэг хэрэглэгчийн зэрэглэлийн портууд; Бидний мэдрэгчийг ашиглахын тулд гаднаас авах боломжтой "I2C порт" байхгүй байна уу?

Алхам 1: Одоо байгаа сонголтууд

Одоо байгаа сонголтууд
Одоо байгаа сонголтууд
Одоо байгаа сонголтууд
Одоо байгаа сонголтууд

I2C төхөөрөмжийг энгийн ширээний эсвэл зөөврийн компьютерт холбох нэг арга бол USB-I2C адаптер юм. Нээлттэй эхийн програм хангамж бүхий өөрөө хийх иж бүрдэл, хонх, шүгэл бүхий арилжааны нарийн төвөгтэй нэгжүүдээс авахуулаад дор хаяж арваад ийм сонголт байдаг.

USB-I2C хандлагын нэг сул тал бол зардал юм. Бүрэн онцлогтой арилжааны загвар нь 250 доллар ба түүнээс дээш үнэтэй байж болно. Гэрийн "үнэгүй" хувилбарууд ч гэсэн эд ангиудын цуглуулга, микроконтроллер програмистын өмнө оруулсан хөрөнгө оруулалт, үүнийг ашиглахын тулд холбогдох мэдлэгтэй болно. Өөр нэг сул тал бол алдартай Windows -ийн гадна талд жолоочийн дэмжлэг харьцангуй хомс байдаг. Эдгээр төхөөрөмжүүдийн цөөн хэсэг нь эх орондоо Macintosh эсвэл Linux компьютер дээр ажилладаг.

Алхам 2: DDC бол I2C юм

DDC бол I2C юм
DDC бол I2C юм
DDC бол I2C юм
DDC бол I2C юм
DDC бол I2C юм
DDC бол I2C юм

Ихэнх компьютер дээр гадаад I2C порт байдаггүй гэж би танилцуулгадаа хэлэхэд би худлаа хэлсэн. Тэнд байдаг бөгөөд бараг арав гаруй жилийн турш тэнд байсан бөгөөд ихэнхдээ унтаж байв.

Орчин үеийн ихэнх график картууд болон дэлгэцүүд нь видео кабель доторх холболтын холбоос болох Display Data Channel (DDC) гэсэн дэмжлэгтэй байдаг бөгөөд энэ нь компьютер болон дэлгэц нь хоорондоо нийцтэй нарийвчлалтай тохиролцож, дэлгэцийн функцийг програм хангамжийн удирдлагад хяналт тавих боломжийг олгодог. дэлгэц. DDC нь үнэндээ хэд хэдэн тогтсон дүрмүүдтэй I2C автобусны хэрэгжилт юм. Компьютер, монитор хоёрын хоорондох холболтыг ашигласнаар (эсвэл зөөврийн компьютер дээрх гадаад дэлгэцийн холболт гэх мэт ашиглагдаагүй видео порт дээрх DDC шугамыг ашигласнаар) зарим I2C төхөөрөмжтэй бараг ямар ч зардалгүйгээр интерфэйс хийх боломжтой болно. адаптер төхөөрөмжийн ердийн хэрэгцээ. Энэхүү I2C автобусанд биетэй хандахын тулд бидэнд хэрэгтэй зүйл бол хакердсан видео кабель юм …

Алхам 3: Кабелийг салгах

Кабелийг задлах
Кабелийг задлах
Кабелийг задлах
Кабелийг задлах

Манай I2C интерфэйсэд 4 утас хэрэгтэй: +5V хүч, газардуулга, цуваа өгөгдөл, цуваа цаг. Төрөл бүрийн видео портуудын холболтыг Wikipedia эсвэл Pinouts.ru дээрээс олж болно. VGA кабель ашиглан бүхэл бүтэн тээглүүр бүхий кабелийг хайж олохыг санаарай. Кабелийн гадна талаас тусгаарлагч болон хамгаалалтыг буцааж хайвал дотор нь хоёр бүлэг утас олох магадлалтай. Зузаан утас, эсвэл нэмэлт хамгаалалтанд ороосон утаснууд нь ихэвчлэн видео дохиог дамжуулдаг. Бид эдгээрийг сонирхдоггүй бөгөөд тэдгээрийг буцааж авах боломжтой. Нимгэн, хамгаалалтгүй утаснууд нь ихэвчлэн DDC (I2C) дохиог дамжуулдаг. Мультиметр эсвэл тасралтгүй байдлыг шалгах төхөөрөмж нь кабелийнхаа зөв дөрвөн утсыг олоход тусална. Нүцгэн холбогчийг ашиглах нь энд ашигтай байх болно, учир нь та дөрвөн утсыг сонирхлын зүүгээр гагнах хэрэгтэй. +5V хүчдэлийн талаархи тэмдэглэл: боломжтой гүйдэл маш хязгаарлагдмал; DDC -ийн тодорхойлолтын дагуу ойролцоогоор 50 мА байна. Ихэнх I2C төхөөрөмжүүд бага зэрэг гүйдэл шингээдэг тул хэд хэдэн удаа ажиллуулах боломжтой байх ёстой, гэхдээ хэрэв та нэгээс хоёр LED (эсвэл харьцангуй өндөр гүйдэлтэй бусад төхөөрөмж) ашигладаг бол гадны хүчээр хангах ёстой.

Алхам 4: Дууссан адаптер

Дууссан адаптер
Дууссан адаптер

Энд бэлэн адаптер байна. Энэ бол энэ бүх зүйл юм! Би зөөврийн компьютерын цүнхэнд амархан багтахын тулд би илүү их хийцтэй болгож, өөрт байгаа I2C servo хянагчтай шууд холбогддог дөрвөн зүү залгуурыг нэмсэн.

Алхам 5: Програм хангамж ба төсөл

Програм хангамж ба төсөл
Програм хангамж ба төсөл
Програм хангамж ба төсөл
Програм хангамж ба төсөл

Mac OS X болон Линукс адаптертай ажиллах эх кодыг миний вэбсайтаас татаж авах боломжтой (татаж авах линк хуудасны доод талд байна). Энэ нь C хэл дээр бичигдсэн бөгөөд та gcc -ийг суулгасан байх шаардлагатай (Линукс нь ихэвчлэн үүнийг анхдагч байдлаар агуулдаг бол Mac хэрэглэгчид таны анхны OS диск дээр нэмэлт суулгагч болох хөгжүүлэгчийн хэрэгслийг суулгах эсвэл Apple -ээс үнэгүй татаж авах шаардлагатай болно). Температур мэдрэгчийг унших, BlinkM "ухаалаг LED" -ийг асаах, цуврал EEPROM бичих, шалгах, Nintento Wii Nunchuk хянагчийг унших (зөвхөн Линукс) болон servo хянагчийн самбартай харилцах жишээ кодыг оруулсан болно. бүх системд нийцдэг. DDC -ийг дэмжих үүрэг хүлээгээгүй тул бүх видео картууд энэ чадварыг дэмждэггүй. ATI эсвэл Intel график чиптэй Mac системүүдийн хувьд би одоогоор азтай байсан ч NVIDIA дээр суурилсан системүүд азгүй байна. Линукс тал дээр би IBM ThinkPad A31p (ATI график) -ийг амжилттай туршсан боловч энэ нь Asus EeePC (Intel) -тэй ажиллахгүй байна. Энд байгаа зургууд нь I2C төхөөрөмжүүдийг ажиллуулж байгааг харуулсан туршилтын төхөөрөмж юм. Компьютер орчны температурыг I2C температур мэдрэгчээс тасралтгүй уншиж, энэ өгөгдлийг үе үе IEC серийн EEPROM чипт бүртгэдэг (тийм ээ, энэ нь зүгээр л файлд хэвлэх боломжтой байсан, гэхдээ энэ нь I2C програмыг цаашид харуулах ёстой байсан), дараа нь servo (дамжуулан I2C хянагч) нь түр зуурын индикаторын үүргийг гүйцэтгэдэг. Эдгээр төхөөрөмжүүдийн номын сан болон дээжийн кодыг аль хэдийн бэлэн болгосноор энэхүү демог нэгтгэхэд хэдхэн минут л шаардагджээ (мөн ихэнх нь заагч залгахад байсан).

Зөвлөмж болгож буй: