/* 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