15 Ocak 2018 Pazartesi

UZAKTAN KUMANDA İLE LED KONTROL

Programın kütüphanesini indirmek için tıklayınız.





/*  Kızıl ötesi kumanda ile cihaz kontrolü
 *  LCD ekranda röle durumları gösterilir.
 *  Tuş takımındaki 1,2,3,4 tuşları ile sırayla röle1,röle2, röle3, röle 4 kontrol edilir.
 *  Tuş takımındaki 5 nolu tuş tüm röleleri aktif yapar.
 *  Tuş takımındaki 0 nolu tuş tüm röleleri pasif yapar.
 *  
 *  Bağlantılar
 *  LCD: RS=D8, EN=D9, DS4=D4, DS5=D5, DS6=D6, DS7=D7
 *  IR alıcı pini: Arduino D2 pini
 *  
 *  4 lü röle modülü bağlantısı
 *  röle_1 girişi: Arduino D13 pini
 *  röle_2 girişi: Arduino D12 pini
 *  röle_3 girişi: Arduino D11 pini
 *  röle_4 girişi: Arduino D3 pini
*/


#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); 

#include <IRremote.h>
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;

#define CH1 0xFFA25D
#define CH 0xFF629D
#define CH2 0xFFE21D
#define PREV 0xFF22DD
#define NEXT 0xFF02FD
#define PLAYPAUSE 0xFFC23D
#define VOL1 0xFFE01F
#define VOL2 0xFFA857
#define EQ 0xFF906F
#define BUTON0 0xFF6897
#define BUTON100 0xFF9867
#define BUTON200 0xFFB04F
#define BUTON1 0xFF30CF
#define BUTON2 0xFF18E7
#define BUTON3 0xFF7A85
#define BUTON4 0xFF10EF
#define BUTON5 0xFF38C7
#define BUTON6 0xFF5AA5
#define BUTON7 0xFF42BD
#define BUTON8 0xFF4AB5
#define BUTON9 0xFF52AD

int role1 = 13;
int role2 = 12;
int role3 = 11;
int role4 = 3;

void setup()
{
  pinMode(role1, OUTPUT);
  pinMode(role2, OUTPUT);
  pinMode(role3, OUTPUT);
  pinMode(role4, OUTPUT);
  Serial.begin(9600);
  irrecv.enableIRIn();
  digitalWrite(role1,LOW);
  digitalWrite(role2,LOW);
  digitalWrite(role3,LOW);
  digitalWrite(role4,LOW);
  
  lcd.begin(16, 2); 
  lcd.setCursor(0,0);             
  lcd.print("A B C D");
  lcd.setCursor(0,1);             
  lcd.print("0 0 0 0");

}
void loop() {

  if (irrecv.decode(&results))
  {
    if (results.value == BUTON1)
    {
      digitalWrite(role1, !digitalRead(role1));
      if (digitalRead(role1) == HIGH)
      {
        Serial.println("Role_1 aktif");
        lcd.setCursor(0,1);             
        lcd.print("1");
      }
      else
      {
        Serial.println("Role_1 pasif");
        lcd.setCursor(0,1);             
        lcd.print("0");
      }
    }
    if (results.value == BUTON2)
    {
      digitalWrite(role2, !digitalRead(role2));
      if (digitalRead(role2) == HIGH)
      {
        Serial.println("Role_2 aktif");
        lcd.setCursor(2,1);             
        lcd.print("1");
      }
      else
      {
        Serial.println("Role_2 pasif");
        lcd.setCursor(2,1);             
        lcd.print("0");
      }
    }
    if (results.value == BUTON3)
    {
      digitalWrite(role3, !digitalRead(role3));
      if (digitalRead(role3) == HIGH)
      {
        Serial.println("Role_3 aktif");
        lcd.setCursor(4,1);             
        lcd.print("1");
      }
      else
      {
        Serial.println("Role_3 pasif");
        lcd.setCursor(4,1);             
        lcd.print("0");
      }
    }
    if (results.value == BUTON4)
    {
      digitalWrite(role4, !digitalRead(role4));
      if (digitalRead(role4) == HIGH)
      {
        Serial.println("Role_4 aktif");
        lcd.setCursor(6,1);             
        lcd.print("1");
      }
      else
      {
        Serial.println("Role_4 pasif");
        lcd.setCursor(6,1);             
        lcd.print("0");
      }
    }
    if (results.value == BUTON5)
    {
      digitalWrite(role1, HIGH);
      digitalWrite(role2, HIGH);
      digitalWrite(role3, HIGH);
      digitalWrite(role4, HIGH);
      Serial.println("Tum LED'ler yandi");
      lcd.setCursor(0,1);             
      lcd.print("1 1 1 1 ");
    }
    if (results.value == BUTON0)
    {
      digitalWrite(role1, LOW);
      digitalWrite(role2, LOW);
      digitalWrite(role3, LOW);
      digitalWrite(role4, LOW);
      Serial.println("Tum LED'ler sondu");
      lcd.setCursor(0,1);             
      lcd.print("0 0 0 0 ");
    }
    irrecv.resume();
  }
}

Hiç yorum yok:

Yorum Gönder