Протокол I2C передбачає використання двох ліній для надсилання та отримання даних: послідовний контакт тактового сигналу (SCL), який імпульсує плата контролера Arduino через регулярний інтервал, і послідовний контакт даних (SDA), по якому дані надсилаються між двома пристроями.
I2C є двопровідний послідовний протокол зв'язку з використанням послідовної лінії даних (SDA) і послідовної тактової лінії (SCL). Протокол підтримує кілька цільових пристроїв на комунікаційній шині, а також може підтримувати кілька контролерів, які надсилають і отримують команди та дані.
Фізичний протокол I2C Коли головний (ваш контролер) бажає поговорити з підлеглим (нашим CMPS03, наприклад), він починає з видачі послідовності запуску на шині I2C. Початкова послідовність є однією з двох спеціальних послідовностей, визначених для шини I2C, інша є послідовністю зупинки.
Для запису на шину I2C провідний надішле умову запуску на шині з адресою підлеглого, а також останній біт (біт R/W), встановлений на 0, що означає запис. Після того, як підлеглий пристрій надішле біт підтвердження, головний пристрій надішле адресу реєстру, до якого він хоче записати.
Загальні програми I2C включають зчитування апаратних моніторів, датчиків, годинників реального часу, керування виконавчими механізмами, доступ до низькошвидкісних ЦАП і АЦП, керування простими РК- або OLED-дисплеями, змінення налаштувань дисплея комп’ютера (наприклад, підсвічування, контраст, відтінок, колірний баланс) через дисплей Канал даних і зміна гучності динаміка…
Протокол I2C — це послідовний протокол зв’язку, який широко використовується для зв'язок на короткій відстані. Він забезпечує простий і надійний зв'язок між периферійним пристроєм і мікроконтролером. Протокол I2C складається з двох проводів SDA і SCL, які є двонаправленим синхронним зв'язком по послідовній шині.