Mündəricat:

Dünyanın Ən Ucuz I2C (I-Kare-C) Adaptörü: 5 Adım (Şəkillərlə)
Dünyanın Ən Ucuz I2C (I-Kare-C) Adaptörü: 5 Adım (Şəkillərlə)

Video: Dünyanın Ən Ucuz I2C (I-Kare-C) Adaptörü: 5 Adım (Şəkillərlə)

Video: Dünyanın Ən Ucuz I2C (I-Kare-C) Adaptörü: 5 Adım (Şəkillərlə)
Video: Bütün ailə üçün şorba! RASSOLNIK KAZANDA! NECƏ BİŞİRMƏK 2024, Iyul
Anonim
Dünyanın Ən Ucuz I2C (I-Squared-C) Adaptoru
Dünyanın Ən Ucuz I2C (I-Squared-C) Adaptoru

Kompüteriniz üçün bir az pul üçün bir sensor interfeysi hazırlayın! 6/9/08 yeniləmə: Bir neçə yolu araşdırdıqdan sonra, Microsoft Windows -da bu texnikanı tətbiq etməyin praktiki bir yolu olmadığı qənaətinə gəldim. Bu kiçik OS bashing deyil, həqiqətən bir qoz sınayaraq sındırdım! Bağışlayın! I2C qabiliyyətinə ehtiyacı olan Windows istifadəçilərinə ən yaxşı şəkildə mövcud USB əsaslı həllər xidmət göstərir. 24/05/08 yeniləyin: Linux dəstəyi, Nintendo Wii Nunchuk nəzarətçi və BlinkM "ağıllı LED" üçün nümunə kodu əlavə edildi. Linux-da tərtib və quraşdırma təlimatları üçün mənbə koduna daxil olan README.txt faylına baxın. İ2C (İnteqrasiya edilmiş Dövrə üçün qısadır) ümumiyyətlə daxili komponentlər arasında aşağı səviyyəli ünsiyyət üçün kompüterlərdə istifadə olunan iki telli serial avtobusdur. I2C robot texnikasında da məşhurdur. Hər növ sensorlar və aktuatorlar I2C uyğun formada mövcuddur: ultrasəs məsafə ölçənlər, sürətlənmə, əyilmə, temperatur və təzyiq üçün sensorlar, servo nəzarətçiləri və əlavə ümumi təyinatlı (GPIO) xətləri təmin edən avtobus genişləndiriciləri., Microchip PIC, və s.) I2C -nin birbaşa quruluşunu dəstəkləyir. Amma mikrokontrolörlərdə mövcud olan emal gücü məhduddur və xüsusi çapraz tərtibçilər və proqramlaşdırma mühitləri ilə proqram inkişaf etdirmək bəzən çətin ola bilər. Noutbuklar və tək taxtalı kompüterlər getdikcə kiçildikcə və daha əlverişli hala gəldikdə, bu sistemlərin birbaşa robototexnika və elektronika layihələrində istifadə edildiyini görmək getdikcə daha çox yayılır. Bu, görmə emalı və daha mürəkkəb AI kimi yeni qabiliyyətlər üçün kifayət qədər güc verir və mövcud inkişaf vasitələrinin və dillərin əhatəsini xeyli genişləndirir … eyni zamanda yeni bir problem də ortaya qoyur: bu "nizamlı" sistemlərin ətraf qurğularla əlaqələndirilməsi adətən ümumi cərəyan vasitəsilə həyata keçirilir. USB kimi istehlakçı dərəcəli portlar; Sensorlarımızdan istifadə etmək üçün daxil edə biləcəyimiz xaricdən mövcud "I2C portu" yoxdur … yoxsa var?

Addım 1: Mövcud Seçimlər

Mövcud Seçimlər
Mövcud Seçimlər
Mövcud Seçimlər
Mövcud Seçimlər

I2C cihazlarını adi bir masaüstü və ya dizüstü kompüterə bağlamağın bir yolu USB-I2C adapteridir. Açıq mənbə proqramlı do-it-yourself dəstlərindən tutmuş, hər zəng və fit ilə inkişaf etmiş kommersiya bölmələrinə qədər ən azı onlarla belə variant var.

USB-I2C yanaşmasının bir mənfi tərəfi qiymətdir. Tam xüsusiyyətli bir kommersiya modelinin qiyməti 250 dollar və ya daha çox ola bilər. Hətta "pulsuz" homebrew alternativləri, bir hissə toplusu və bir mikro nəzarətçi proqramçısına əvvəlcədən investisiya qoymağı və bundan istifadə etmək üçün əlaqədar bilikləri ehtiva edir. Başqa bir dezavantaj, populyar Windows qatından kənarda sürücü dəstəyinin nisbi qıtlığıdır. Bu cihazlardan bir neçəsi yerli olaraq Macintosh və ya Linux kompüterlərində işləyir.

Addım 2: DDC I2C -dir

DDC I2C -dir
DDC I2C -dir
DDC I2C -dir
DDC I2C -dir
DDC I2C -dir
DDC I2C -dir

Girişdə əksər kompüterlərdə xarici I2C portu olmadığını söyləyəndə yalan danışdım. Orada olduğu ortaya çıxdı və təxminən on ildir ki, orada yatır.

Əksər müasir qrafik kartları və monitorlar, kompüterin və ekranın qarşılıqlı uyğun qətnamələr üzərində danışıqlar aparmasına və normal olaraq fiziki düymələrlə istifadə edilən monitor funksiyalarının proqram nəzarətinə icazə verməsinə imkan verən bir video kabeli içərisində olan Əlaqə Məlumat Kanalı (DDC) adlı bir şeyi dəstəkləyir. göstərmək. DDC, əslində, bir neçə qurulmuş qaydaları olan bir I2C avtobusunun tətbiqidir. Kompüterlə monitor arasındakı bu əlaqəyə toxunmaqla (və ya noutbukda xarici monitor bağlantısı kimi ehtiyatda istifadə edilməyən bir video portda DDC xətlərindən istifadə etməklə), bəzi I2C cihazları ilə praktiki olaraq heç bir xərc çəkmədən əlaqə qura bilərsiniz. ümumiyyətlə bir adapter cihazına ehtiyac. Bu I2C avtobusuna fiziki olaraq daxil olmaq üçün lazım olan hər şey hack edilmiş bir video kabelidir …

Addım 3: Kabelin kəsilməsi

Kabelin kəsilməsi
Kabelin kəsilməsi
Kabelin kəsilməsi
Kabelin kəsilməsi

I2C interfeysimiz üçün dörd telə ehtiyac var: +5V güc, torpaq, seriya məlumatları və serial saatı. Müxtəlif növ video portlar üçün pinoutları Wikipedia və ya Pinouts.ru saytında tapa bilərsiniz. VGA kabelindən istifadə edərək sancaqlar ilə tamamlanmış birini tapmağı unutmayın; Bəziləri yalnız bir alt qrupu ehtiva edir. Kabelin xaricindən izolyasiyanı və ekranlamanı geri götürsəniz, ehtimal ki, içərisində iki qrup tel tapa bilərsiniz. Qalın tellər və ya əlavə qoruyucuya bükülmüş tellər, ümumiyyətlə video siqnalını daşıyır. Bunlarla maraqlanmırıq və onlar geri çəkilə bilər. Daha incə, ekransız tellər ümumiyyətlə digərləri arasında DDC (I2C) siqnallarını daşıyır. Bir multimetre və ya davamlılıq test cihazı, kabeliniz üçün düzgün dörd telin tapılmasına kömək edə bilər. Çılpaq bir konnektordan istifadə etmək burada sərfəli ola bilər, çünki maraq nöqtələrinə dörd teli lehimləmək lazımdır. +5V gücünə dair bir qeyd: mövcud cərəyan çox məhduddur; DDC spesifikasiyasına görə təxminən 50 mA. Əksər I2C cihazları cüzi bir miqdar cərəyanı yudumlayır, buna görə də birdən çoxunu işlətmək mümkün olmalıdır … ancaq birdən çox LED istifadə etsəniz (və ya nisbətən yüksək cərəyanlı digər cihazlar), xarici güc təmin edilməlidir.

Addım 4: Tamamlanmış Adapter

Tamamlanmış Adapter
Tamamlanmış Adapter

İşdə bitmiş adapter. Bütün bunlar var! Dizüstü kompüter çantama asanlıqla yerləşə bilməsi üçün özümü əlavə kötüklə düzəltdim və əlimdəki I2C servo nəzarətçisinə birbaşa qoşulan dörd pinli bir fiş əlavə etdim.

Addım 5: Proqram və Layihələr

Proqram və Layihələr
Proqram və Layihələr
Proqram və Layihələr
Proqram və Layihələr

Adapterlə işləmək üçün Mac OS X və Linux mənbə kodunu veb saytımdan yükləyə bilərsiniz (yükləmə linki səhifənin altındadır). C dilində yazılıb və gcc -in quraşdırılması lazımdır (Linux -da ümumiyyətlə bunu standart olaraq ehtiva edir, Mac istifadəçiləri isə orijinal OS diskinizə əlavə olaraq quraşdırıcı və ya Apple -dan pulsuz yüklənə bilən geliştirici alətləri quraşdırmalı olacaq). Nümunə kodu, temperatur sensoru oxumaq, BlinkM "ağıllı LED" yandırmaq, seriyalı EEPROM yazmaq və yoxlamaq, Nintento Wii Nunchuk nəzarətçisini oxumaq (yalnız Linux) və servo nəzarətçi lövhəsi ilə əlaqə yaratmaq üçün daxil edilmişdir. Təəssüf ki, bu adapter sxemi deyil. bütün sistemlərə uyğundur. DDC dəstəyi məcburi deyil, buna görə də bütün video kartlar bu qabiliyyəti dəstəkləmir. ATI və ya Intel qrafik çipləri olan Mac sistemlərində indiyə qədər uğurlar qazandım, amma NVIDIA əsaslı sistemlər şanssızdır. Linux tərəfində yalnız bir IBM ThinkPad A31p (ATI qrafikası) sınaqdan keçirtdim, ancaq Asus EeePC (Intel) ilə işləməyəcəkdi. Buradakı şəkillər müxtəlif I2C cihazlarını işlək vəziyyətdə göstərən bir test qurğusunu göstərir. Kompüter ətraf mühitin temperaturunu I2C temperatur sensöründən mütəmadi olaraq oxuyur, bu məlumatları vaxtaşırı I2C seriyalı EEPROM çipinə daxil edir (bəli, sadəcə bir fayla çap edə bilərdi, ancaq bu I2C tətbiqlərini daha da nümayiş etdirmək üçün idi) və sonra servo (vasitəsilə bir I2C nəzarətçisi) müvəqqəti göstərici düyməsi kimi xidmət edir. Kitabxana və bu cihazların nümunə kodu artıq mövcud olduğu üçün bu demoyu bir araya gətirmək bir neçə dəqiqə çəkdi (və əksəriyyəti göstərici yığımında idi).

Tövsiyə: