Daftar Isi:

Adaptor I2C (I-Squared-C) Termurah di Dunia: 5 Langkah (dengan Gambar)
Adaptor I2C (I-Squared-C) Termurah di Dunia: 5 Langkah (dengan Gambar)

Video: Adaptor I2C (I-Squared-C) Termurah di Dunia: 5 Langkah (dengan Gambar)

Video: Adaptor I2C (I-Squared-C) Termurah di Dunia: 5 Langkah (dengan Gambar)
Video: GILA!!.. IKAN PULUHAN JUTA M4TI KARENA INI… #ikan #aquarium #ikanchanna 2024, Juli
Anonim
Adaptor I2C (I-Squared-C) Termurah di Dunia
Adaptor I2C (I-Squared-C) Termurah di Dunia

Buat antarmuka sensor untuk komputer Anda dengan harga di bawah uang! Pembaruan 6/9/08: Setelah menjelajahi beberapa jalan, saya menyimpulkan bahwa tidak ada cara praktis untuk menerapkan teknik ini di Microsoft Windows. Ini bukan bashing OS kecil, saya benar-benar gagal mencoba! Maaf! Pengguna Windows yang membutuhkan kemampuan I2C paling baik dilayani oleh solusi berbasis USB yang ada. Pembaruan 24/5/08: Dukungan Linux telah ditambahkan, serta kode sampel untuk pengontrol Nintendo Wii Nunchuk dan "LED pintar" BlinkM. Lihat file README.txt yang disertakan dengan kode sumber untuk petunjuk tentang kompilasi dan pengaturan di Linux. I2C (kependekan dari Inter-Integrated Circuit) adalah bus serial dua kabel yang biasanya digunakan di komputer untuk komunikasi tingkat rendah antara komponen internal. I2C juga populer di robotika. Segala macam sensor dan aktuator tersedia dalam bentuk yang kompatibel dengan I2C: pengukur jarak ultrasonik, sensor untuk akselerasi, kemiringan, suhu dan tekanan, pengontrol servo, dan ekspander bus yang menyediakan jalur tujuan umum (GPIO) tambahan. Mikrokontroler paling modern (Atmel, Microchip PIC, dll.) memiliki dukungan untuk I2C yang terpasang langsung. Tetapi daya pemrosesan yang tersedia pada mikrokontroler terbatas, dan pengembangan perangkat lunak - dengan kompiler silang khusus dan lingkungan pemrograman - terkadang dapat menjadi tugas. Dengan laptop dan komputer papan tunggal menjadi semakin kecil dan lebih terjangkau, semakin umum melihat sistem ini digunakan secara langsung dalam proyek robotika dan elektronik. Ini memberikan kekuatan yang cukup untuk kemampuan baru seperti pemrosesan penglihatan dan AI yang lebih canggih, dan ini sangat memperluas cakupan alat pengembangan dan bahasa yang tersedia…tetapi juga menghadirkan masalah baru: menghubungkan sistem "biasa" ini ke periferal biasanya dilakukan melalui arus utama port tingkat konsumen seperti USB; tidak ada "port I2C" yang tersedia secara eksternal yang bisa kita gunakan untuk menggunakan sensor kita…atau adakah?

Langkah 1: Opsi yang Ada

Opsi yang Ada
Opsi yang Ada
Opsi yang Ada
Opsi yang Ada

Salah satu cara menghubungkan perangkat I2C ke komputer desktop atau laptop biasa adalah melalui adaptor USB-ke-I2C. Setidaknya ada selusin opsi seperti itu di luar sana, mulai dari kit do-it-yourself dengan perangkat lunak open source, hingga unit komersial canggih dengan setiap lonceng dan peluit.

Satu kelemahan dari pendekatan USB-to-I2C adalah biaya. Model komersial berfitur lengkap dapat berharga $250 atau lebih. Bahkan alternatif homebrew "gratis" mengasumsikan kumpulan bagian dan investasi sebelumnya dalam programmer mikrokontroler dan pengetahuan terkait untuk menggunakannya. Kelemahan lain adalah kelangkaan relatif dari dukungan driver di luar lipatan Windows yang populer. Beberapa dari perangkat ini bekerja secara native di komputer Macintosh atau Linux.

Langkah 2: DDC Adalah I2C

DDC adalah I2C
DDC adalah I2C
DDC adalah I2C
DDC adalah I2C
DDC adalah I2C
DDC adalah I2C

Ketika saya mengatakan dalam pendahuluan bahwa tidak ada port I2C eksternal pada kebanyakan komputer, saya berbohong. Ternyata ada, dan sudah ada selama hampir satu dekade sekarang, sebagian besar tidak aktif.

Kebanyakan kartu grafis dan monitor modern memiliki dukungan untuk sesuatu yang disebut Display Data Channel (DDC), tautan komunikasi dalam kabel video yang memungkinkan komputer dan layar untuk menegosiasikan resolusi yang saling kompatibel dan mengizinkan kontrol perangkat lunak dari fungsi monitor yang biasanya diakses dengan tombol fisik pada layar. menampilkan. DDC, pada kenyataannya, hanyalah sebuah implementasi dari bus I2C dengan beberapa aturan yang ditetapkan. Dengan memanfaatkan koneksi antara komputer dan monitor ini (atau memanfaatkan jalur DDC pada port video cadangan yang tidak digunakan, seperti koneksi monitor eksternal pada laptop), seseorang dapat berinteraksi dengan beberapa perangkat I2C hampir tanpa biaya, melewati kebutuhan biasa untuk perangkat adaptor sepenuhnya. Yang kita butuhkan untuk mengakses bus I2C ini secara fisik hanyalah kabel video yang diretas…

Langkah 3: Membedah Kabel

Membedah Kabel
Membedah Kabel
Membedah Kabel
Membedah Kabel

Empat kabel diperlukan untuk antarmuka I2C kami: daya +5V, ground, data serial, dan jam serial. Pinouts untuk berbagai jenis port video dapat ditemukan di Wikipedia atau Pinouts.ru. Ingat jika menggunakan kabel VGA untuk menemukan satu dengan pin lengkap; beberapa hanya menyertakan subset. Dengan memotong insulasi dan pelindung dari bagian luar kabel, Anda mungkin akan menemukan dua kelompok kabel di dalamnya. Kabel yang lebih tebal, atau kumpulan kabel yang dibungkus dengan pelindung tambahan, biasanya membawa sinyal video. Kami tidak tertarik dengan ini dan mereka dapat dipangkas kembali. Kabel yang lebih tipis dan tidak berpelindung biasanya membawa sinyal DDC (I2C) di antara yang lainnya. Multimeter atau penguji kontinuitas dapat membantu menemukan empat kabel yang tepat untuk kabel Anda. Menggunakan konektor telanjang dapat menguntungkan di sini, karena Anda hanya perlu menyolder empat kabel ke pin yang diinginkan. Catatan tentang daya +5V: arus yang tersedia sangat terbatas; sekitar 50 mA sesuai dengan spesifikasi DDC. Sebagian besar perangkat I2C menyedot hanya sedikit arus, jadi mungkin untuk menjalankan beberapa sekaligus … tetapi jika menggunakan lebih dari satu atau dua LED (atau perangkat arus tinggi lainnya), daya eksternal harus disediakan.

Langkah 4: Adaptor yang Selesai

Adaptor yang Selesai
Adaptor yang Selesai

Ini adaptor yang sudah jadi. Itu saja! Saya membuat milik saya lebih gemuk sehingga dapat dengan mudah masuk ke dalam tas laptop saya, dan menambahkan steker empat pin yang terhubung langsung ke pengontrol servo I2C yang saya miliki.

Langkah 5: Perangkat Lunak dan Proyek

Perangkat Lunak dan Proyek
Perangkat Lunak dan Proyek
Perangkat Lunak dan Proyek
Perangkat Lunak dan Proyek

Kode sumber Mac OS X dan Linux untuk bekerja dengan adaptor dapat diunduh dari situs web saya (tautan unduhan ada di bagian bawah halaman). Itu ditulis dalam C, dan Anda harus menginstal gcc (Linux biasanya menyertakan ini secara default, sementara pengguna Mac perlu menginstal alat pengembang yang merupakan penginstal opsional pada disk OS asli Anda, atau dapat diunduh gratis dari Apple). Contoh kode disertakan untuk membaca sensor suhu, mem-flash "LED pintar" BlinkM, menulis dan memverifikasi EEPROM serial, membaca pengontrol Nintento Wii Nunchuk (khusus Linux), dan berkomunikasi dengan papan pengontrol servo. Sayangnya skema adaptor ini tidak kompatibel dengan semua sistem. Dukungan untuk DDC tidak diwajibkan, jadi tidak semua kartu video mendukung kemampuan ini. Sejauh ini saya beruntung dengan sistem Mac yang memiliki chip grafis ATI atau Intel, tetapi sistem berbasis NVIDIA kurang beruntung. Di sisi Linux, saya hanya berhasil menguji IBM ThinkPad A31p (grafik ATI), tetapi tidak akan bekerja dengan Asus EeePC (Intel). Gambar di sini menunjukkan rig uji yang menunjukkan berbagai perangkat I2C beraksi. Komputer terus membaca suhu sekitar dari sensor suhu I2C, secara berkala mencatat data ini ke chip EEPROM serial I2C (ya, itu hanya bisa mencetak ke file, tetapi ini untuk mendemonstrasikan aplikasi I2C lebih lanjut), dan kemudian servo (melalui pengontrol I2C) berfungsi sebagai tombol indikator darurat. Dengan perpustakaan dan kode sampel untuk perangkat ini sudah ada, hanya butuh beberapa menit untuk mengumpulkan demo ini (dan sebagian besar dalam membuat tombol indikator).

Direkomendasikan: