Arduino renk kodları ile çalışma;
Renk kombinelerini hesaplama:
Örneğin tek renk(1 bitlik) monochrome bir ekranınız var ise farklı 2(21) adet renginiz vardır
Ekranınız renkli ve 16 biti destekliyor ise 65,536(216) farklı kombine oluşturabilirsiniz
Hafızada kapladığı alan:
128x64 piksel olan bir ekranda bit biçiminde renk değeri verilmesi için;
128 * 64 * 2 = 16,384 byte alan gerekir
Renk belirleme:
Renkler üç rengin karışımı ile elde edilir
Red-Green-Blue(Kırmızı-Yeşil-Mavi)
Monochrome ekranlarda: Sadece siyah ve beyaz vardır. Ara ton oluşturabilirsiniz ancak iki renk görübilirsiniz
Siyah ekranın karanlık hali, beyaz ise ekranının rengidir(aldığınız ekrana göre renkler farklılık gösterebilir)
Siyah(renk yok): #define BLACK 0
Beyaz(tam renk): #define WHITE 1
Bu tanımlamalar Adafruit_SSD1306 kütüphanesinde tanımlıdır
Renkli ekranlarda:
16 bitte renklerin dağılımı 5 Bit Red(Kırmızı) – 6 Bit Green(Yeşil) – 5 Bit Blue(Mavi) yani R5G6B5'dir
Açılımı ise RRRRRGGGGGGRRRRR şeklinde bit olarak yazılır ve sonrasında ikilik tabandan onaltılık tabana çevrilir
Yeşil rengin altı bit olma nedeni ise insan gözünün yeşil ışığa karşı daha hassas olmasıymış
Örneğin;
// Color definitions
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
Örneğin Saf kırmızı:
RGB = (11111 000000 00000)2
RGB olarak kırmızı renk alabileceği en yüksek değerde, diğer renkler ise en düşük değerde
İkilik değerden onaltılığa dönüştürürken dörderli olarak gruplandırlır ve çevirme işlemi tamamlanır
Dönüşüm nasıl yapılır: İkilik tabandan onaltılık tabana dönüşüm hakkındaki yazım
(1111 1000 0000 0000)2 = (F800)16 olur
Tanıtırken hexadecimal olduğunu belirtmek için başına "0x" değeri eklenir
Renk Test | Renk | Red(Dec./%) | Green(Dec./%) | Blue(Dec./%) | Binary Değeri | Hex Değeri |
---|---|---|---|---|---|---|
Saf kırmızı | 31/100% | 0/0% | 0/0% | 1111100000000000 | F800 | |
Saf yeşil | 0/0% | 63/100% | 0/0% | 0000011111100000 | 07E0 | |
Saf mavi | 0/0% | 0/0% | 31/100% | 0000000000011111 | 001F | |
Siyah | 0/0% | 0/0% | 0/0% | 0000000000000000 | 0000 | |
Beyaz | 31/100% | 63/100% | 31/100% | 1111111111111111 | FFFF | |
Sarı | 31/100% | 63/100% | 0/0% | 1111111111100000 | FFE0 | |
Eflatun | 31/100% | 0/0% | 31/100% | 1111100000011111 | F81F | |
Cam Göbeği | 0/0% | 63/100% | 31/100% | 00000111111111111 | 07FF |
16 Bit renkleri dönüştürmek için site: RGB565 renk seçici
0 Yorumlar