Устройства и модули с интерфейсом I2C широко доступны и очень популярны в проектах Arduino. Каждое устройство I2C имеет адрес, обычно фиксированный или настраиваемый перемычками. При работе с устройством I2C первой задачей является определение адреса устройства. Обычно вы можете найти его в документации или спецификациях, но иногда это может быть утомительно или просто недоступно. Однако легко просканировать шину Arduino I2C и обнаружить адреса подключенных устройств.

В этом руководстве мы покажем вам, насколько легко и быстро можно сканировать шину I2C и обнаруживать адреса подключенных устройств I2C с помощью Visuino – простой в использовании графической среды разработки для Arduino.
Итак, в нашем примере у нас есть Arduino Nano и датчик BMP180 с шиной I2C, адрес которого неизвестен. Для начала выполним подключение этих компонентов.


Подключите питание 5 В VCC (красный провод), землю (черный провод), SDA (зеленый провод) и SCL (желтый провод) к модулю I2C. Подключите другой конец заземляющего провода (черный провод) к заземляющему контакту платы Arduino. Подключите другой конец провода питания 5 В VCC (красный провод) к контакту питания 5 В на плате Arduino. Подключите другой конец провода SDA (зеленый провод) к SDA / аналоговому контакту 4 платы Arduino Nano. Подключите другой конец провода SCL (желтый провод) к SCL / аналоговому контакту 5 платы Arduino Nano.
Чтобы начать программировать Arduino, вам потребуется среда разработки Arduino IDE. Имейте в виду, что в Arduino IDE 1.6.6 есть несколько критических ошибок. Убедитесь, что вы установили 1.6.7 или выше, иначе это руководство не будет работать. Также должно быть установлено программное обеспечение Visuino (visuino.com). Запустите Visuino. Нажмите кнопку «Tools» в компоненте Arduino в Visuino.

Когда появится диалоговое окно, выберите Arduino Nano.

Чтобы сканировать шину I2C, нам нужно добавить элемент «I2C Scan» в Arduino I2C. В проектной области выберите компонент Arduino. В инспекторе объектов разверните свойство «I2C», затем нажмите кнопку «...» рядом со значением вложенного свойства «Elements».

В редакторе элементов выберите «Сканирование I2C» в правом окне.

Затем нажмите кнопку «» слева, чтобы добавить элемент сканирования I2C.

Мы хотим выполнить сканирование, как только код Arduino начнет выполняться. Для этого мы можем использовать компонент «Start». Он генерирует событие синхронизации, когда код Arduino начинает выполняться. Введите «Start» в поле «Filter» на панели инструментов компонентов, затем выберите компонент «Start» и поместите его в проектную область.

Подключите вывод «Out» компонента Start1 к входному контакту «Scan» элемента «I2C Scan1» элемента «I2C.Elements» компонента Arduino.

Подключите выходной контакт «Address» элемента «I2C Scan1» у «I2C.Elements» компонента Arduino к входному контакту «In» канала «Serial (0)» компонента Arduino.

В Visuino нажмите F9 или нажмите кнопку, показанную на рисунке, чтобы сгенерировать код Arduino, и откройте Arduino IDE.

В среде Arduino IDE нажмите кнопку Загрузить (Upload), чтобы скомпилировать и загрузить код.

Если вы откроете последовательный терминал в Arduino IDE или Visuino, вы увидите I2C-адрес модуля.

© digitrode.ru