У цьому проекті ми збираємось підключити 5 RGB (червоний зелений синій) світлодіодів до Arduino Uno. Ці світлодіоди підключені паралельно для зменшення використання PIN-коду Uno.
Типовий світлодіод RGB зображений на малюнку нижче:
Світлодіод RGB матиме чотири висновки, як показано на малюнку.
PIN1: Колір 1 мінусовий термінал або Колір 1 позитивний термінал
PIN2: загальний позитив для всіх трьох кольорів або загальний негатив для всіх трьох кольорів
PIN3: Колір 2 мінусової клеми або Колір 2 позитивної клеми
PIN4: Колір 3 мінусовий термінал або Колір 3 позитивний термінал
Отже, є два типи світлодіодів RGB, один - це загальний катодний тип (загальний негативний), а інший - загальний анодний тип (загальний позитивний). У CC (загальний катод або загальний негатив) буде три позитивних термінали, кожен термінал представляє колір і один негативний термінал, що представляє всі три кольори. Внутрішня схема світлодіода CC RGB може бути представлена, як показано нижче.
Якщо ми хочемо, щоб червоний був включений вище, нам потрібно включити червоний світлодіодний штифт і заземлити загальний мінус. Те саме стосується всіх світлодіодів. У CA (Common Anode або Common Positive) буде три негативних термінала, кожен термінал представляє колір і один позитивний термінал, що представляє всі три кольори. Внутрішня схема світлодіода CA RGB може бути представлена, як показано на малюнку.
Якщо ми хочемо, щоб червоний був включений вище, нам потрібно заземлити червоний світлодіодний штифт і підключити загальний позитив. Те саме стосується всіх світлодіодів.
У нашій схемі ми будемо використовувати тип CA (Common Anode або Common Positive). Для підключення 5 RGB-світлодіодів до Arduino нам зазвичай потрібно 5x4 = 20 PIN-кодів, оскільки ми збираємося зменшити використання PIN-коду до 8, підключаючи RGB-світлодіоди паралельно та використовуючи техніку, яка називається мультиплексування.
Компоненти
Апаратне забезпечення: UNO, блок живлення (5 В), резистор 1 кОм (3 штуки), RGB (червоний зелений синій) світлодіод (5 штук)
Програмне забезпечення: Atmel studio 6.2 або Aurdino nightly.
Схема та робоче пояснення
Схема підключення для RGB світлодіодного інтерфейсу Arduino показана на малюнку нижче.
Тепер, що стосується складної частини, скажімо, що ми хочемо перетворити ЧЕРВОНИЙ світлодіод у SET1 та ЗЕЛЕНИЙ світлодіод у SET2. Ми використовуємо PIN8 та PIN9 UNO, а також заземлюємо PIN7, PIN6.
З таким потоком ми матимемо ЧЕРВОНИЙ у першому SET та ЗЕЛЕНИЙ у другому SET ON, але ми матимемо ЗЕЛЕНИЙ у SET1 та ЧЕРВОНИЙ у SET2 ON. За простою аналогією ми бачимо, як всі чотири світлодіоди замикають ланцюг із зазначеною вище конфігурацією, і тому всі вони світяться.
Отже, щоб усунути цю проблему, ми одночасно вмикаємо лише один SET. Скажімо, при t = 0 м SEC, SET1 налаштовано на ON. При t = 1 м SEC, SET1 відключається, а SET2 вмикається. Знову при t = 6 м SEC, SET5 вимкнено, а SET1 увімкнено. Це триває.
Тут фішка полягає в тому, що людське око не може вловлювати частоту більше 30 Гц. Тобто, якщо світлодіод постійно вмикається і вимикається зі швидкістю 30 Гц або більше. Око бачить, що світлодіод постійно горить. Однак це не так. Світлодіод буде постійно вмикатися та вимикатись. Цей прийом називається мультиплексування.
Простіше кажучи, ми будемо живити кожен загальний катод з 5 SET 1milli секунди, тому за 5milli секунди ми закінчимо цикл, після чого цикл знову починається з SET1, це триває вічно. Оскільки світлодіодні набори вмикаються і вимикаються занадто швидко. Людина передбачає, що всі набори постійно увімкнені.
Отже, коли ми подаємо живлення SET1 на t = 0 мілісекунд, ми заземлюємо ЧЕРВОНИЙ штифт. При t = 1 мілісекунди ми підключаємо SET2 і заземлюємо ЗЕЛЕНИЙ штифт (в цей час ЧЕРВОНИЙ і СИНИЙ піднімаються ВВИСО). Цикл проходить швидко, і око бачить ЧЕРВОНЕ світіння в ПЕРШОМУ НАБОРІ, а ЗЕЛЕНЕ - у ДРУГОМ НАБОРІ.
Ось як ми програмуємо світлодіод RGB, ми будемо повільно світити всі кольори в програмі, щоб побачити, як працює мультиплексування.