BAŞLIK BAŞLIK BAŞLIK BAŞLIK BAŞLIK

5 Ocak 2015 Pazartesi

RGB Led Uygulaması - Arduino

Bu uygulamamızda RGB led üzerinde durmak istiyorum.

RGB led teknik olarak üç farklı ledin birleşiminden oluşmuştur diyebiliriz.Kısaltması RGB olan bu led baş harflerinden anlaşılacağı üzere 3 ana renk olan "Red","Green" ve "Blue" olarak ifade edebiliriz.Renkleri farklı oranlarda karıştırdığımızda başka renklerde elde edebiliriz.



Uygulamamıza gelecek olursak,gerekli malzemeler;
  • RGB Led
  • Arduino 
  • Breadboard
  • 1 Adet 330 Ohm (Kırmızı için)
  • 2 Adet 220 Ohm (Mavi ve Yeşil için)
  • Jumper Kablo
NOT: Kırmızı led diğer ledlerden daha parlak yandığı için direnci daha yüksek kullandım.


Devremizin bağlantı şeması:





Devrenin Arduino kodunu direkt olarak denemek isteyenler için:



/****************************************************
 *                 Abdullah GÖÇER                  *
 ****************************************************/ 


const int blue=8;//mavi led 11 nolu pine
const int green=9;//yeşil led 10 nolu pine
const int red=11;//kırmızı led 9 nolu pine bağlanmıştır. 


void setup()
{
pinMode(blue,OUTPUT);
pinMode(green,OUTPUT);
pinMode(red,OUTPUT);

}

void loop()
{
  //KIRMIZI LED YANIYOR
  digitalWrite(blue,HIGH);  
  digitalWrite(green,HIGH);  
  digitalWrite(red,LOW);  
  delay(1000);
  //YEŞİL LED YANIYOR
  digitalWrite(blue,HIGH);
  digitalWrite(green,LOW);  
  digitalWrite(red,HIGH); 
  delay(1000);
  //MAVİ LED YANIYOR
  digitalWrite(blue,LOW);  
  digitalWrite(green,HIGH);  
  digitalWrite(red,HIGH);  
  delay(1000);
//TÜM LEDLER AKTİF--> BEYAZ RENK YANIYOR
  digitalWrite(blue,LOW);  
  digitalWrite(green,LOW);  
  digitalWrite(red,LOW); 
  delay(1000);
}


Ayrıca devrenin Arduino dosyası ve Fritzing çizimine buradan ulaşabilirsiniz.

Buton İle Led Kontrolü 

Buton,herhangi bir cihazı kontrol etmek istediğimizde kullandığımız en basit elektronik devre elemanıdır.Butonun yapısal olarak basitliği maliyeti azaltıp,güvenliği ve kullanımı kolaylaştırır.Ancak yüksek hızda çalışan uygulamalarda,butona basma sürelerinin milisaniyelerle ölçüldüğü uygulamalarda butonlar kullanılamazlar.

Devremizde Pulldown direnci olarak 10K direnç seçilmiştir.10K dan büyük direnç seçildiğinde pinin toprak seviyesine çekilmesi zorlaşır.


Kullanılan malzemeler:
  • Arduino
  • 10K direnç
  • Led
  • Buton
  • Jumper Kablo
Devremizin şeması:




Devrenin Arduino kodu:



Kodu direkt olarak denemek isteyenler için:



/****************************************************
 *                 Abdullah GÖÇER                  *
 ****************************************************/ 



const int led = 9; // Ledin bağlandığı pin belirtiliyor
const int buton = 2; //butonun bağlı olduğu pin

//pinlerin durumları giriş- çıkışların belirtildiği bölümdür
//bu bölüm program çalıştığında sadece bir defa çalışır

void setup(){
  pinMode(led,OUTPUT); // Ledin bağlandığı pin çıkış olarak ayarlandı
  pinMode(buton,INPUT); // butonun bağlandığı pin giriş yapıldı
}

//Programın asıl işi yaptığı bölümdür
//Adındanda anlaşıldığı gibi sürekli çalışır(döngüdür).
void loop(){
  if(digitalRead(buton) == HIGH){
    digitalWrite(led,HIGH); //Ledin bağlandığı pin lojik '1' oldu
  }
  else
  {
    digitalWrite(led,LOW)
  }
}



Ayrıca Arduino dosyası ve Fritzing çizimine buradan ulaşabilirsiniz.


PWM ile Led Işık Şiddeti 


PWM Nedir?


Açılımı Pulse Width Modulation yani Sinyal Genişlik Modülasyonu olan bu teknik, sinyal işleme veya sinyal aktarma gibi daha çok elektronik devrelerin yanı sıra Arduino veya elektrik makineleri gibi özel uygulama alanlarında da yer alan bir tekniktir. 

En basit haliyle bir sinyal modülasyon tekniği olarak tanımlanabilir. Sinyal bilgisinin aktarım için uygun hale çevirilmesi amacının yanı sıra güç kontrolü sağlamak ve elektrik makineleri,güneş pili şarj üniteleri gibi özel devrelere destek olmak amacı da taşır. 

Günümüzde PWM yönteminin en çok duyulduğu yer; dc motorların hızlarının ayarlanması ve güç kaynaklarıdır. SMPS güç kaynaklarında, düzenlenecek olan çıkış voltajlarını bu teknikten yararlanarak elde etmektedirler. Bu sayede, yüksek akım ve düşük voltajlı güç elde etmek için, transformatörlerden çok daha etkini ve çok daha küçüklerdir.

Projemize bakacak olursak;temel olarak bir önceki projeyle aynıdır.Sadece çıkış dijital değil analogdur.

Devre şeması:


Arduino Kodu:



Kodu direkt denemek isteyenler için:

/****************************************************
 *                 Abdullah GÖÇER                     *
 ****************************************************/ 



const int led = 9; // Ledin bağlandığı pin belirtiliyor

//pinlerin durumları giriş- çıkışların belirtildiği bölümdür
//bu bölüm program çalıştığında sadece bir defa çalışır

void setup(){
  pinMode(led,OUTPUT); // Ledin bağlandığı pin çıkış olarak ayarlandı
}

//Programın asıl işi yaptığı bölümdür
//Adındanda anlaşıldığı gibi sürekli çalışır(döngüdür).
void loop(){
  for(int i=0;i<=255;i++){
    analogWrite(led,i); //Ledin bağlandığı pin '1' oldu
    delay(10);
  }
}


Ayrıca devrenin Arduino dosyası ve Fritzing çizimine buradan ulaşabilirsiniz.


Arduino ile Led Yakma


Öncelikle biraz Arduinodan bahsetmek isterim.Arduino temel olarak giriş-çıkışları bulunan bir fizksel karttır.Arduinoyu diğer kartlardan ayıran en önemli özellikler kolay programlanabilir olması,hazır kütüphanelerinin bulunması ve internette çok sayıda örnek bulunabilmesidir.



Arduino ile Neler Yapılabilir

Arduino kütüphaneleri ile kolaylıkla programlama yapabilirsiniz.Analog digital sinyalleri işleyebilirsiniz.Sensörlerden gelen sinyalleri kullanarak çevresiyle etkileşim içinde olan robotlar ve sistemler tasarlayabilirsiniz.Tasarladığınız projeye bağlı olarak dış dünyaya ses,ışık,hareket gibi çıktılar üretebilirsiniz



Konumuza dönecek olursak programcılığın "Hello Word" ü gibi elektroniğinde ilk aşaması led yakmadır.Bunun için ihtiyacımız olan malzemeler
  • Arduino 
  • Breadboard
  • Led
  • 330 Ohm direnç
  • Jumper Kablo


Devremizin bağlantılarına bakalım;

Ben elimde Arduino Mega 2560 olduğu için bunu kullandım ancak siz Uno veya başka bir kartla yapabilirsiniz.

Devremizin kodu;

Kodu direkt denemek isteyenler için;


/****************************************************
 *                 Abdullah GÖÇER                     *
 ****************************************************/ 



const int led = 9; // Ledin bağlandığı pin belirtiliyor

//pinlerin durumları giriş- çıkışların belirtildiği bölümdür
//bu bölüm program çalıştığında sadece bir defa çalışır

void setup(){
  pinMode(led,OUTPUT); // Ledin bağlandığı pin çıkış olarak ayarlandı
}

//Programın asıl işi yaptığı bölümdür
//Adındanda anlaşıldığı gibi sürekli çalışır(döngüdür).
void loop(){
  digitalWrite(led,HIGH); //Ledin bağlandığı pin lojik '1' oldu
}


Ayrıca devrenin Arduino dosyası ve Fritzing çizimine buradan ulaşabilirsiniz.