Pull to refresh

Энтузиаст подключил к ноутбуку I2C OLED-дисплей с помощью HDMI

Reading time 2 min
Views 5.4K
DIY Electronics for beginners

Энтузиасту удалось подключить миниатюрный OLED экран на базе интерфейсной шины I2C к ноутбуку с помощью кабеля HDMI. Система работает автономно и не требует микроконтроллеров для вывода данных на дисплей. Из минусов можно отметить низкую частоту кадров, но автор проекта уверяет, что это исправимо.

Читать далее
Total votes 12: ↑11 and ↓1 +10
Comments 10

Vogue-Tec News #2

Reading time 3 min
Views 16K
Configuring Linux *

Ежечекпоинтовый обзор нововведений, интересностей и общих событий вокруг плеера из журнала Vogue, а теперь и Playboy.

Содержание


  • Playboy плеер
  • Новый Linux
  • VNC!
  • Корпус, SDIO, I2C и все, все, все...
  • FAQ

Читать дальше →
Total votes 123: ↑117 and ↓6 +111
Comments 60

Подключение акселерометра к Raspberry Pi с использованием библиотеки Pi4J

Reading time 6 min
Views 24K
Java *
Sandbox

Предисловие


Привет, Хабр! Буквально недавно меня взяли в кружок по робототехнике. Конечно, я с радостью согласился, это же новый опыт и все такое… Тем более я всего лишь первокурсник. Мой преподаватель, объяснив мне общую концепцию, предложил заняться работой с Raspberry Pi. Нужно было разобраться, как с ним работать, установить на него JDK и написать программу, которая выводила бы на экран показания с 3-х осевого акселерометра. Взяв все необходимое, я отправился домой разбираться. Когда я все закончил (ушло на это примерно неделя), решил написать гайдик, адресованный таким же, как и я, дабы собрать все, что я нарыл, в одном месте. Ну, приятного чтения!
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 3

FT232H, MPSSE и SPI-программатор за 15 евро

Reading time 7 min
Views 128K
Circuit design *

Странно, что про этот крайне популярный и полезный чип до сих пор не было статьи на Хабре. Считаю необходимым восполнить этот пробел. В статье будет описано несколько интересных способов применения чипа FTDI FT232H и его аналогов для различных прикладных целей.
Пару слов о нем: относительно дешевый, простой в разводке и программировании, распространенный конвертер USB 2.0 <-> последовательные протоколы (USART, SPI, I2C, JTAG TAP и просто GPIO bit-bang), хорошо подходящий как для изготовления собственных устройств с подключением к ПК по USB, так и для тестирования и отладки других устройств.
Из простой breakout-платы на этом чипе легко и непринужденно можно сделать UART-конвертер, SPI-программатор, JTAG-отладчик, I2C-master, конвертер GPIO bit-bang (а с ним и остальных протоколов, не требующих запредельных частот и стойких к возможным задержкам, вносимым USB-стеком, к примеру, Dallas 1-wire).
Если вышеуказанные возможности сумели вас заинтересовать — прошу под кат.
Вперед, читатель!
Total votes 65: ↑64 and ↓1 +63
Comments 31

Реализация интерфейса I2C на базе чипа FT2232H (режим MPSSE)

Reading time 5 min
Views 33K
DIY
Интерфейсная микросхема поддерживает работу с интерфейсом I2C (не путать с I2S!) в режиме MPSSE (Multi-Protocol Synchronous Serial Engine). Кроме I2C данный режим поддерживает целый перечень стандартных последовательных интерфейсов, таких как SPI, JTAG и т. п. Есть возможность реализации собственных интерфейсов в случае необходимости. Данное описание рассказывает о ряде нюансов поддержки интерфейса I2C, а так же дает повод поболтать на смежную тематику.

Дисклэймер: данная статья написана по рабочим материалам и в первую очередь предназначена для автора статьи, когда он потеряет оригинальный документ. В то же время, информация приведенная ниже может быть интересна и узкому кругу специалистов. Не рекомендуется для прочтения широкому кругу читателей кроме случаев, когда тот самый читатель хочет ненадолго погрузиться в мир отладки программно-аппаратных средств. Исследования проводились более года назад, однако указанная информация остается актуальной и в настоящий момент, поскольку библиотеки на сайте производителя не обновлялись. Информация об обнаруженных проблемах отправлялась производителю, однако никакой обратной связи не последовало. Написан пост по мотивам вот этого, за который автору выражается отдельная благодарность
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 4

Патчим EDID телевизора из-под Linux

Reading time 6 min
Views 39K
Configuring Linux *
Translation
Мой телевизор («старая» модель LG 32LG5000) никогда не работал в Linux. Каждый раз, когда я подключал его через HDMI-порт, ядро сообщало мне ошибку:
kernel: [  869.677850] [drm:drm_edid_block_valid] *ERROR* EDI  has major version 2, instead of 1

и полностью игнорировало его.

Эта проблема меня не сильно-то и беспокоила, т.к. я не часто им пользовался, да и VGA-порт работал, хоть и с максимальным разрешением 1360×768. Однако сегодня, когда я решил посмотреть фильм, качество вывода через VGA было невероятно хреновым, и я решил с этим покончить.

Анализируем EDID


Для тех, кто не знает, EDID — небольшое количество данных, содержащих в себе информацию о возможностях монитора, в основном разрешения и тайминги, которые он поддерживает. Сообщение об ошибке интересно тем, что в нем говорится об EDID 2.0, которого (почти) никогда не существовало. Вот что нам говорит Wikipedia:
Структура EDID имеет версии от v1.0 до v1.4 размером в 128 байт, каждая последующая версия обратно совместима с предыдущей. Структура EDID v2.0 была размером 256 байт, однако позже была объявлена устаревшей и на замену ей пришла v1.3.

Похоже, EDID 2.0 был объявлен устаревшим где-то в 2000. Довольно забавно, что ТВ 2008 года использовал именно эту версию.
Читать дальше →
Total votes 60: ↑57 and ↓3 +54
Comments 22

STM32 и LCD через I2C

Reading time 4 min
Views 129K
DIY

Для использования в дальнейшем понадобилось связать, используя I2C микроконтроллер STM32 с экраном 2004. Не найдя аналогичного решения в сети, публикую здесь. Данный рецепт подойдёт также для экранов 1602. Далее под катом. (Осторожно, картинки).
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Comments 22

Переделка беспроводного USB Wi-Fi адаптера TP-LINK TL-WN722N в адаптер Philips PTA01 для телевизора Philips 55PFL7606H и других

Reading time 3 min
Views 134K
Wireless technologies *
Sandbox
В этой статье я хочу рассказать о способе сделать фирменный Wi-Fi адаптер к телевизору. Я не исключаю, что приведенное здесь техническое решение будет применимо для других фирм производителей и других моделей телевизоров.

Данная статья носит только информационный характер. Я не несу ответственности за последствия выполняемых Вами действий, и не в коей мере не принуждаю к ним. Вы все делаете на свой страх и риск.

Для остальных, добро пожаловать под хабркат!
Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 14

Создание входа AUX магнитоле Kenwood GX806EF2 захватом шины i2c

Reading time 5 min
Views 60K
Sound
Sandbox
image

Герой заметки — магнитола Kenwood GX806EF2 — славна тем, что устанавливалась в очень большое число экспортных японских автомобилей (взять хотя бы Subaru Forester) и не имеет ни входа AUX для подключения внешних источников звука, ни возможности воспроизвести MP3-файлы с CD-дисков (с внешних накопителей тоже). Магнитола вышла весьма утилитарной для своего времени (2004-2007 года), несмотря на CD-чейнджер на 6 CD. CD-audio, FM/AM-тюнер, и всё, но кассетоприемника, к слову, уже нет.

Но все-таки сделать ей вход AUX можно без порчи внешнего вида и функциональности.
Подробности
Total votes 45: ↑45 and ↓0 +45
Comments 14

CH341A, USB-UART-конвертер и I2C/SPI-программатор за $5

Reading time 4 min
Views 239K
Programming *
Когда-то давным-давно я писал пару статей о широко известном в узких кругах чипе FTDI FT232H и различных его применениях. Всем хорош был FT232H для DIY, но и у него нашлось несколько недостатков — относительно неприятный для ручной пайки корпус LQFP48 (для истинных любителей хардкора есть еще вариант в QFN48, паяй — не хочу, DIHALT не даст соврать), цена за оригинальный чип от 250 рублей, вероятность проблем с драйверами на поддельных чипах и некоторая функциональная избыточность, к примеру, поддержка JTAG нужна далеко не всем.

Решение, как обычно, пришло из Поднебесной, в которой после нескольких лет тупого передирания творческой адаптации чужих чипов наконец выпустили свой собственный конвертер USB-TTL — WinChipHead CH341A в корпусе SOP-28 (не DIP, но тоже паяется без проблем).

Производство чипа было начато году приблизительно в 2006, но в поле моего зрения он попал только в 2014, когда I2C/SPI-программаторы на этом чипе наводнили европейский EBAY, причем продавцы предлагали цену от 3,5 евро вместе с доставкой, что при средней стоимости хорошего китайского программатора вроде MiniPro TL866A в 50 евро оказалось настолько заманчивым предложением, что устоять не получилось.

Если вам все еще интересно, что умеет этот китайский чип за 1$ и стоит ли платить больше, если не видно разницы — прошу под кат.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 12

Подключение символьного ЖКИ к плате от WD MyBook Live на AppliedMicro APM82181

Reading time 10 min
Views 7.6K
C *Development for Linux *Programming microcontrollers *
Добрый день! Целью данной работы было расширение возможностей имеющейся платы от NAS WesternDigital MyBook Live.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 19

Подключение символьного ЖКИ к плате от WD MyBook Live на AppliedMicro APM82181. Окончание

Reading time 22 min
Views 7.1K
C *Development for Linux *Programming microcontrollers *
Добрый день! Продожим работу с платой от NAS WesternDigital MyBook Live и подключенным к ней ЖК индикатором. Итак, в предыдущей части мы нашли на плате место для подключения к шине I2C, подключили расширитель портов с индикатором, убедились что все работает. Сегодня выведем на индикатор состояние системы.
image
image
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 0

FRAM через I2C для Arduino как замена EEPROM

Reading time 3 min
Views 24K
Programming microcontrollers *
Продолжу рассказывать про приборную панель для мотоцикла. Это замечательное устройство содержит одометр, то есть, счётчик пройденного пути в километрах, а у того есть плохое свойство — он должен сохранять данные и при выключенном питании. Ой, ещё есть моточасы, их тоже надо хранить как-то энергозависимо.

Внутри Ардуины есть EEPROM, конечно же. Много места не надо, чтобы хранить пяток длинных целых, но есть нюанс. EEPROM имеет слишком ограниченный ресурс на запись. Хотелось бы писать данные раз в несколько секунд хотя бы. Ресурс же EEPROM позволяет это делать вполне обозримое время, то есть, встроенная память явно не вечна.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Comments 47

Первые шаги с STM32 и компилятором mikroC для ARM архитектуры — Часть 4 — I2C, pcf8574 и подключение LCD на базе HD4478

Reading time 12 min
Views 15K
Programming microcontrollers *
Следующую статью я хочу посвятить работе с распространенным интерфейсом i2c, достаточно часто используемом в разнообразных микросхемах, подключаемых к микроконтроллеру.

I2C представляет собой шину работающую по двум физическим соединениям (помимо общего провода). Достаточно много о ней расписано в Интернете, неплохие статьи есть в Википедии. Кроме того алгоритм работы шины очень понятно описан здесь. В вкратце, шина представят собой двухпроводную синхронную шину. На шине может одновременно находится до 127 устройств (адрес устройства 7-битный, к этому вернемся далее). Ниже приведена типичная схема подключения устройств к i2c шине, с МК в качестве ведущего устройства.


Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 0

I2C-сниффер

Reading time 3 min
Views 27K
Developing for Arduino *
Sandbox
Добрый день! Как-то возникла на работе проблема — имеется устройство, работающее по I2С и протокол которого необходимо было понять. Следовательно, нужен сниффер под интерфейс I2С, который бы выводил все, что приходит-уходит по I2C, на порт UART и далее через преобразователь на COM-порт компьютера.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Comments 49

Bus Blaster — универсальный скоростной bit-bang интерфейс для терпеливых энтузиастов

Reading time 11 min
Views 15K
DIY
Recovery mode


Мне давно хотелось иметь какой-нибудь простой и универсальный аппаратный интерфейс с несколькими входными и выходными сигналами, функциональность которого определяется исключительно софтом, вроде достопамятного программатора PonyProg. И чтобы его можно было использовать не только как чтения/записи прошивок, но и для отладки программ через JTAG. При этом покупать что-либо промышленное, при моем нерегулярном баловстве с электроникой, избыточно и нерентабельно — требовалось что-то из серии «полуфабрикатов», на основе bit-bang.

Что такое bit bang и зачем он нужен
Кое-кто еще помнит, что в счастливые времена Windows 9x каждая системная плата и каждый ноутбук в обязательном порядке имели последовательный (COM) и параллельный (LPT) порты. В ту пору для организации интерфейса с микросхемой ППЗУ, служебными контактами мобильника или передней панели магнитолы достаточно было припаять к разъему порта несколько резисторов, диодов и транзисторов. Все остальное делали обычные пользовательские приложения, самостоятельно формировавшие сигналы нужного протокола путем выставления нулей или единиц на нужных выводах, и считывания сигналов на входах. У клятых буржуев это называлось bit-bang, а у нас — «дрыгоножество», «ногомашество» и т.п.

С переходом на 2k/XP возникли сложности с прямым доступом к портам ввода/вывода, но они успешно решались костылями вроде giveio. Гораздо сильнее портила жизнь более высокая фоновая активность в NT, из-за которой сложнее было выдержать стабильность передачи и приема.

Как известно, на современных компьютерах, тем более — ноутбуках, с аппаратными портами не густо, ибо большинству пользователей они не нужны. USB-адаптеры для подключения устройств с интерфейсами RS232 и Centronics (в просторечии — COM/LPT) хорошо работают лишь в рамках основного назначения, а делать на них «дрыгоножество» проблематично по целому ряду причин. Во-первых, большинство этих адаптеров умеет обрабатывать с хорошей скоростью только сигналы данных (те же Tx/Rx), а управляющие сигналы обрабатывает с большими задержками. Во-вторых, адаптеры различных производителей аппаратно несовместимы, а возможности нестандартного управления через драйвер производителя сильно ограничены. В-третьих, для передачи команд адаптеру почти все драйверы используют отдельные USB-пакеты, что ограничивает частоту смены состояний всего тысячей раз в секунду, чего для многих применений катастрофически мало.

К счастью, компания FTDI уже давно предлагает ряд решений для USB, ориентированных именно на скоростной обмен произвольными сигналами. Беглое изучение вопроса показало, что наиболее популярны в этом плане интерфейсы на микросхемах FT232H/FT2232H.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 18

Гидропоника на подоконнике или C++11 в микроконтроллерах AVR

Reading time 18 min
Views 53K
DIY Electronics for beginners
Recovery mode
Проект не содержит Ардуино


Этот проект изначально должен был выглядеть иначе — монументальное сооружение, состоящее из тумбы с канистрами и насосами, водружённого на неё аквариума и помидорного оазиса поверх него. В райских кущах помидорного оазиса планировался водопад, а в аквариуме — рыбные формы жизни, главное требование к которым — умение поедать незапланированных жителей аквариума и держать в чистоте стёкла; основные кандидаты — сомики и гурами. Как вы уже могли догадаться, мой девиз — «лень — двигатель прогресса» (и чего только не сделаешь, чтобы аквариум не чистить и помидоры не поливать).
Читать дальше →
Total votes 52: ↑50 and ↓2 +48
Comments 104

Подключение управлямых блоков питания, сенсоров и реле к серверным материнским платам. Без Arduino

Reading time 19 min
Views 27K
Computer hardware DIY
Подключение различных сенсоров, датчиков, реле, GPIO-расширителей и прочего «ардуиновского» хозяйства по шине I²C напрямую к серверным материнским платам через IPMI-интерфейс бортового контроллера (BMC). Практические примеры I²C-устройств и работа с ними из командной строки утилитой ipmitool. SMBus, PMBus и управление блоками питания. Не очень документированные ограничения и вопросы безопасности. Разоблачение проприетарщины.

После установки сервера в самодельную конструкцию порой хочется подключить к нему ещё чего-нибудь: например, датчики температуры, давления, влажности, ЖК-экранчики или даже ШИМ-драйверы моторчиков. Бывают глючные внешние устройства, которые приходится удалённо и жёстко сбрасывать с помощью реле, не уровнив при этом весь сервер целиком. А может, читателю просто захотелось гребёнку GPIO с гирляндой светодиодов? Если это не одноплатник типа Raspberry Pi, а полноразмерный сервер, приходится навешивать микроконтроллер и возиться с ним: писать прошивку, тестировать, налаживать стык с хостом и т.д. Иногда это интересно само по себе, но бывает и наоборот: скорей бы скриптину написать да запустить, наконец, лишь бы работало.

Необычные разъёмы на железе всегда вызывали у автора смешанные чувства инженерно-технического зуда и вентиляторного фетишизма. Об этих занимательных разъёмах здесь и речь.
Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 36

Панель оператора (HMI) с шиной I2C для Arduino

Reading time 17 min
Views 34K
DIY
Tutorial
В рамках работы с неким ардуино-совместимым оборудованием(о нем в конце) понадобился мне экран с кнопками для управления и отображения текущей информации. То есть, была нужна панель оператора, она же HMI.

Решено было сделать HMI самостоятельно, а в качестве интерфейса использовать «квадратную» шину i2c.



Если интересен процесс разработки и программирования подобных девайсов, добро пожаловать под кат.
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Comments 24

Еще один беспроводной датчик температуры и влажности. Z-Wave плата Z-Uno + Sensirion SHT20

Reading time 5 min
Views 18K
Gadgets Smart House IOT DIY
Tutorial
Как положено порядочному гигу у меня есть метеостанция, которую я собрал сам из DHT22, Raspberry Pi и экранчика Nokia, это решение на постоянном питании, передающее данные по Ethernet.

Но теперь мне понадобилась мобильная метеостанция на балкон беспроводная и на батарейках.
В качестве радио модуля я использовал Z-Wave плату Z-Uno, в качестве датчика температуры и влажности решил попробовать Sensirion SHT20 работающий по I2C.



Материалы и цены:
Материал Магазин Цена
1 Z-Wave плата Z-Uno 5smart.ru 3500 р
2 Датчик Sensirion SHT20 voltmaster.ru 72 р
3 Корпус Gainta G517B voltmaster.ru 160 р
4 Батарейный отсек BH421 2xAAA voltmaster.ru 14 р

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 79
1