R alıcı ve uzaktan kumanda kullanarak bir LED’i açıp kapatacağız. Bu projede, Arduino ile IRremote kütüphanesini kullanarak IR sinyallerini okuyacak ve belirli tuşlara basıldığında LED’in durumunu değiştireceğiz.
Kumandada belirtilen tuşlara karşılık gelen kodları öğrenmek
•Kodlar çalışmıyorsa, kumanda tuş kodlarını öğrenmek için aşağıdaki kodu kullanabilirsiniz:
Önemli: Buradaki kodu ilk olarak arduinoya yükleyip kumandadan 1 ve 2 numaraya ait olan hex kodları öğrenmeniz gerekiyor. Arduino 2 numaralı pine alıcı bağlayınız. Kodu arduinoya yükleyiniz. Araçlar menüsünden Seri monitörü açınız. Kumandadan 1 ve 2 numaralı tuşlara bastığınızda kodları ser monitör ekranında göreceksiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <IRremote.h> int IR_RECEIVE_PIN = 2; void setup() { Serial.begin(9600); IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); } void loop() { if (IrReceiver.decode()) { Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); IrReceiver.resume(); } } |
Rakamsal olarak Kodlar
BA45FF00 – 1
B946FF00 – 2
B847FF00 – 3
BB44FF00 – 4
BF40FF00 – 5
BC43FF00 – 6
F807FF00 – 7
EA15FF00 – 8
F609FF00 – 9
E619FF00 – 0
Bu kod ile seri monitörden uzaktan kumandanızın gönderdiği kodları öğrenip, kendi projenizde kullanabilirsiniz.
Gerekli Malzemeler:
•Arduino Uno
•IR alıcı (TSOP1738 veya benzeri)
•IR uzaktan kumanda
•LED
•220Ω direnç
•Bağlantı kabloları
Devre Şeması:
1. IR Alıcı Bağlantıları:
Soldan Sağa( DATA PIN(Digital 2) , GND , VCC(+5V)
•VCC → Arduino 5V
•GND → Arduino GND
•OUT → Arduino D2 (IR_RECEIVE_PIN)
2. LED Bağlantısı:
•LED uzun bacağı (anot) → Arduino D4
•LED kısa bacağı (katot) → 220Ω direnç → Arduino GND
Kod Açıklaması:
📌 IR alıcıdan gelen veriyi okuyoruz ve belirlediğimiz kodlarla karşılaştırıyoruz.
📌 Doğru kod gelirse LED’i açıyor veya kapatıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <IRremote.h> // Kumanda Tuş Kodlarını yukardaki hata giderme kısmındaki ufak programcığı kullanarak öğrenmeniz gerekiyor. long birNumara = 0xBA45FF00; // LED Aç long ikiNumara = 0xB946FF00; // LED Kapat int IR_RECEIVE_PIN = 2; // IR Alıcı Bağlantı Pin'i int LED_PIN = 4; // LED'in bağlı olduğu pin void setup() { pinMode(LED_PIN, OUTPUT); Serial.begin(9600); IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); } void loop() { if (IrReceiver.decode()) { long receivedCode = IrReceiver.decodedIRData.decodedRawData; Serial.println(receivedCode, HEX); // Gelen kodu seri ekrana yazdır if (receivedCode == birNumara) { digitalWrite(LED_PIN, HIGH); Serial.println("LED Açıldı."); } else if (receivedCode == ikiNumara) { digitalWrite(LED_PIN, LOW); Serial.println("LED Kapatıldı."); } IrReceiver.resume(); // Yeni veri almak için resetleme } delay(100); } |
Çalışma Prensibi:
•Uzaktan kumanda ile belirlediğiniz tuşlara bastığınızda, IR alıcı sinyali alır ve Arduino’ya aktarır.
•Arduino gelen hex kodunu okur ve hangi tuşa basıldığına karar verir.
•Eğer LED açma kodu gelirse LED yanar.
•Eğer LED kapatma kodu gelirse LED söner.
Alıcı için link : https://www.robotistan.com/38khz-evrenselir-kizilotesialici-tl1838-1838
Kütüphaneyi arduino yükleme dizinindeki libraries klasörüne kopyalayınız.
Kütüphane : https://www.devcodeblog.com/wp-content/uploads/2025/03/Arduino-IRremote-master.zip
İlk Yorumu Siz Yapın