Arduino Elektronik Örnekler ve Projeler

Kızılötesi Kumanda Kullanarak Arduino ile Ev aletlerini kontrol edelim.

TSOP 1738 ve Arduino Kullanarak Kızılötesi kumandamız ile Ev aletlerinin kontrolü;

Günümüzde piyasada bulunan birçok Ev Otomasyon Sistemleri türü vardır. Bunların çoğu, DTMF kontrollü Ev Aletleri, GSM tabanlı Ev Aletleri Kontrol, RF tabanlı Ev Aletleri Kontrol gibi basit Ev Aletleri Kontrol Sistemleridir. Burada Arduino Board kullanarak TV veya DVD Uzaktan Kumanda LED Ev / Ofis Aletleri Kontrolü (Ev Otomasyon Sistemi) hakkında konuşacağız .

Bu projede TSOP (IR Receiver) Arduino ile bağlanmıştır. Arduino, IR Remote’tan gelen kodlanmış sinyali alır ve daha sonra internette kolayca bulunabilen IRremote.h kütüphanesini kullanarak kodunu çözer (Arduino için Google IR uzak kütüphanesine yazarak bu kütüphaneyi bulun). Sinyalin kodunu çözdükten sonra, kodu çözülen sinyali tanımlanan değerle karşılaştırın, eşleşme olursa ilgili işlevi gerçekleştirin veya dijital giriş/çıkış kullanarak ilgili röleyi açıp/kapatın . Burada AC yükü gösteri için kullanılır. Gösteri için üç Ev/Ofis Aleti kullanılır. İçinde 1 nolu ışık ile gösterilen bir sıfır watt ampul ve ikinci ışık 2 ile gösterilen 100 watt ampul ve üçüncü ve sonuncusu TV ile gösterilen TV/LCD. LCD ayrıca TV AÇIK, TV KAPALI, ışık 1 AÇIK, ışık 1 KAPALI, ışık 2 AÇIK, ışık 2 KAPALI, HEPSİ AÇIK, HEPSİ KAPALI vb. Cihazların mevcut durumunu görüntülemek için bu sistemde arduino ile arayüzlenmiştir.

Şekil 1: Ev Otomasyon Sistemini kontrol etmek için kullanılan IR Uzaktan Kumandayı gösteren resim
Şekil 2: Arduino tabanlı IR Uzaktan Kumandalı Ev Otomasyon Sisteminin Prototipi
Şekil 3: Ev Otomasyon Sistemi aracılığıyla IR Uzaktan Kumanda ile bir ampulün açılmasını gösteren resim
Şekil 4: Arduino tabanlı Ev Otomasyon Sistemi prototipinde ekran panelini gösteren resim
Şekil 5: Arduino tabanlı Ev Otomasyon Sisteminde kullanılan Röle Devresini gösteren resim
Şekil 6: Bir ev aletinin anahtarlama durumunu gösteren Ev Otomasyon Sistemi Gösterge Panelinin görüntüsü
Şekil 7: Arduino tabanlı Ev Otomasyon Sistemi tarafından kontrol edilen LED TV görüntüsü
Şekil 8: Arduino tabanlı Ev Otomasyon Sisteminin LED TV ile devre bağlantılarını gösteren resim

Blok Şeması

Şekil 9: Arduino tabanlı IR Uzaktan Kumandalı Ev Otomasyon Sistemi Blok Şeması

Devre Açıklaması

Bu sistemin devresi Arduino’nun 38 KHz IR frekansını algılayan dijital pin 9’a bağlanan bu TSOP 1738’de çok basittir ve Arduino’nun dijital pin 10, 11, 12’ye sırasıyla ışık 1, ışık 2, TV’yi kontrol etmek için röleler bağlanır. ULN 2003 IC, yüksek voltajlı, yüksek akımlı Darlington transistör dizileridir. Her biri, ortak katot kıskaç diyotları ile yüksek voltaj çıkışlarına sahip yedi NPN Darlington çiftinden oluşur. burada endüktif yükleri değiştirmek için ve bu tür Projeler için en uygun olan 5 volt röleler kullanılır. Işık 1, röle 1’e, ışık 2, röle 2’ye ve TV, röle 3’e bağlanır.

TSOP 1738 tabanlı IR Alıcı Devre Şeması
Şekil 10: TSOP1738 tabanlı IR Alıcı Devre Şeması

DC beslemesi için Röle Bağlantı Devresi (Akü yerine AC beslemeyi, LED polaritesi yerine elektrikli cihazları bağlayın AC’de etkilenmez.)

Programa bazı fonksiyonlar ekleyerek bu sistem ile daha fazla Ev/Ofis Aletleri ekleyebilirsiniz. 16×2 LCD’nin komutları pinleri RS ve EN sırasıyla pin 7 ve 6 ile direkt olarak bağlanır ve Data pinleri d4, d5, d6, d7 Arduino’nun 5, 4, 3, 2 pinleri ile bağlanır.

Çalışma ve Kullanılan Bileşenler
Çalışma

  1. 1 tuşuna bastığımızda, bu, TV/LCD’yi ayarlamaktan sorumludur ve buna tekrar basarsak, artık TV’yi kapatmaktan sorumludur.
  2. Tuşa 2 bastığımızda bu, ışık 1’i ayarlamaktan sorumludur ve bu tuşa tekrar basarsak, şimdi ışık 1 kapalıdır.
  3. Tuşa 3 bastığımızda bu, ışık 2’nin ayarlanmasından sorumludur ve bu tuşa tekrar basarsak, şimdi ışık 2 kapalıdır.

Programlama

Bu projenin programlanması çok kolaydır. IR Remote kitaplığını ve LCD kitaplığını başlatın. Ardından, eşleştirme veya karşılaştırma için bazı dizeler tanımlayın. IR kodu çözülmüş sonucu saklayın ve bunu tanımlanmış dizelerle karşılaştırın. Herhangi bir eşleşme meydana gelirse, ilgili işlevi gerçekleştirin ve keyfini çıkarın.

Kullanılan Bileşenler

  1. Arduino Pro Mini
  2. TSOP 1738
  3. Bağlantı kabloları
  4. Güç kaynağı
  5. AC cihazları
  6. Dirençler
  7. Kapasitörler
  8. IR uzaktan kumanda
  9. Röleler
  10. ULN2003

Proje Kaynak Kodu

###


#include<LiquidCrystal.h>
#include <IRremote.h>
int RECV_PIN = 9;          // Output pin of TSOP sensor
IRrecv irrecv(RECV_PIN);
decode_results results;

LiquidCrystal lcd(7,6,5,4,3,2);

#define light1 10
#define light2 11
#define TV 12

int temp=0,temp1;

void setup()
{
  lcd.begin(16,2);
  pinMode(light1,OUTPUT);
  pinMode(light2,OUTPUT);
  pinMode(TV,OUTPUT);
  pinMode(13,OUTPUT);
 
 
    lcd.setCursor(0,0);
  lcd.print("  Home/Office   ");
  lcd.setCursor(0,1);
  lcd.print(" Aplliances ctrl");
  delay(2000);
   lcd.setCursor(0,0);
  lcd.print("Using IR Remote ");
  lcd.setCursor(0,1);
  lcd.print("By Saddam Khan  ");
  delay(2000);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Engineers Garage");
  delay(2000);
 
  irrecv.enableIRIn(); // Start the receiver
}



void loop()
{
  int i,j,k,l,m;
  lcd.clear();
   while(1)
   {
     lcd.setCursor(0,1);
     lcd.print("System Ready  ");
     delay(100);
   if (irrecv.decode(&results))
   {
        digitalWrite(13, HIGH);
    delay(10);
    digitalWrite(13, LOW);
   
    if((results.value)== 33441975)        // on off red button
     {
       if(i%2==0)
       {
        digitalWrite(TV, LOW);
        digitalWrite(light2, LOW);
        digitalWrite(light1, LOW);
        lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("ALL OFF   ");
        delay(10);
       }
       else
       {
        digitalWrite(TV, HIGH);
        digitalWrite(light2, HIGH);
        digitalWrite(light1, HIGH);
        lcd.clear();
          lcd.setCursor(0,0);
          lcd.print("ALL ON   ");
          delay(100);
       }
       i++;
     }
    
    
      if((results.value)== 33444015)    //  key 1
     {
      if(j%2==0)
      {
       digitalWrite(TV, HIGH);
       lcd.clear();
       lcd.setCursor(0,0);
       lcd.print("TV ON");
       delay(10);
      }
     
      else
      {
        digitalWrite(TV, LOW);
        lcd.clear();
       lcd.setCursor(0,0);
       lcd.print("TV OFF");
       delay(10);
      }
      j++;
     }
  
   if((results.value)== 33478695)     //  key  2
     {
      if(k%2==0)
      {
       digitalWrite(light1, HIGH);
       lcd.clear();
       lcd.setCursor(0,0);
       lcd.print("LIGHT 1 ON");
       delay(10);
      }
     
      else
      {
        digitalWrite(light1, LOW);
        lcd.clear();
       lcd.setCursor(0,0);
       lcd.print("LIGHT 1 OFF");
       delay(10);
      }
      k++;
     }
    
      if((results.value)== 33486855)  //  key  3
     {
      if(l%2==0)
      {
       digitalWrite(light2, HIGH);
       lcd.clear();
       lcd.setCursor(0,0);
       lcd.print("LIGHT 2 ON");
       delay(10);
      }
     
      else
      {
        digitalWrite(light2, LOW);
        lcd.clear();
       lcd.setCursor(0,0);
       lcd.print("LIGHT 2 OFF");
       delay(10);
      }
      l++;
     }  
      
irrecv.resume();           // Receive the next value
   }
   }
}

 
###

Bu makale buradan çevrilmiştir.

Related posts

E-posta ve SMS Uyarıları ile Sıcaklık Ve Nem Takibi

Ömer Ersin

LM358 Çift OP-AMP IC

Ömer Ersin

Arduino kullanarak Kapasite (kapasitans) Ölçümü

Ömer Ersin