UYGULAMA A: BUTON KULLANIMI (BUTON İLE RGB KONTROLÜ)
Üstteki şekilde de görüldüğü gibi ortak anot (+) RGB Ledimizi 3 adet buton ile renk tonu ayarlaması yaptıracağız. Butonlardan biri KIRMIZI renk tonlaması, diğer bir buton YEŞİL renk tonlamasını, 3. butonumuz ise MAVİ renk tonlamasını yapacak.
Gerekli Malzemeler:
- Arduino Uno
- Breadboard
- 5mm RGB LED
- 220 ohm direnç (3 adet)
- push buton (3 adet)
- jumper kablolar
Kod:
int kirmiziLEDPin=11; int yesilLEDPin=10; int maviLEDPin=9; int kirmiziSwitchPin=7; int yesilSwitchPin=6; int maviSwitchPin=5; int kirmizi=0; int mavi=0; int yesil=0; void setup() { pinMode(kirmiziLEDPin,OUTPUT); pinMode(yesilLEDPin,OUTPUT); pinMode(maviLEDPin,OUTPUT); pinMode(kirmiziSwitchPin,INPUT_PULLUP); pinMode(yesilSwitchPin,INPUT_PULLUP); pinMode(maviSwitchPin,INPUT_PULLUP); } void loop() { if(digitalRead(kirmiziSwitchPin)==LOW){ //kırmızı buton basılı ise değeri 1 artır kirmizi++; if(kirmizi>255) kirmizi=0; } if(digitalRead(yesilSwitchPin)==LOW){ yesil++; if(yesil>255) yesil=0; } if(digitalRead(maviSwitchPin)==LOW){ mavi++; if(mavi>255) mavi=0; } renkAyarla(kirmizi,yesil,mavi); delay(10); } void renkAyarla(int kirmizi, int yesil, int mavi){ kirmizi=255-kirmizi; //ortak katot RGB ise bu satır silinmelidir! yesil=255-yesil; //ortak katot RGB ise bu satır silinmelidir! mavi=255-mavi; //ortak katot RGB ise bu satır silinmelidir! analogWrite(kirmiziLEDPin,kirmizi); analogWrite(yesilLEDPin,yesil); analogWrite(maviLEDPin,mavi); }
UYGULAMA B: BUTON KULLANIMI (BUTON İLE RENK OLUŞTURMA)
Bu uygulamada ise butonlara basılı olduğu sürece renkleri yakan, buton bırakıldığında ise sönen uygulama hedeflenmiştir. Devre bağlantısı üstteki ile aynıdır.
Bu uygulamada ile birden fazla butona aynı anda basarak temel renklerin karışımıyla hangi renkler elde edildiği de görülmektedir. Uygulama A daki koda göre daha sade ve fonksiyon kullanılmamıştır. if ve else komutlarından sonra tek satır kod kullanıldığı için süslü parantez açmaya gerek kalmadığı için satır sayısı da atmamış ve daha sade bir görüntü oluşmuştur.
Kod:
int kirmiziLEDPin=11; int yesilLEDPin=10; int maviLEDPin=9; int kirmiziSwitchPin=7; int yesilSwitchPin=6; int maviSwitchPin=5; void setup() { pinMode(kirmiziLEDPin,OUTPUT); pinMode(yesilLEDPin,OUTPUT); pinMode(maviLEDPin,OUTPUT); pinMode(kirmiziSwitchPin,INPUT_PULLUP); pinMode(yesilSwitchPin,INPUT_PULLUP); pinMode(maviSwitchPin,INPUT_PULLUP); } void loop() { if(digitalRead(kirmiziSwitchPin)==LOW) digitalWrite(kirmiziLEDPin,HIGH); else digitalWrite(kirmiziLEDPin,LOW); if(digitalRead(yesilSwitchPin)==LOW) digitalWrite(yesilLEDPin,HIGH); else digitalWrite(yesilLEDPin,LOW); if(digitalRead(maviSwitchPin)==LOW) digitalWrite(maviLEDPin,HIGH); else digitalWrite(maviLEDPin,LOW); }
Son Yorumlar