فهرست مطالب:

ارزانترین آداپتور I2C (I-Squared-C) جهان: 5 مرحله (همراه با تصاویر)
ارزانترین آداپتور I2C (I-Squared-C) جهان: 5 مرحله (همراه با تصاویر)

تصویری: ارزانترین آداپتور I2C (I-Squared-C) جهان: 5 مرحله (همراه با تصاویر)

تصویری: ارزانترین آداپتور I2C (I-Squared-C) جهان: 5 مرحله (همراه با تصاویر)
تصویری: ساخت آسانترین و ارزانترین منبع تغذیه 30آمپربا پاور Making the easiest and cheapest power supply 2024, جولای
Anonim
ارزان ترین آداپتور I2C (I-Squared-C) جهان
ارزان ترین آداپتور I2C (I-Squared-C) جهان

یک رابط سنسور برای رایانه خود برای کمتر از یک دلار تهیه کنید! به روز رسانی 6/9/08: پس از بررسی چندین راه ، به این نتیجه رسیدم که هیچ روش عملی برای اجرای این تکنیک در Microsoft Windows وجود ندارد. این سیستم عامل کوچک نیست ، من واقعا یک مهره را امتحان کردم! متاسف! کاربران ویندوزی که به قابلیت های I2C احتیاج دارند ، بهترین راه حل های مبتنی بر USB هستند. به روز رسانی 5/24/08: پشتیبانی لینوکس اضافه شده است ، همچنین کد نمونه ای برای کنترلر Nintendo Wii Nunchuk و "LED هوشمند" BlinkM اضافه شده است. فایل README.txt همراه با کد منبع را جهت راهنمایی در مورد کامپایل و راه اندازی لینوکس مشاهده کنید. I2C (مخفف Circuit-Integrated Circuit) یک گذرگاه سریال دو سیمه است که معمولاً در رایانه ها برای ارتباط سطح پایین بین اجزای داخلی استفاده می شود. I2C در رباتیک نیز محبوب است. همه نوع سنسورها و محرک ها در فرم سازگار با I2C در دسترس هستند: دستگاه های سنج مافوق صوت ، سنسورهای شتاب ، شیب ، دما و فشار ، کنترل کننده های سرو ، و گسترش دهنده های باس که خطوط اضافی عمومی (GPIO) را ارائه می دهند. اکثر میکروکنترلرهای مدرن ، Microchip PIC و غیره) از I2C پشتیبانی شده پشتیبانی می کنند. اما قدرت پردازشی موجود بر روی میکروکنترلرها محدود است و توسعه نرم افزار - با کامپایلرهای متقابل تخصصی و محیط های برنامه نویسی - گاهی اوقات یک کار سخت است. با کوچکتر شدن لپ تاپ ها و رایانه های تک صفحه ای و مقرون به صرفه تر ، مشاهده این سیستم ها به طور مستقیم در پروژه های رباتیک و الکترونیک متداول است. این قدرت کافی برای قابلیت های جدید مانند پردازش بینایی و هوش مصنوعی پیچیده تر را فراهم می کند ، و دامنه ابزارها و زبان های توسعه موجود را تا حد زیادی گسترش می دهد … اما یک مشکل جدید نیز ایجاد می کند: ارتباط این سیستم های "منظم" با لوازم جانبی معمولاً از طریق جریان اصلی انجام می شود. پورت های درجه مصرف کننده مانند USB ؛ هیچ "پورت I2C" خارجی وجود ندارد که بتوانیم از آن برای استفاده از حسگرهای خود استفاده کنیم … یا وجود دارد؟

مرحله 1: گزینه های موجود

گزینه های موجود
گزینه های موجود
گزینه های موجود
گزینه های موجود

یکی از راه های اتصال دستگاه های I2C به رایانه رومیزی یا لپ تاپ معمولی ، آداپتور USB-to-I2C است. حداقل دوجین گزینه از این دست وجود دارد ، از کیت هایی که خودتان انجام می دهید با نرم افزار منبع باز ، تا واحدهای تجاری پیچیده با هر زنگ و سوت.

یکی از اشکالات رویکرد USB-to-I2C هزینه است. یک مدل تجاری کامل می تواند 250 دلار یا بیشتر هزینه داشته باشد. حتی جایگزین های "رایگان" خانگی مجموعه ای از قطعات و سرمایه گذاری قبلی در برنامه نویس میکروکنترلر و دانش مربوطه را برای استفاده از آن فرض می کنند. یکی دیگر از نقاط ضعف ، کمبود نسبی پشتیبانی راننده در خارج از Windows محبوب است. تعداد کمی از این دستگاه ها بطور طبیعی در رایانه های مکینتاش یا لینوکس کار می کنند.

مرحله 2: DDC Is 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 ما مورد نیاز است: +5V قدرت ، زمین ، داده های سریال و ساعت سریال. Pinouts برای انواع مختلف پورت های ویدئویی را می توانید در ویکی پدیا یا Pinouts.ru پیدا کنید. اگر از کابل VGA برای پیدا کردن کابل با مکمل کامل پین ها استفاده می کنید ، به یاد داشته باشید. برخی فقط شامل زیرمجموعه ای هستند. با قطع عایق و محافظت از بیرون کابل ، به احتمال زیاد دو گروه سیم در داخل آن پیدا خواهید کرد. سیمهای ضخیم تر ، یا دسته ای از سیمهای پیچیده شده در محافظ اضافی ، معمولاً سیگنال ویدئویی را حمل می کنند. ما به اینها علاقه ای نداریم و می توان آنها را به عقب برگرداند. سیمهای نازک و بدون پوشش معمولاً سیگنالهای DDC (I2C) را در بین سایرین حمل می کنند. یک مولتی متر یا تستر پیوستگی می تواند در یافتن چهار سیم مناسب برای کابل شما کمک کند. استفاده از یک کانکتور برهنه می تواند در اینجا مفید باشد ، زیرا شما فقط باید چهار سیم را به پایه های مورد نظر لحیم کنید. توجه داشته باشید در مورد قدرت +5V: جریان موجود بسیار محدود است. حدود 50 میلی آمپر مطابق مشخصات DDC. اکثر دستگاه های I2C فقط مقدار کمی جریان را جرعه می زنند ، بنابراین باید بتوان چندین دستگاه را به طور همزمان کار کرد … اما در صورت استفاده از بیش از یک یا دو LED (یا سایر دستگاه های با جریان نسبتا بالا) ، باید منبع تغذیه خارجی تامین شود.

مرحله 4: آداپتور تکمیل شده

آداپتور تکمیل شده
آداپتور تکمیل شده

در اینجا آداپتور به پایان رسیده است. این همه چیز است! من دستگاه خود را بسیار تند کردم تا بتواند به راحتی در کیف لپ تاپ من جا بگیرد و یک پلاگین چهار پین اضافه کردم که مستقیماً به یک کنترل کننده سروو I2C که من متصل می شود ، متصل می شود.

مرحله 5: نرم افزار و پروژه ها

نرم افزار و پروژه ها
نرم افزار و پروژه ها
نرم افزار و پروژه ها
نرم افزار و پروژه ها

کد منبع Mac OS X و لینوکس برای کار با آداپتور را می توانید از وب سایت من بارگیری کنید (لینک دانلود در انتهای صفحه قرار دارد). این به زبان C نوشته شده است و شما باید gcc را نصب کرده باشید (لینوکس معمولاً این را به طور پیش فرض شامل می شود ، در حالی که کاربران Mac باید ابزارهای توسعه دهنده را نصب کنند که یک نصب کننده اختیاری بر روی دیسک سیستم عامل اصلی شما هستند یا از Apple رایگان قابل بارگیری هستند). کد نمونه برای خواندن سنسور دما ، چشمک زدن "LED هوشمند" BlinkM ، نوشتن و تأیید EEPROM سریال ، خواندن کنترلر Nintento Wii Nunchuk (فقط لینوکس) و ارتباط با برد سروو کنترلر موجود است. متاسفانه این طرح آداپتور مناسب نیست سازگار با همه سیستم ها پشتیبانی از DDC اجباری نیست ، بنابراین همه کارت های ویدئویی از این قابلیت پشتیبانی نمی کنند. من تا به حال با سیستم های Mac که دارای تراشه های گرافیکی ATI یا Intel هستند خوش شانس بوده ام ، اما سیستم های مبتنی بر NVIDIA شانس ندارند. در سمت لینوکس ، من فقط یک IBM ThinkPad A31p (گرافیک ATI) را با موفقیت آزمایش کردم ، اما با Asus EeePC (اینتل) کار نمی کرد. تصاویر اینجا یک دکل آزمایشی را نشان می دهد که دستگاه های مختلف I2C را در عمل نشان می دهد. رایانه به طور مداوم دمای محیط را از طریق سنسور دمای I2C می خواند ، این داده ها را به صورت دوره ای به تراشه سریالی EEPROM I2C وارد می کند (بله ، فقط می تواند در یک فایل چاپ شود ، اما این برای نشان دادن بیشتر برنامه های I2C بود) ، و سپس یک سروو (از طریق یک کنترل کننده I2C) به عنوان یک صفحه نشانگر موقتی عمل می کند. با وجود کتابخانه و کد نمونه برای این دستگاه ها ، آماده سازی این نسخه ی نمایشی (و بیشتر آن در ساخت شماره گیری نشانگر) تنها چند دقیقه طول کشید.

توصیه شده: