Arduino Eğitim Kiti – Tüm Yıl İçin Arduino Müfredatı: Ders 22 Işık Sensörü – RGB Led Uygulaması için isterseniz sunu şeklinde alt taraftaki kutucuğu büyüterek takip edebilir, isterseniz de tüm sunu sayfalarının makale haline dönüştürülmüş versiyonu takip edebilirsiniz. İçerikler büyük oranda aynıdır. Sınıf ortamında kolaylık olması açısından sunu şeklinde de sunulmuştur.

Ders İçeriği:

Işık Sensörü – RGB LED Uygulaması

Ders Kazanımları:

  • LDR uygulamasını yardım almadan başarılı bir şekilde tamamlar.
  • RGB LED uygulamasını yardım almadan başarılı bir şekilde tamamlar.

Oluşabilecek Hatalar:

Aşağıdaki programları çalıştırırken bir takım hatalarla karşılaşabilirsiniz. Bu hataların kodların yazımında meydana gelen hatalar dışında başka sebeplerle ortaya çıkması muhtemeldir. Bu hatalardan sık karşılaşılanlara aşağıda değinilmiştir.

Kart Seçilmesinden Kaynaklı Hata:

Arduino kurulumu gerçekleştirildikten sonra araçlar menüsünden doğru kartın seçilmesi gerekmektedir. Kart seçilmediğinde “Karta yüklenirken bir sorun oluştu.” benzeri bir hata alabilirsiniz.

USB Portun Seçilmesiyle İlgili Hatalar:

Arduino kurulumu gerçekleştirildikten sonra araçlar menüsünden doğru portun seçilmesi gerekmektedir. Bu port Arduino Uno’nun bilgisayara bağlandığı usb porttur. Farklı şekilde bilgisayarınızda usb driver yüklenmemiş olabilir. Bu gibi hatalarda “Port bulunamadı.” gibi hatalar almanız muhtemeldir.


Uygulama 1: Yüksek Işık ve Düşük Işığa Göre LED Yakma

Kullanılacak Malzemeler:

Bağlantı Şeması:

Bağlantılar şekildeki gibi yapılır.

  1. Arduino’nun 5V pinini breadboard üzerinde “+” hatta, GND pinini “-” hatta bağlanır.
  2. LDR sensör şekilde ki gibi yerleştirildikten sonra bir bacağına 220R direnç bağlanır.
  3. Direncin boşta kalan bacağı “-” hatta, LDR’nin direnç bağlı olan bacağı A0 pinine, LDR’nin boşta kalan bacağı ise “+” hatta bağlanır.
  4. Sarı ve kırmızı LED’ler fotoğraftaki gibi bağlandıktan sonra dirençler bağlanır.
  5. Sarı LED’in bağlı olduğu direncin boşta kalan bacağı 12 nolu dijital pine, kırmızı LED’in bağlı olduğu direncin boşta kalan bacağı ise 10 nolu pine bağlanır.

Kodlar:

Uygulamanın “.ino” dosyasını (kod dosyasını) buradan indirebilirsiniz.

int yuksek=10;//yuksek ışıkta yanacak olan ledi bağladığımız pin
int dusuk=12;////düşük ışıkta yanacak olan ledi bağladığımız pin
int sensor=A0;//ldr sensösorünü bağladığımız analog pin
void setup()
{
pinMode(yuksek,OUTPUT);
//pinlere arduniodan çıkış sinyali gönderileceğini belirttik.
pinMode(dusuk,OUTPUT);
}
void loop() {
int deger=analogRead(sensor);//sensörden okuduğumuz değeri deger değişkenine atadık
if(deger<500)// eğer değer 500 den küçük ise
{digitalWrite(dusuk,HIGH);//düsük lede 5v enerji gönder
digitalWrite(yuksek,LOW);//yüksek lede 0v enerji gönder
}
else//değilse
{ digitalWrite(yuksek,HIGH);//yüksek lede 5v enerji gönder
digitalWrite(dusuk,LOW); //düşük lede 0v enerji gönder
}
}

  • Yukarıdaki bağlantı yapıldığında ve kodlar Arduino Uno’ya yüklendiğinde çalışma tamamlanmış olacaktır.
  • Bu uygulamada LDR sensörü ortamdaki ışık düzeyini algılayacaktır.
  • Algılanan ışık değeri 500’den küçük ise sarı LED yanacaktır.
  • Eğer değer 500’den büyükse kırmızı LED yanacaktır.

Uyarı:

Sıradaki uygulamada RGB ledden renk alamadığınız takdirde ortak bacağı GND yerine 5V‘a bağlayın.


Uygulama 2: RGB LED Uygulaması

Kullanılacak Malzemeler:

Bağlantı Şeması:

Bağlantılar şekildeki gibi yapılır.

RGB ledin uzun bacağı GND hattına, kırmızı renge ait bacak 3 nolu pine, yeşil renge ait olan bacak 5 nolu pine, mavi renge ait olan bacak ise 6 nolu pine bağlanır.

UYARI:

RGB ledden renk alamadığınız takdirde uzun bacağı GND pini yerine VCC (5V) hattına bağlayın. Uygulamada kullanılan led ortak katottur ve bağlantılar ortak katot ledlere göre yapılmıştır. Ortak katot ledler de ortak bacak (uzun bacak) Arduino’nun GND pinine bağlanır. Fakat elinizdeki LED ortak anot ise led ışık vermeyecektir. Böyle bir durumda bağlantının farklılaşması gerekir. Ortak Anot ledlerde ledin ortak bacağı (uzun bacak) Arduinonun VCC (5V) bacağına bağlanır.

Kodlar:

Uygulamanın “.ino” dosyasını (kod dosyasını) buradan indirebilirsiniz.

int kirmiziPin = 3;//kırmızı bacağı 3 numaralı pine bağladık
int yesilPin = 5;//yeşil bacağı 5 numaralı pine bağladık
int maviPin = 6;//mavi bacağı 6 numaralı bacağa bağladık
void setup()
{
pinMode(kirmiziPin, OUTPUT);// ledlere çıkış siyali verilecek.
pinMode(yesilPin, OUTPUT);
pinMode(maviPin, OUTPUT);
}
void loop()
{
/*renkayarla fonksiyonundan çektiğimiz renklere göre hangi rengi istiyorsak o değişkene
255 değerini yani 5v veriyoruz.*/
renkAyarla(255, 0, 0); //kirmizi
delay(1500);
renkAyarla(0, 255, 0); //yesil
delay(1500);
renkAyarla(0, 0, 255); //mavi
delay(1500);
renkAyarla(255, 255, 0); //sari (kırmızı ve yeşil renge 5v ar enerji verdik)
delay(1500);
renkAyarla(80, 0, 80); //mor (mor elde etmek için kırmızı ve mavi renklerine az oranlarda voltaj verdik.)
delay(1500);
renkAyarla(0, 255, 255); //acik mavi (yeşil ve mavi rengin ikisine birden 5v enerji verdik)
delay(1500);
renkAyarla(255, 255, 255); //beyaz (bütün renklere 5 v enerji verdik)
delay(1500);
}
void renkAyarla(int kirmizi, int yesil, int mavi)//renkayarla adında bir fonksiyon tanımladık.
{
analogWrite(kirmiziPin, kirmizi);
analogWrite(yesilPin, yesil);
analogWrite(maviPin, mavi);
}
/*analogWrite komutunun kullanım şekli:
analogWrite(PWM çıkış pin numarası, 0-255 arası sayısal değer);
analogWrite komutunda 255 değeri maksimum çıkış voltajını yani 5V’u temsil ediyor.
0 ile 255 arası tüm değerler 0 – 5V arası voltaj değerlerine denk düşüyor.
Örneğin analogWrite(9 , 80) komutu, 9 numaralı pinden 5V x (80/255) = 1,57V geriliminde çıkış almamızı sağlıyor.
Farklı parlaklıklardaki kırmızı mavi ve yeşil ışığı karıştırarak istediğimiz renkte ışık elde etmemiz bu sayede mümkün oluyor.*/

  • Yukarıdaki bağlantı yapıldığında ve kodlar Arduino Uno’ya yüklendiğinde çalışma tamamlanmış olacaktır.
  • Bu uygulamada RGB ledin sırasıyla kırmızı, yeşil,mavi, sarı, mor, açık mavi ve beyaz renkte yandığı görülecektir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz