Bu projede 5 RGB (Kırmızı Yeşil Mavi) LED'i Arduino Uno'ya bağlayacağız. Bu LED'ler, Uno'nun PIN kullanımını azaltmak için paralel olarak bağlanır.
Aşağıdaki şekilde tipik bir RGB LED gösterilmektedir:
RGB LED, şekilde gösterildiği gibi dört pime sahip olacaktır.
PIN1: Renk 1 negatif terminal veya renk 1 pozitif terminal
PIN2: Üç rengin tümü için ortak pozitif veya üç rengin tümü için ortak negatif
PIN3: Renk 2 negatif terminal veya renk 2 pozitif terminal
PIN4: Renk 3 negatif terminal veya renk 3 pozitif terminal
Dolayısıyla iki tür RGB LED vardır, biri ortak katot tipi (ortak negatif) ve diğeri ortak anot tipi (ortak pozitif) tiptir. CC'de (Ortak Katot veya Ortak Negatif), her terminal bir rengi temsil eden üç pozitif terminal ve üç rengi de temsil eden bir negatif terminal olacaktır. Bir CC RGB LED'in iç devresi aşağıdaki gibi gösterilebilir.
KIRMIZIN yukarıda olmasını istiyorsak, KIRMIZI LED pinine güç vermemiz ve ortak negatifi topraklamamız gerekir. Aynı şey tüm LED'ler için de geçerli. CA'da (Ortak Anot veya Ortak Pozitif), her terminal bir rengi temsil eden üç negatif terminal ve üç rengi de temsil eden bir pozitif terminal olacaktır. Bir CA RGB LED'in dahili devresi, şekilde gösterildiği gibi temsil edilebilir.
KIRMIZIN yukarıda olmasını istiyorsak, KIRMIZI LED pini topraklamalı ve ortak pozitif enerjiye güç vermeliyiz. Aynı şey tüm LED'ler için de geçerli.
Devremizde CA (Ortak Anot veya Ortak Pozitif) tipini kullanacağız. Arduino'ya 5 RGB LED bağlamak için genellikle 5x4 = 20 PINS'e ihtiyacımız var, RGB LED'leri paralel bağlayarak ve çoğullama denilen bir teknik kullanarak bu PIN kullanımını 8'e düşüreceğiz.
Bileşenler
Donanım: UNO, güç kaynağı (5v), 1KΩ direnç (3 adet), RGB (Kırmızı Yeşil Mavi) LED (5 adet)
Yazılım: Atmel studio 6.2 veya Aurdino her gece.
Devre ve Çalışma Açıklaması
RGB LED Arduino arabirimi için devre bağlantısı aşağıdaki şekilde gösterilmiştir.
Şimdi zor kısım için, diyelim ki KIRMIZI led'i SET1'de ve YEŞİL LED'i SET2'de çevirmek istiyoruz. UNO'nun PIN8 ve PIN9'unu ve PIN7, PIN6'yı topraklıyoruz.
Bu akışla ilk SET'te KIRMIZI ve ikinci SET ON'da YEŞİL olacak, ancak bununla birlikte SET1'de YEŞİL ve SET2 AÇIK'da KIRMIZI olacak. Basit bir benzetme ile dört LED'in de yukarıdaki konfigürasyonla devreyi kapattığını ve böylece hepsinin parladığını görebiliriz.
Yani bu sorunu ortadan kaldırmak için bir seferde sadece bir SET açacağız. T = 0m SEC'de, SET1'in AÇIK olduğunu söyleyin. T = 1m SEC'de SET1 KAPALI ve SET2 AÇIK konuma getirilir. Yine t = 6m SEC'de SET5 KAPALI ve SET1 AÇIK hale gelir. Bu devam ediyor.
İşin püf noktası, insan gözünün 30 HZ'den fazla bir frekansı yakalayamamasıdır. Bu, bir LED'in 30HZ veya daha yüksek bir hızda sürekli olarak YANIP SÖNMESİ durumudur. Göz, LED'i sürekli AÇIK olarak görür. Ancak durum bu değil. LED sürekli olarak YANIP SÖNECEKTİR. Bu tekniğe çoklama denir.
Basitçe söylemek gerekirse, 5 SET'lik her bir ortak katoda 1milli saniyede güç vereceğiz, yani 5milli saniyede döngüyü tamamlamış olacağız, bundan sonra döngü tekrar SET1'den başlar, bu sonsuza kadar devam eder. LED SET'leri çok hızlı AÇIK ve KAPALI olduğu için. İnsan, tüm SET'lerin her zaman AÇIK olduğunu tahmin ediyor.
Öyleyse, SET1'i t = 0 mili saniyede çalıştırdığımızda, KIRMIZI pini topraklıyoruz. T = 1 mili saniyede, SET2'ye güç veririz ve YEŞİL pini topraklarız (bu sefer KIRMIZI ve MAVİ YÜKSEK çekilir). Döngü hızlı ilerler ve göz, İLK SETTE KIRMIZI, İKİNCİ SET'te YEŞİL parıltı görür.
RGB LED'i bu şekilde programlıyoruz, çoğullamanın nasıl çalıştığını görmek için programda tüm renkleri yavaşça parlatacağız.