Какво е това I2C?
11 октомври 2025
Въведение:
Ако си се занимавал с Arduino, сензори или микроконтролери, вероятно си виждал надписа I2C, понякога написан и като I²C или TWI (Two Wire Interface).
Но какво всъщност представлява това?
I2C е комуникационен протокол, който позволява на няколко електронни устройства да обменят данни помежду си само с две проводници.
История накратко:
I2C (Inter-Integrated Circuit) е създаден през 1982 г. от компанията Philips. Целта е била да се опрости връзката между интегрални схеми (например процесор и EEPROM памет) без нужда от множество пинове.
Днес I2C се използва навсякъде — в Arduino, Raspberry Pi, дисплеи, сензори, RTC модули и др.
Как работи I2C:
I2C използва само две линии за комуникация:
-
SDA (Serial Data Line) – за предаване на данни
-
SCL (Serial Clock Line) – за синхронизация (тактов сигнал)
На една и съща шина могат да бъдат свързани няколко устройства, като всяко има уникален адрес.
Така микроконтролерът (наречен Master) може да комуникира с много периферии (Slaves) по една и съща двойка проводници.
Основни характеристики на I2C:
-
Двупроводна комуникация (SDA и SCL)
-
Всеки Slave има уникален 7-битов или 10-битов адрес
-
Поддържа едновременна работа на множество устройства
-
Скорост на трансфер:
-
Standard Mode – до 100 kHz
-
Fast Mode – до 400 kHz
-
Fast Mode Plus – до 1 MHz
-
High Speed Mode – до 3.4 MHz
-
Как се свързват устройствата:
Примерна таблица за Arduino:
| Arduino Pin | I2C линия | Бележка |
|---|---|---|
| A4 | SDA | Данни |
| A5 | SCL | Тактова линия |
Забележка:
При други микроконтролери пиновете за I2C може да са различни, затова винаги проверявай схемата на платката.
Pull-up резистори:
Линиите SDA и SCL винаги имат pull-up резистори (обикновено 4.7 kΩ – 10 kΩ), които държат линията в логическо състояние „1“.
Без тях комуникацията няма да работи правилно, защото линиите на I2C са open-drain – устройствата могат само да ги „дърпат надолу“, но не и да ги вдигат нагоре.
Примерен код с Arduino:
Какво прави този код?
-
Импортира библиотеката Wire.h, която осигурява I2C функционалност.
-
В
setup()стартираме I2C като Master. -
Използваме цикъл, който проверява всички възможни адреси (от 1 до 127).
-
Ако има устройство, то отговаря и виждаме адреса му в серийния монитор.
Това е чудесен начин да откриеш какъв I2C адрес има твоя сензор или модул.
Предимства на I2C:
✅ Изисква само 2 проводника
✅ Лесно се разширява (добавяш ново устройство без промяна в кабелите)
✅ Добра поддръжка от Arduino и други платформи
✅ Ниска консумация на енергия
Недостатъци на I2C:
❌ По-бавен в сравнение със SPI
❌ Не е подходящ за дълги кабели (до около 1 метър максимум)
❌ Всеки Slave трябва да има уникален адрес (ограничение в броя устройства)
Приложения на I2C
Сензори;
Дисплеи (LCD1602 с I2C адаптер, OLED 0.96”);
RTC часовници (DS3231, DS1307)
EEPROM памети и др.
Заключение:
I2C е един от най-полезните и лесни за използване протоколи в света на електрониката.
Той позволява бърза, ефективна и компактна комуникация между различни устройства, без сложни кабели.
Ако се занимаваш с Arduino или микроконтролери — овладяването на I2C е задължителна стъпка!
В света на електрониката и автоматизацията сензорите играят ключова роля. Те са „очите и ушите“ на системите, защото събират информация от заобикалящата среда и я предават към контролер, например микроконтролер или компютър. Но когато започнем да се занимаваме с тях, често се сблъскваме с два термина: аналогови и цифрови сензори. Какво точно означават и по какво се различават? Нека да ги разгледаме по прост и ясен начин.
прочети ощеКогато става дума за управление на променлив ток (AC) — например за лампи, мотори, нагреватели или вентилатори — често се използват специални електронни компоненти, които могат бързо и ефективно да контролират потока на електричеството. Един от най-популярните и евтини такива компоненти е триакът (TRIAC). В тази статия ще разберем какво е триак, как работи и защо е толкова полезен при управление на AC товари.
прочети ощеВ електрониката и комуникационните системи често се говори за диференциални сигнали. Те се използват навсякъде — от USB и Ethernet до сензори и индустриални интерфейси като RS-485 и CAN. Но какво всъщност представлява диференциалният сигнал и защо е толкова важен?
прочети ощеВ индустриалната автоматизация често се срещат различни протоколи за обмен на данни между устройства – сензори, контролери, задвижващи механизми и SCADA системи. Един от най-старите и все още най-широко използвани протоколи е Modbus. Създаден през 1979 г. от Modicon (сега Schneider Electric), Modbus се е наложил като стандарт заради своята простота, надеждност и съвместимост с безброй устройства.
прочети ощеВ света на индустриалната автоматизация и управлението на машини комуникацията между устройствата е от решаващо значение. Едно от най-популярните и надеждни решения за това е RS485 – комуникационен стандарт, който се използва в различни индустрии вече десетилетия.
прочети ощеВ съвременния свят на електрониката и вградените системи обменът на данни между различни устройства е изключително важен. Един от най-разпространените и лесни за използване методи за комуникация е UART (Universal Asynchronous Receiver-Transmitter). В тази статия ще разгледаме какво представлява UART, как работи и как можем да го използваме за комуникация между микроконтролери, компютри и други периферни устройства.
прочети ощеВ днешно време преносимите устройства като телефони, таблети и смарт аксесоари са част от ежедневието ни. Често се случва батерията да се изтощи, когато нямаме контакт наблизо. Именно тук се появяват power bank-овете – малки преносими батерии, които могат да зареждат всякакви устройства чрез USB портове. Но възможно ли е да използваме power bank и за захранване на електронни проекти, например с Arduino или Raspberry Pi?
прочети ощеИзборът на правилния адаптер за захранване на вашия Arduino е от решаващо значение за стабилната работа на проектите ви. Неподходящо захранване може да доведе до проблеми като нестабилна работа, грешки в сензорите или дори повреда на платката. В тази статия ще разгледаме стъпка по стъпка как да изберете най-добрия адаптер за вашите нужди.
прочети ощеВ електрониката често се налага да свържем две различни електрически вериги, но без да искаме те да са директно свързани една с друга. Причината е проста – понякога едната верига работи с ниско напрежение (като 5V за Arduino), а другата с високо (като 220V за домакински уреди). Ако ги свържем директно, рискуваме скъпи повреди или дори опасност за безопасността. Тук идва решението – оптронът.
прочети ощеВ тази статия ще ви покажа как да управлявате LED диод чрез Bluetooth, използвайки популярния модул HC-05 и Arduino. Това е чудесен проект за начинаещи, който ще ви помогне да научите основите на безжичната комуникация и управлението на електронни компоненти.
прочети ощеСигурността на дома и офиса е важна тема в днешно време. Един лесен и достъпен начин да изградим система за контрол на достъпа е чрез Arduino и RFID модул. В тази статия ще разгледаме как можем да създадем алармена система, която се отключва само при използване на правилна RFID карта.
прочети ощеВ света на електрониката и микроконтролерите комуникацията между устройства е основна част от всяка система. Един от най-бързите и надеждни протоколи за обмен на данни е SPI (Serial Peripheral Interface). Той е широко използван при сензори, дисплеи, памети и други периферни модули.
прочети ощеВ днешно време можем да направим „умни“ почти всички предмети около нас. Един от тях е пощенската кутия. Колко често проверявате дали имате ново писмо? С помощта на Arduino и един прост сензор – Reed Switch (магнитен датчик) – можем да създадем умна пощенска кутия, която ще ни известява, когато някой отвори вратата ѝ.
прочети ощеДъждът често може да ни изненада – особено ако сме оставили отворен прозорец, прането навън или сме в оранжерия, където влагата е критичен фактор. С помощта на Arduino и един обикновен rain сензор можем да изградим проста, но ефективна сигнализация за дъжд, която да ни известява, когато започне да вали.
прочети ощеКогато работим с Arduino, често се сблъскваме с проблеми в кода или връзките, които на пръв поглед е трудно да открием. Един от най-полезните инструменти за диагностика и дебъгване е серийният монитор в Arduino IDE. Той ни позволява да „виждаме“ какво се случва вътре в микроконтролера, като показва текст, числа и съобщения, които ние изпращаме от кода
прочети ощеDC моторите са едни от най-често използваните електромеханични устройства в хобистки и професионални проекти. За да ги управляваме правилно, е необходимо да можем да сменяме посоката на въртене и да регулираме скоростта им. Една от най-популярните интегрални схеми за тази цел е L298N – H-мост драйвер, който позволява управление на два DC мотора едновременно.
прочети ощеВ света на електрониката често ще чуеш за „логически нива“ – това е начинът, по който дадено устройство разбира кога сигналът е логическа нула (0) и кога е логическа единица (1). Най-разпространените логически стандарти в хоби и професионалните проекти са 3.3V и 5V. На пръв поглед разликата изглежда само в напрежението, но всъщност има и други важни детайли.
прочети ощеВ тази статия ще ви покажа как да изградите умен вентилатор, който се включва и изключва автоматично според температурата, измерена от сензор DHT11. Управлението на вентилатора ще се осъществява чрез транзистор, който ще работи като електронен ключ.
прочети ощеАко искаш да използваш Arduino в проекти без достъп до електрическата мрежа – като портативни устройства, сензорни станции или IoT приложения – захранването от батерия е задължително. В тази статия ще ти покажа как да захраниш Arduino от батерия и как да го оптимизираш за минимална консумация на ток, за да удължиш максимално живота на батерията.
прочети ощеАко се занимаваш с електроника или си фен на Ардуино, вероятно си чувал за транзистори. Те са едни от най-важните и често използвани компоненти в електрониката. Без тях, съвременната техника нямаше да съществува. В тази статия ще ти обясня какво е транзистор, как работи и как можеш да го използваш в своите проекти.
прочети ощеАко някога сте искали да движите сервомотор плавно и точно, един от най-лесните начини е да използвате потенциометър. В тази статия ще ви покажа как с помощта на Arduino, един сервомотор и един потенциометър може да изградите проста, но много полезна система за контрол.
прочети ощеPWM (Pulse Width Modulation) или модулация на широчината на импулса е техника, при която бързо се включва и изключва електрически сигнал. Вместо да подаваме постоянно напрежение, ние го „накъсваме“ на импулси.
прочети ощеАко тепърва започваш с Arduino и търсиш бърз и лесен проект, аларма с бутон и зумер е идеалният избор! Тя е супер проста, но ще те научи на основни неща – как да свързваш компоненти, как да пишеш код и как да управляваш електронни елементи чрез микроконтролера.
прочети ощеI2C (Inter-Integrated Circuit) е един от най-популярните серийни комуникационни протоколи, използван в електрониката и микроконтролерите. Той е създаден от Philips (сега NXP) и се използва за комуникация между „майстор“ (master) – обикновено микроконтролер като Arduino – и едно или повече „роби“ (slaves), които могат да бъдат сензори, дисплеи, памети и други модули.
прочети ощеСмарт технологиите вече не са само за скъпите джаджи – с помощта на Arduino можеш да си направиш „умна“ лампа у дома, която сама решава кога да се включва и изключва. В тази статия ще ти покажа как да изградиш умна лампа с Arduino и фоторезистор (LDR) – лесен, евтин и много полезен проект.
прочети ощеРелето е едно от най-полезните електронни устройства, които можем да използваме заедно с Arduino. То ни позволява да управляваме устройства, които работят с високо напрежение или изискват повече ток, отколкото Arduino може да осигури директно.
прочети ощеВ този проект ще създадем прост уред за измерване на температура и влажност, използвайки сензора DHT11, LCD дисплей 16x2 с I2C модул и Arduino UNO. Ще прочитаме данните от DHT11 и ще ги показваме в реално време на LCD дисплея. Това е идеален проект за начинаещи в света на Arduino, който показва как се работи със сензори и дисплеи.
прочети ощеВ днешно време автоматизацията на дома е нещо обичайно и достъпно за всеки. Един от най-простите и полезни проекти е автоматичното осветление с помощта на PIR сензор и Arduino. Това е перфектно решение за коридори, гаражи, мазета или входни врати, където не винаги е удобно да се натиска ключ за светлината. В този блог ще ви покажем как да създадете система за автоматично осветление, която засича движение и включва лампа само когато е необходимо.
прочети ощеАко тепърва започваш с Arduino, този проект е идеален за теб. Ще научиш как да управляваш LED светодиод с помощта на бутон. Това е основата на всяка по-сложна електроника — вход (бутон) и изход (LED).
прочети ощеАко винаги си искал да създаваш собствени електронни проекти – от умно осветление до автоматични устройства – Arduino е най-доброто място, от което да започнеш. В тази статия ще разбереш какво представлява Arduino, как работи и как да направиш първия си проект стъпка по стъпка.
прочети още