Potansiyometre RGB, Mete Hoca PandaShield R1‘in kullanımı için hazırlanmış örnek kodlardan biridir.
Potansiyometre’den okunan değerler ile RGB LED’de farklı renkler oluşturur.
PandaShield üzerindeki LED2, LED3 ve LED4, Arduino üzerinde RGB LED ile aynı pinleri (9,10,11) paylaşıyor ve bu iki LED tipi arasında geçiş yapmak için RGB/LED Jumper‘ını kullanıyoruz.
Bu sketch kodunda potansiyometreyi döndürerek RGB LED’i renklendiriyor, bunu yaparken de RGB LED’in bileşenlerini ve bunları kullanarak farklı renkleri nasıl oluşturduğumuzu görüyoruz.
Arduino’da LED’lerin parlaklığını değiştirmek için PWM yöntemi kullanılıyor. Bu yöntemi de analogWrite() komutu ile uyguluyoruz. Arduino’nun 3, 5, 6, 9, 10 ve 11 numaralı pinleri PWM yöntemini destekler. PandaShield R1 üzerindeki RGB LED de bu pinlere bağlıdır.
Bu sketch kodunun da dahil olduğu tüm örnek kodları toplu olarak indirmek için buraya tıklayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
/* Potansiyometre RGB | Mete Hoca PandaShield R1 Potansiyometre'den okunan değerler ile RGB LED'de farklı renkler oluşturur. BAŞLANGIÇ: - RGB/LED Jumper'ını RGB konumuna getirin. - Bu sketch kodunu Arduino'ya yükleyin. SONUÇ: - Potansiyometre'yi döndürdüğümüzde RGB LED'in renk değiştirdiğini görüyoruz. - RGB LED üzerine küçük bir peçete koyarak farklı renklerden çıkan ışığı dağıtabilir ve oluşan renkleri daha rahat görebiliriz. Mete Hoca, Şubat 2023, https://www.metehoca.com/ EK: Arduino'ya Güçlü Başlangıç Eğitim ve Proje Seti'ni keşfet! */ byte pot = A2; // Potansiyometre Arduino'nun A2 pinine bağlı byte renk = 0; // Sketch içinde kullanacağımız değişken byte LED1 = 13; byte LED2 = 11; byte LED3 = 10; byte LED4 = 9; byte LED5 = 1; byte LED6 = 0; byte R = LED4; byte G = LED3; byte B = LED2; void setup() { Kurulum(); // Artık PandaShield'in gerekli tüm ön ayarlarını sketch kodunun // en altına yerleştirdiğimiz fonksiyon ile tek seferde yapabiliriz! } void loop() { int deger = analogRead(pot); // Pot değerini okuyoruz if(deger < 170) { // Okunan değere göre farklı renklerin renk = map(deger, 0, 169, 0, 255); // değerlerini hesaplıyoruz renkdegistir(255,renk,0); // Hesaplanan değerleri oluşturduğumuz } // fonksiyona gönderiyoruz if(deger >= 170 && deger < 340) { renk = map(deger, 170, 339, 0, 255); renkdegistir(255-renk,255,0); } if(deger >= 340 && deger < 510) { renk = map(deger, 340, 509, 0, 255); renkdegistir(0,255,renk); } if(deger >= 510 && deger < 680) { renk = map(deger, 510, 679, 0, 255); renkdegistir(0,255-renk,255); } if(deger >= 680 && deger < 850) { renk = map(deger, 680, 849, 0, 255); renkdegistir(renk,0,255); } if(deger >= 850) { renk = map(deger, 850, 1023, 0, 255); renkdegistir(255,0,255-renk); } } void renkdegistir(byte red, byte green, byte blue) { // Renkleri LED'e yazalım analogWrite(R,red); analogWrite(G,green); analogWrite(B,blue); } void Kurulum() { // PandaShield R1 ile yazılan her sketch koduna pinMode(LED1, OUTPUT); // yerleştirilerek kolaylık sağlayan genel fonksiyon pinMode(LED2, OUTPUT); // Dahili LED'leri çıkış olarak ayarlıyor ve UART'a pinMode(LED3, OUTPUT); // bağlı LED'leri söndürüyor. pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); pinMode(LED6, OUTPUT); digitalWrite(LED5, LOW); digitalWrite(LED6, LOW); } |
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
ÖZGÜN ve KULLANIŞLI projeler yapabilmek için ARDUINO’yu doğru öğrenmek gerekir. Arduino’ya güçlü başlamanın en iyi yolu ARDUINO’YA GÜÇLÜ BAŞLANGIÇ EĞİTİM VE PROJE SETİ‘dir. Arduino Uno üzerine kurulu olan set ile bu müthiş geliştirme platformunu tüm detaylarıyla anlayacak, başka hiçbir yerde bulamayacağınız inceliklerini öğrenecek ve en sık kullanılan Arduino sensör ve modüllerine aşina olacaksınız.