Şimdi Ara

Kızılötesi Kumanda ile Gece Lambası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
537
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar.Arduino UNO ile bir gece lambası(RGB led) yaptım ve sorunsuz çalıştı.Ardından bu gece lambasını durdurmak ve başlatmak istedim.Bunun için kızılötesi kumanda ve IR alıcı kullandım.Sorunum şu:Her döngünün başında açık mavi renginde kalıyor ve kodda belirttiğim tuşa basmam gerekiyor.Ayrıca durdurmak için atadığım tuş çalışmıyor.Arduinoda ınterruptlar hakkında fazla bilgim yok.Zannedersem burada belirtilen tuşa basıldığında RGB ledi interrupt yapmam gerekiyor.Yardımcı olursanız sevinirim.Şimdiden teşekkürler.Arkadaşlar kodda değişiklik yaptım düzeldi.İyi günler.



    #include <IRremote.h>

    IRrecv irrecv(5);

    decode_results results;

    #define Channel- 0xE318261B
    #define Channel 0xFF629D
    #define Channel+ 0xFFE21D
    #define Prev 0xFF22DD
    #define Next 0xFF02FD
    #define Play/Pause 0xFFC23D
    #define Volume- 0xFFE01F
    #define Volume+ 0xFFA857
    #define EQ 0xFF906F
    #define BUTON_+100 0xFF9867
    #define BUTON_+200 0xFFB04F
    #define BUTON_0 0xFF6897
    #define BUTON_1 0xFF30CF
    #define BUTON_2 0xFF18E7
    #define BUTON_3 0xFF7A85
    #define BUTON_4 0xFF10EF
    #define BUTON_5 0xFF38C7
    #define BUTON_6 0xFF5AA5
    #define BUTON_7 0xFF42BD
    #define BUTON_8 0xFF4AB5
    #define BUTON_9 0xFF52AD

    int kirmiziPin = 3;
    int yesilPin = 4;
    int maviPin = 2;

    void renkAyarla(int kirmizi, int yesil, int mavi)

    {
    kirmizi = 255 - kirmizi;
    yesil = 255 - yesil;
    mavi = 255 - mavi;
    analogWrite(kirmiziPin, kirmizi);
    analogWrite(yesilPin, yesil);
    analogWrite(maviPin, mavi);
    }

    void setup()
    {
    pinMode(kirmiziPin, OUTPUT);
    pinMode(yesilPin, OUTPUT);
    pinMode(maviPin, OUTPUT);

    Serial.begin(9600);
    irrecv.enableIRIn();
    }

    void loop()
    {
    if(irrecv.decode(&results))
    {
    Serial.println(results.value,HEX);
    if(results.value == BUTON_0)
    {
    renkAyarla(255, 0, 0); //kirmizi
    delay(1500);
    renkAyarla(0, 255, 0); //yesil
    delay(1500);
    renkAyarla(0, 0, 255); //mavi
    delay(1500);
    renkAyarla(255, 255, 0); //sari
    delay(1500);
    renkAyarla(80, 0, 80); //mor
    delay(1500);
    renkAyarla(0, 255, 255); //acik mavi
    delay(1500);
    renkAyarla(255, 255, 255); //beyaz
    delay(1500);
    }
    else
    {
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
    }
    irrecv.resume();
    }
    }



    < Bu mesaj bu kişi tarafından değiştirildi Ekin BAYER -- 28 Temmuz 2018; 18:18:28 >



  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.