Kategori:

Ardunio

Başlık:

Ardunio Lilypad ile Durum Bildirme Eldiveni

Ardunio Lilypad, giyilebilir teknolojiler geliştirmek üzere tasarlanmış bir mikrodenetleyicidir. Aslında çok geniş bir kullanım alanı olmasına rağmen kullanımı diğer Ardunio türevlerine göre biraz daha zor denebilir. Çünkü dikiş nakış yeteneği de gerektiriyor. Lilypad kullanarak T-shirt, pantolon, gömlek, bileklik,kemer yani aklınıza gelen her türlü giysi için bir proje geliştirmeniz mümkün. Buradaki örnek daha çok kendini ifade edemeyen çocuklar için geliştirildi. Bu eldiven ile çocuklar duygu ve ihtiyaç durumlarını eldivendeki renkler yardımıyla belirtebilirler. Buradaki renklerin anlamı:

  • Kırmızı; "olumsuz", "kötü hissediyorum", "ihtiyacım var", "anlamadım" gibi durumları,
  • Mavi; "ne olumlu ne olumsuz", "biraz anladım", "acil olmayan bir ihtiyacım var" gibi durumları,
  • Yeşil; "olumlu", "iyi hissediyorum", "anladım" gibi durumları temsil etmektedir.

Tabii ki bu eldiven trafik ışığı eldiveni veya eldiven fener gibi değişik amaçlar için de kullanılabilir. 

Kullanılan Malzemeler

  • Ardunio Lilypad
  • Lilypad Push Buton
  • 2 x Lilypad RGB led
  • FDTI modülü (Lilypad'e yazılan kodu atmak için)
  • Lilypad iletken iplik

Bunların dışında aşağıdaki kod ile beyaz ışıkta elde edilebilmektedir. Bu projenin şeması aşağıdaki gibidir:

Kaynak kodu Lilypad'e yüklemek için FDTI modülüne ihtiyaç vardır. FDTI modülünün bağlantısı şemada görülmektedir. Ayrıca aşağıdaki fotoğrafta da bağlantı görülebilir:

Bu projede Deek-Robot FDTI modülü kullanıldı. Kaynak kodu yüklemeden önce FDTI modülünün sürücüsü yüklenmesi gerekmektedir. Burada kullanılan FDTI modülünün sürücü bağlantısı aşağıdaki şekildedir:

https://www.ftdichip.com/Drivers/D2XX.htm

Püf noktası: Kaynak kodu Lilypad'e yüklerken eğer buradaki gibi klon bir Lilypad kullanıyorsanız Ardunio IDE'de normal UNO şeklinde tanımlamanız gerekiyor. Yoksa kod yüklenmiyor. 

Tabi ki bu durum klondan klona kullanılan mikrodenetleyiciye göre değişebilir. En azından bu projede kullanılan Lilypad'de durum böyleydi.

Projenin kaynak kodu aşağıdaki gibidir:

int buttonPin = A2;  //Lilypad'de butonu analog girişe bağlıyoruz
int durum = 0;       //Buton basıldığında değişen durumlar için kullanılıyor
//RGB ledlerin bağlanacağı pinleri belirliyoruz
int RGB_red = 9;
int RGB_green = 11;
int RGB_blue = 10;

void setup()
{
  pinMode(buttonPin, INPUT_PULLUP);   //Lilypad'de buton girişini bu şekilde belirtmemiz gerekiyor
  pinMode(RGB_red, OUTPUT);
  pinMode(RGB_green, OUTPUT);
  pinMode(RGB_blue, OUTPUT);

}

void loop()
{

    if(digitalRead(buttonPin)==LOW)  //Burada özellikle LOW olmalı yoksa buton işlevini görmüyor
  {
     durum +=1;

     if(durum>4)
     {
       durum=0;
     }
       
  }
        
    switch(durum)
{
  
  case 0:   
  analogWrite(RGB_red,LOW);     //Beyaz
  analogWrite(RGB_green,LOW);
  analogWrite(RGB_blue,LOW);
  break; //kodun devam etmemesi için break koyduk. 
  case 1:     
  analogWrite(RGB_red,255);   // kırmızı
  analogWrite(RGB_green,0);
  analogWrite(RGB_blue,255);
  break; //kodun devam etmemesi için break koyduk.
  case 2: 
  analogWrite(RGB_red,0);     //Mavi
  analogWrite(RGB_green,255);
  analogWrite(RGB_blue,255);
  break; //kodun devam etmemesi için break koyduk.
  
  case 3: 
  analogWrite(RGB_red,255);     // Yeşil
  analogWrite(RGB_green,255);
  analogWrite(RGB_blue,0);
  break; //kodun devam etmemesi için break koyduk.

  case 4:         //Ledleri söndürmek için
  pinMode(RGB_red, INPUT);
  pinMode(RGB_green, INPUT);
  pinMode(RGB_blue, INPUT);
  break; //kodun devam etmemesi için break koyduk.
} 
delay(1000);
}

Projenin uygulanmış hali aşağıdaki gibidir:


578 views
YORUMLAR