Иногда некоторые проекты требуют разделения некоторых задач на несколько модулей Arduino или предоставления им возможности общаться друг с другом. Интерфейс IIC (Inter-Integrated Circuit) или I2C является идеальным решением этой проблемы. Для того, чтобы узнать более подробней о том, как осуществить передачу данных между двумя модулями Arduino вам нужно прочитать здесь — на специализированном онлайн ресурсе.
I2C — очень интересный протокол. Обычно он используется для связи между процессором и другими интегральными схемами на печатной плате, например, фотографическим или другими электронными устройствами.
Основная информация о I2C
I2C — это последовательная двусторонняя шина для передачи данных между электронными цепями. Она состоит из двух выводов: SCL — вывод, через который отправляется тактовый сигнал, SDA — через который отправляются данные. Данные передаются синхронно с тактовым сигналом, который подается на вывод SCL. Это работает в системе Master/Slave. Тем не менее, наличие нескольких ведущих устройств допускается. Каждому ведомому назначается адрес. Эта шина широко используется в различных модулях и датчиках.
Шина работает в определенной конфигурации, где логический ноль соответствует шине, подключенной к GND. Это означает, что для правильной работы шины необходимы резисторы со значением около 4,7 К. Эти резисторы могут быть встроены в устройство, но обычно следует добавлять внешние.
Стоит помнить, что емкость и индуктивность соединения существенно влияют на качество передачи данных. Оба эти параметра должны быть как можно меньше. Обычно 470 пФ считается предельным значением емкости кабеля. Слишком высокая скорость передачи может привести к ошибкам. Чрезмерная длина кабеля также может вызвать проблемы. Линии передачи данных несут быстро меняющиеся электрические сигналы. Они могут создавать шум на соседних соединениях. Необходимо отделить их от чувствительных к помехам элементов.
Чтобы соединить модули вместе для передачи через интерфейс I2C, необходимо соединить контакты A4 и A5 между модулями (в случае Arduino UNO) и соединить их вместе.
Внимание! Вы должны помнить, что модули Arduino, поставляемые с напряжением 5 В и 3,3 В не могут быть объединены. Такое соединение не может повредить модуль 5 В, но может быть опасно для модуля 3,3 В.