I2C сканер на Arduino

В этой статье расскажу как с помощью Arduino сделать I2C сканер, в качестве примера определю адрес LCD1602 дисплей, работающего по интерфейсу I2C.

I2C сканер на Arduino

I2C сканер на Arduino

Немного теории, I2C — это протокол, который позволяет различным устройствам взаимодействовать друг с другом используя одну шину данных SDA и SCL (всего два проводника), так же, для каждого устройства присваивается свой уникальный адрес (максим 127 устройств). Поменять адрес устройства нельзя, он намертво вшит в микросхему, но некоторые производитель предоставил возможность изменять адрес в небольшом диапазоне, это дает возможность подключить несколько одинаковых устройств (с одинаковым чипом) к одной шине.
Иногда, нет возможности найти документацию на микросхему или микросхема не имеет адрес схожий от документации (такое то же бывало), тогда поможет данный скетч. В примере используется  Arduino UNO и LCD модуль I2C (который имеет брак и другой адрес, не 0x27), так-же, интерфейс I2C работает только на определенные выводах (в arduino UNO это A4 и A5), приведу таблицу подключения для различных платформ Arduino.

I2C сканер на Arduino

Собираем принципиальную схему

I2C сканер на Arduino

Открываем среду разработки IDE Arduino, копируем скетч и загружаем его в платформу Arduino.

Скачать скетч

Открываем «Монитор порта», выставляем скорость 9600 и если все правильно подключено, программа покажет адрес устройства, в моем случаи LCD с адресом 0x3F

I2C сканер на Arduino

Вот, и все.

9 комментариев для “I2C сканер на Arduino”
  1. Я использувал этот скетч но в меня адрес не показывался . Думал может это дело в I2c ,но не знаю .Еще может быть плохо припаяно I2c к ЛСД .Может вы подскажете .

  2. Спасибо! нашел по адресу 0х27

    I2C Сканер
    Сканирование……..
    I2C устройство найдено по адресу 0x27 !
    Закончено

    Сделал текст на русском языке )

  3. доброго времени суток.
    где можно использовать сканер..??? для вывода на дисплей значений с разных датчиков?

    1. Здравствуйте, подойдет если не знаете адрес подключенного устройства.

  4. выдает ошибку когда запускаю, что делать?
    avrdude: ser_open(): can’t open device «\\.\COM5»: �� ������� ����� ��������� ����.
    Failed uploading: uploading error: exit status 1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *