Оглавление:
- Шаг 1. Существующие параметры
- Шаг 2: DDC - это I2C
- Шаг 3: рассечение кабеля
- Шаг 4: Готовый адаптер
- Шаг 5: Программное обеспечение и проекты
Видео: Самый дешевый в мире адаптер I2C (I-Squared-C): 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
Сделайте сенсорный интерфейс для вашего компьютера менее чем за доллар! Обновление от 9.06.08. Изучив несколько направлений, я пришел к выводу, что практического способа реализации этого метода в Microsoft Windows нет. Это не мелкая трепка по ОС, я действительно нахлобучил! Извините! Пользователи Windows, которым нужны возможности I2C, лучше всего обслуживаются существующими решениями на основе USB. Обновление от 24.05.08: добавлена поддержка Linux, а также пример кода для контроллера Nintendo Wii Nunchuk и «умного светодиода» BlinkM. Инструкции по компиляции и настройке в Linux см. В файле README.txt, включенном в исходный код. I2C (сокращение от Inter-Integrated Circuit) - это двухпроводная последовательная шина, обычно используемая в компьютерах для низкоуровневой связи между внутренними компонентами. I2C также популярен в робототехнике. Все виды датчиков и исполнительных механизмов доступны в форме, совместимой с I2C: ультразвуковые дальномеры, датчики ускорения, наклона, температуры и давления, сервоконтроллеры и расширители шины, которые обеспечивают дополнительные линии общего назначения (GPIO). Большинство современных микроконтроллеров (Atmel), Microchip PIC и т. Д.) Имеют встроенную поддержку I2C. Но вычислительная мощность микроконтроллеров ограничена, и разработка программного обеспечения - со специализированными кросс-компиляторами и средами программирования - иногда может быть рутиной. По мере того, как ноутбуки и одноплатные компьютеры становятся все меньше и доступнее, все чаще можно увидеть, что эти системы используются непосредственно в проектах робототехники и электроники. Это обеспечивает широкие возможности для новых возможностей, таких как обработка изображений и более сложный искусственный интеллект, и значительно расширяет сферу доступных инструментов и языков разработки … но также представляет новую проблему: сопряжение этих "обычных" систем с периферийными устройствами обычно осуществляется в обычных условиях. порты потребительского уровня, такие как USB; нет доступного извне «порта I2C», к которому мы могли бы просто подключиться, чтобы использовать наши датчики… или есть?
Шаг 1. Существующие параметры
Один из способов подключения устройств I2C к обычному настольному или портативному компьютеру - через адаптер USB-to-I2C. Существует как минимум дюжина таких вариантов, начиная от комплектов для самостоятельной работы с ПО с открытым исходным кодом и заканчивая сложными коммерческими модулями с каждым звонком.
Одним из недостатков подхода USB-to-I2C является стоимость. Полнофункциональная коммерческая модель может стоить 250 долларов и более. Даже «бесплатные» домашние альтернативы предполагают набор деталей и предварительные вложения в программиста микроконтроллера и соответствующие знания для его использования. Еще одним недостатком является относительная нехватка поддержки драйверов за пределами популярной Windows. Некоторые из этих устройств изначально работают на компьютерах Macintosh или Linux.
Шаг 2: DDC - это I2C
Когда я сказал во введении, что на большинстве компьютеров нет внешнего порта I2C, я солгал. Оказывается, есть, и он существует уже почти десять лет, по большей части бездействующий.
Большинство современных видеокарт и мониторов имеют поддержку так называемого канала данных дисплея (DDC), канала связи внутри видеокабеля, который позволяет компьютеру и дисплею согласовывать взаимно совместимые разрешения и позволяет программно управлять функциями монитора, доступ к которым обычно осуществляется с помощью физических кнопок на панели управления. отображать. Фактически, DDC - это просто реализация шины I2C с несколькими установленными правилами. Установив это соединение между компьютером и монитором (или используя линии DDC на запасном неиспользуемом видеопорте, таком как подключение внешнего монитора на ноутбуке), можно практически бесплатно взаимодействовать с некоторыми устройствами I2C, минуя обычная потребность в переходнике устройства целиком. Все, что нам нужно для физического доступа к этой шине I2C, - это взломанный видеокабель …
Шаг 3: рассечение кабеля
Для нашего интерфейса I2C необходимы четыре провода: питание +5 В, земля, последовательные данные и последовательные часы. Распиновки для различных типов видеопортов можно найти на Википедии или Pinouts.ru. Помните, если вы используете кабель VGA, чтобы найти тот, у которого есть полный набор контактов; некоторые включают только подмножество. Отрезав изоляцию и экранирование с внешней стороны кабеля, вы, вероятно, найдете внутри две группы проводов. Более толстые провода или пучки проводов, обернутые дополнительным экраном, обычно передают видеосигнал. Нас это не интересует, и их можно урезать. Более тонкие, неэкранированные провода обычно передают сигналы DDC (I2C) среди прочего. Мультиметр или тестер целостности могут помочь найти правильные четыре провода для вашего кабеля. Использование неизолированного разъема может быть здесь полезным, так как вам просто нужно припаять четыре провода к интересующим контактам. Примечание о питании +5 В: доступный ток очень ограничен; около 50 мА согласно спецификации DDC. Большинство устройств I2C потребляют лишь крошечный ток, поэтому должна быть возможность запускать несколько одновременно … но при использовании более одного или двух светодиодов (или других сравнительно сильноточных устройств) необходимо обеспечить внешнее питание.
Шаг 4: Готовый адаптер
Вот и готовый переходник. Вот и все! Я сделал свой очень коротким, чтобы он мог легко поместиться в сумку для ноутбука, и добавил четырехконтактный штекер, который подключается напрямую к сервоконтроллеру I2C, который у меня есть.
Шаг 5: Программное обеспечение и проекты
Исходный код Mac OS X и Linux для работы с адаптером можно скачать с моего сайта (ссылка для скачивания внизу страницы). Он написан на C, и вам потребуется установить gcc (Linux обычно включает его по умолчанию, в то время как пользователям Mac необходимо установить инструменты разработчика, которые являются дополнительным установщиком на исходном диске с ОС или могут быть загружены бесплатно с Apple). Пример кода включен для считывания датчика температуры, мигания «умного светодиода» BlinkM, записи и проверки последовательного EEPROM, чтения контроллера Nintento Wii Nunchuk (только для Linux) и связи с платой сервоконтроллера. К сожалению, эта схема адаптера не работает. совместим со всеми системами. Поддержка DDC не требуется, поэтому не все видеокарты поддерживают эту возможность. До сих пор мне везло с системами Mac, имеющими графические чипы ATI или Intel, но системам на базе NVIDIA не повезло. Что касается Linux, я успешно протестировал только IBM ThinkPad A31p (графика ATI), но он не работал с Asus EeePC (Intel). На изображениях показан тестовый стенд, демонстрирующий различные устройства I2C в действии. Компьютер постоянно считывает температуру окружающей среды с датчика температуры I2C, периодически записывает эти данные в микросхему EEPROM с последовательным интерфейсом I2C (да, он мог просто печатать в файл, но это было для дальнейшей демонстрации приложений I2C), а затем в сервопривод (через контроллер I2C) служит импровизированной шкалой индикатора. Имея библиотеку и образец кода для этих устройств, потребовалось всего несколько минут, чтобы собрать эту демонстрацию (и большая часть этого была сделана при создании шкалы индикатора).
Рекомендуемые:
Самый эффективный автономный солнечный инвертор в мире: 3 шага (с изображениями)
Самый эффективный автономный солнечный инвертор в мире: будущее за солнечной энергией. Панели могут прослужить много десятилетий. Допустим, у вас автономная солнечная система. У вас есть холодильник с морозильной камерой и множество других вещей, которые можно использовать в вашей красивой удаленной хижине. Вы не можете позволить себе выбрасывать энергию
Самый маленький в мире Bluetooth-динамик из старых деталей: 8 шагов (с изображениями)
Самый маленький в мире Bluetooth-динамик из старых деталей: если вам понравился этот проект, подумайте о голосовании за него, чтобы выиграть конкурс Trash to Treasure здесь - https://www.instructables.com/contest/trashytreasure2020/ В этой инструкции вы узнаете, как сделать ультра-крошечный самодельный bluetooth-динамик, который
Самый дешевый Ардуино -- Самый маленький Ардуино -- Arduino Pro Mini -- Программирование -- Arduino Neno: 6 шагов (с изображениями)
Самый дешевый Ардуино || Самый маленький Ардуино || Arduino Pro Mini || Программирование || Arduino Neno: …………………………. Пожалуйста, ПОДПИШИТЕСЬ на мой канал YouTube, чтобы увидеть больше видео ……. Этот проект о том, как связать самый маленький и самый дешевый Arduino из когда-либо существовавших. Самый маленький и дешевый arduino - arduino pro mini. Он похож на ардуино
Создайте самый маленький электронный шокер в мире !: 13 шагов (с изображениями)
Создайте самый маленький электронный шокер в мире! Этот удивительный маленький шокер очень крошечный, его можно спрятать практически в любом месте и удивить кого-нибудь! Он может работать практически от любых батарей 1,5 В! Итак, по этой инструкции я покажу вам, как сделать шокеры размером меньше копейки! H
Самый тонкий в мире программируемый кожаный браслет!: 6 шагов (с изображениями)
Самый тонкий в мире программируемый кожаный браслет !: Button-schemer от Aniomagic - такой замечательный маленький виджет. Это программный ридер размером с пятак, который программируется с помощью специально рассчитанных вспышек света. С его помощью мы сделаем самый тонкий в мире программируемый браслет. У меня