Делаем I2C — сканер адреса устройства на Arduino

Ограниченность количества портов ввода/вывода рано или поздно даст о себе знать. Решение данной проблемы может быть использование специализированных протоколов передачи данных: I2C,1-wire,SPI,USART. Сейчас речь пойдет об интерфейсе I2C. Данный интерфейс хорош тем, что по нему можно подключить до 127 устройств, при этом использовать только два порта ввода/вывода Arduino. Но как известно, у каждого устройства есть свой уникальный адрес. Так вот зная адрес, устройство можно легко идентифицировать и получать/принимать с него необходимые данные.

Вопрос в другом, где же этот адрес можно взять? Как правило, производитель указывает его в тех. документации. Но если нет возможности ее найти (такое бывает) или маркировка на корпусе частично затерта, можно воспользоваться платой Arduino UNO в качестве сканера адреса. Для осуществления данной задачи был написан небольшой скетч, который достаточно только залить в Arduino и подсоединить устройство с которого требуется считать адрес.

Пример программного кода:

На самом деле все достаточно просто, для большей ясности сделал много комментариев в коде. Заливайте, пробуйте, все работает!

Видео работы кода, залитого в Arduino UNO:

FileDescriptionFile sizeЗагрузок
zip Скетч проекта "I2C_scaner" для Arduino1 kB 1066
Вы можете оставить комментарий, или ссылку на Ваш сайт.

3 комментариев к записи “Делаем I2C — сканер адреса устройства на Arduino”

  1. Александр:

    А к каким ногам подключать I2C устройство?

  2. Тимур:

    Спасибо! Очень выручил сканер, долго мучался, оказалось адрес микросхемы отличается от написанного в даташите. Успехов!

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