Arduino ile IR Kumanda Çalışması
Arduino ile IR Kumanda Çalışması
Herkese selamlar. Bu sefer IR Kumanda Kontrolü ile Arduino'muzu beraber kullanmayı denedik. Uzaktan kontrol ederek 16x2 görüntü ekranında son basılan butonun ismini bastırdığımız örnek çalışmamıza hoşgeldiniz.
İlk başta kaynak kodunu sizlerle paylaşayım, devamında Youtube videosu ile nasıl çalıştığını inceleyelim.
Kod
//kutuphaneler
#include <Wire.h> //I2C haberleşmesi için kütüphane
#include <LiquidCrystal_I2C.h> // Lcd için kütüphane
#include <IRremote.h> //kumanda için kütüphane
//pin girisi
int RECV_PIN = 2;
//burada birkac islem
IRrecv irrecv(RECV_PIN);
decode_results results;
String x = "";
//Kablolama: SDA pini A4'e ve SCL pini A5'e bağlanır.
// I2C üzerinden LCD'ye bağlanın, varsayılan adres 0x27 (A0-A2 jumperlı değil)
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
void setup(){
Serial.begin(9600);
irrecv.enableIRIn(); // Alıcıyı başlat
// LCD'yi başlatın:
lcd.init();
lcd.backlight();
lcd.setCursor(2, 0); // İmleci üçüncü sütuna ve ilk satıra ayarlayın.
lcd.print("MFGSTUDIO"); // Print the string
lcd.setCursor(2, 1); //İmleci üçüncü sütuna ve ikinci satıra getirin (sayma 0'dan başlar!).
lcd.print("KUMANDA");
}
void loop(){
if (irrecv.decode(&results)){ //değer geldi mi diye sorgula
Serial.println(results.value, HEX);
x = String(results.value, HEX);
//ekranda yazdır değeri
Serial.println(x +"\n===");
//burada butonların değerlerini aldığında ekranda çıktı ver.
if(x == "ff9867"){
lcd.clear();
Serial.println("0");
lcd.setCursor(2, 0);
lcd.print("0. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ffa25d"){
lcd.clear();
Serial.println("1");
lcd.setCursor(2, 0);
lcd.print("1. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff629d"){
lcd.clear();
Serial.println("2");
lcd.setCursor(2, 0);
lcd.print("2. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ffe21d"){
lcd.clear();
Serial.println("3");
lcd.setCursor(2, 0);
lcd.print("3. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff22dd"){
lcd.clear();
Serial.println("4");
lcd.setCursor(2, 0);
lcd.print("4. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff02fd"){
lcd.clear();
Serial.println("5");
lcd.setCursor(2, 0);
lcd.print("5. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ffc23d"){
lcd.clear();
Serial.println("6");
lcd.setCursor(2, 0);
lcd.print("6. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ffe01f"){
lcd.clear();
Serial.println("7");
lcd.setCursor(2, 0);
lcd.print("7. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ffa857"){
lcd.clear();
Serial.println("8");
lcd.setCursor(2, 0);
lcd.print("8. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff906f"){
lcd.clear();
Serial.println("9");
lcd.setCursor(2, 0);
lcd.print("9. Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff6897"){
lcd.clear();
Serial.println("*");
lcd.setCursor(2, 0);
lcd.print("* Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ffb04f"){
lcd.clear();
Serial.println("#");
lcd.setCursor(2, 0);
lcd.print("# Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff18e7"){
lcd.clear();
Serial.println("Yukari");
lcd.setCursor(2, 0);
lcd.print("Yukariya");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff4ab5"){
lcd.clear();
Serial.println("Asagi");
lcd.setCursor(2, 0);
lcd.print("Asagiya");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff5aa5"){
lcd.clear();
Serial.println("sag");
lcd.setCursor(2, 0);
lcd.print("Saga");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff10ef"){
lcd.clear();
Serial.println("sol");
lcd.setCursor(2, 0);
lcd.print("Sola");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
else if(x == "ff38c7"){
lcd.clear();
Serial.println("Ok");
lcd.setCursor(2, 0);
lcd.print("Ok Butonuna");
lcd.setCursor(2, 1);
lcd.print("Tiklanildi");
}
irrecv.resume(); // Bir sonraki değeri al.
}
}
Yorumlar
Yorum Gönder