#i2c — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #i2c, aggregated by home.social.
-
And, in contrast to the PCA9600 or PCA9615 chips that convert I²C into a differential bus, you only need _one_ LTC4311, at one end, for the whole bus, _and_ you can keep using 4 wires (Vcc, Gnd, SCL and SDA) instead of needing two additional ones for the differential signal.
For anything longer than roughly 10 m, differential is still the way to go.
Check out https://hackaday.com/2017/02/08/taking-the-leap-off-board-an-introduction-to-i2c-over-long-wires/ for some additional details.
-
For my current #ESPHome project, I've connected an I²C sensor over 7.2m of STP phone wire. LTC4311 active terminators are impressive. Add a single chip and then run I²C over meters instead of centimeters.
The bus is running at 10 kHz, I haven't tested 50 kHz, but I assume it would work as well, because the length limitations are due to capacitance and rise times, not clock speed.
Using the shielding (i.e. grounding it on one side, and one side only) was essential though.
-
Addressable LEDs Make Giant 16×2 Character Display
-
Поставил четыре датчика влажности на одну шину I2C — и они разошлись на 10%
У каждого датчика температуры и влажности в даташите написана своя погрешность. Но честная проверка — не читать даташит, а положить несколько штук в один и тот же воздух и снять показания в один и тот же момент . Я взял четыре популярных копеечных модуля с AliExpress — BME280, BMP280, AHT20 и HDC1080 — посадил их на одну шину I2C к одной ESP-шке и вывел всё на одну веб-страницу: у каждого датчика живое значение и график тренда, рядом. Температуры совпали в пределах полуградуса. А вот с влажностью получилось интересно: один датчик показал на почти 10 процентных пунктов больше соседнего, который лежал в пяти миллиметрах от него. Ниже — как это выглядело, почему так вышло и на чём собран сам дашборд (спойлер: это несколько строк C++, без единой строчки фронтенда).
https://habr.com/ru/articles/1061456/
#ESP32 #ESP8266 #I2C #BME280 #HDC1080 #AHT20 #датчики_влажности #Arduino #вебдашборд #IoT
-
35 годиков, а я радуюсь радио. История о том, как хаос в отладке автономного узла стоил шести месяцев
Собрал автономный радиоузел на заборе с солнечной панелью — связь без интернета заработала. Решил добавить метрики энергопотребления через INA3221… и узел ушёл в офлайн на полгода. История о том, как одна невидимая перемычка сломала мозг, а спасение пришло от старой малинки и правила «иди от простого к сложному».
-
Zynq 7000. Переносим I2C Master Controller. Работа над ошибками и утилиты userspace
В прошлой статье мы собрали готовый образ Linux и запустили I2C Master Controller который живет в ПЛИС и управляется драйвером предоставляющим в ОС доступ к нему как типовому I2C-контроллеру. В этой, заключительной части из общей серии статей, я хотел бы филигранно отшлифовать все мелкие недочеты и привести примеры утилит, которые могли бы отправлять нужные нам данные на I2C OLED-дисплей SSD1306, например температуру кристалла, время или что-нибудь еще. Всем кому интересна тема - го под кат! :)
https://habr.com/ru/companies/beget/articles/1047834/
#zynq #linux #userspace #driver #i2c #oled #kernel #uboot #zynqmini #buildroot
-
what I wanted to be doing: recurrent neural networks on laser distance matrix data
what I am doing: debugging i2c
-
Свет, тьма, VEML7700 и Python
У меня на полке стоит NanoPi Fire3 — старинный SBC с Linux на борту. С течением времени он неизбежно обрастает периферией разной степени бесполезности. Среди прочего, конечно же, в нем прописался экранчик LCD2004 (даже два) со светодиодной подсветкой, который освещал ночную квартиру, как прожектор. С одной стороны — удобно ходить в туалет, не включая свет, с другой — захотелось гламура, как в мобилке, чтобы, чем меньше вокруг света, тем тусклее была бы подсветка. Для этой цели нужно этот свет как‑то измерять, так что ассортимент периферии было решено расширить датчиком освещенности VEML7700. О том, как я приспосабливал его к делу, и пойдет речь далее. Измерить освещенность
https://habr.com/ru/articles/1038118/
#VEML7700 #I2C #Освещенность #Измерения #Датчик #Python #Linux #NanoPi_Fire3 #Подсветка #LCD2004
-
Создаем I2C Master Controller на Verilog. Burst-транзакции и дисплей SSD1306
Продолжим совершенствование нашего I2C-контроллера и расширение спектра применимости. В этот раз сделаем возможность burst-транзакций и выведем картинку SSD1306. Для этого необходимо детально разобрать механизм функционирования OLED-дисплея SSD1306 и сделать аппаратный контроллер с burst-передачей по I2C, и в качестве примера сделать генерацию визуализацию 3D-куба и текста. Получился ОЧЕНЬ объемный материал с объяснением всех механик примененных для решения данной задачи. И вся логика - сугубо в железе, без процессора, без микрокода и чисто в ПЛИС. Всем кто интересуется кодингом под Verilog - добро пожаловать под кат!
https://habr.com/ru/companies/beget/articles/1028178/
#Verilog #i2c_master_controller #i2c #ssd1306 #OLEDдисплей #FPGA #Фреймбуфер #I2C_burst_writer
-
Создаем I2C Master Controller на Verilog. Создаем контроллер ядра I2C
Я продолжаю описывать создание I2C-контроллера на Verilog. В предыдущих статьях мы протестировали ядро контроллера который выполняет атомарные функции работы с шиной в т.ч. в пограничных ситуациях типа clock stretching и пр. Теперь необходимо разработать управляющий контроллер для этого ядра, чтобы выполнять необходимые нам функции, но уже на следующем уровне абстракции и стать на шаг ближе к нашей цели - к рабочему коду I2C Controller который мы будем использовать с EEPROM и OLED SSD1306, а далее все это переиспользуем в Zynq и подключим к Linux. Всем заинтересовавшимся - добро пожаловать под кат!
https://habr.com/ru/companies/beget/articles/1025326/
#verilog #quartus #i2c #i2c_master_controller #testbench #alinx_ax301 #fpga