Записи с меткой ‘программный код’

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

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

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

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

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

Читать далее »