Сканер I2C шины на Arduino. Как узнать адрес I2C устройства

Как сканировать I2C шину на Arduino и узнать адрес всех подключенных I2C устройств.

В этой статье я расскажу как можно просканировать шину I2C на Arduino и узнать адреса всех подключенных I2C устройств.

Как узнать адрес I2C устройства на Arduino

I2C — это протокол, который позволяет различным устройствам взаимодействовать друг с другом используя одну шину данных SDA и SCL (всего два проводника). Для каждого устройства присваивается свой уникальный адрес, максимум 127 устройств на шине. Поменять адрес устройства нельзя, он намертво вшит в микросхему.

Но некоторые производители предоставили возможность изменять адрес в небольшом диапазоне, это дает возможность подключить несколько одинаковых устройств (с одинаковым чипом) к одной шине.

Иногда, нет возможности найти документацию на микросхему или у микросхемы не тот адрес, который указан в документации (такое то же бывало), тогда поможет данный скетч.

Что бы было более наглядно, предлагаю собрать тестовое устройство по схеме ниже. В примере используется Arduino UNO и LCD модуль, подключаемый по шине I2C.  При подключении, купленный не AliExpress LCD модуль, по стандартному адресу 0X27 не определялся. Вот тут и помог скетч сканирования шины I2C.

Выводы LCD модуля подключается к Arduino UNO по следующей схеме:

  • GND модуля к GND на arduino
  • VCC модуля к 5V на arduino
  • SDA модуля к A4 на arduino
  • SCL модуля к A5 на arduino

 

 

Оставить комментарий