folder Tahribat.com Forumları
linefolder C - C++
linefolder Arduino Kod Yardımı



Arduino Kod Yardımı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zasox
    zasox's avatar
    Kayıt Tarihi: 21/Kasım/2014
    Erkek

    kodun yapmasını istediğim şeyi yapmıyor

    istediğim şey kumandadan gönderdiğim komutun birden fazla şeyi yapması örneğin rgb bi ledin 3 fonksiyonunu aktif kullanamıyorum 1 kere basınca mavi 2. basışımda yuşa kırmızı ve maviyi karışıtırıyor benim istediğim hepsi

    aynı anda senkronize olması.Bide şu other dediğinde kırmızı ışık verip 1 saniye yanıp hemen geri sönsün ben yapamadım .

    kullandığım kod

     

     

    #include <IRremote.h>

    const int kirmizi = 3;
    const int yesil = 5;
    const int mavi = 6;


    int receiver = 11; // pin 1 of IR receiver to Arduino digital pin 11

    /*-----( Declare objects )-----*/
    IRrecv irrecv(receiver);           // create instance of 'irrecv'
    decode_results results;            // create instance of 'decode_results'
    /*-----( Declare Variables )-----*/


    void setup()   /*----( SETUP: RUNS ONCE )----*/
    {
      Serial.begin(9600);
      Serial.println("IR Receiver Raw Data + Button Decode Test");
      irrecv.enableIRIn(); // Start the receiver
      pinMode(mavi,OUTPUT);
      pinMode(yesil,OUTPUT);
      pinMode(kirmizi,OUTPUT);

    }/*--(end setup )---*/


    void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
    {
      if (irrecv.decode(&results)) // have we received an IR signal?

      {
    //    Serial.println(results.value, HEX);  UN Comment to see raw values
        translateIR();
        irrecv.resume(); // receive the next value
      } 
    }/* --(end main loop )-- */

    /*-----( Declare User-written Functions )-----*/
    void translateIR() // takes action based on IR code received

    // describing Car MP3 IR codes

    {

      switch(results.value)

      {

      case 0xFFA25D: 
      
      analogWrite(mavi,250);
      analogWrite(yesil,250);
      analogWrite(kirmizi,250);
        break;

      case 0xFF629D: 
      analogWrite(mavi,0);
      analogWrite(yesil,0);
      analogWrite(kirmizi,0);
     
        break;

      case 0xFFE21D: 
      analogWrite(mavi,250);
      analogWrite(kirmizi,250);
     
        break;

      case 0xFF22DD: 
     
      analogWrite(mavi,0);
      analogWrite(yesil,0);
      analogWrite(kirmizi,0);

      case 0xFF02FD: 
       
      analogWrite(kirmizi,255);
        break;

      case 0xFFC23D: 
        Serial.println(" PLAY/PAUSE     ");
        break;

      case 0xFFE01F: 
        Serial.println(" VOL-           ");
        break;

      case 0xFFA857: 
        Serial.println(" VOL+           ");
        break;

      case 0xFF906F: 
        Serial.println(" EQ             ");
        break;

      case 0xFF6897: 
        Serial.println(" 0              ");
        break;

      case 0xFF9867: 
        Serial.println(" 100+           ");
        break;

      case 0xFFB04F: 
        Serial.println(" 200+           ");
        break;

      case 0xFF30CF: 
        analogWrite(mavi,250) ;
        break;

      case 0xFF18E7: 
        Serial.println(" 2              ");
        break;

      case 0xFF7A85: 
        Serial.println(" 3              ");
        break;

      case 0xFF10EF: 
        Serial.println(" 4              ");
        break;

      case 0xFF38C7: 
        Serial.println(" 5              ");
        break;

      case 0xFF5AA5: 
        Serial.println(" 6              ");
        break;

      case 0xFF42BD: 
        Serial.println(" 7              ");
        break;

      case 0xFF4AB5: 
        Serial.println(" 8              ");
        break;

      case 0xFF52AD: 
        Serial.println(" 9              ");
        break;

      default:
     
      analogWrite(kirmizi,255);
      break;
      delay(100);

      }
     
      delay(500);
    }

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    O switch değimindeki her case'in altına istediğin şeyi yapabilirsin. Örneğin

     case 0xFF629D:  

    altına

    analogWrite(kirmizi,50);

    analogWrite(blue, 255);

    serial.println("bir işlem");

    serial.println("başka bir işlem");

    vs. yazabilirsin.


    Olaylara karışmayın!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zasox
    zasox's avatar
    Kayıt Tarihi: 21/Kasım/2014
    Erkek

    iki rengi aynı anda çıkartamıyorum.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    O zaman gelen kodlar orayla uyuşmuyordur. Gelen kodu

     //    Serial.println(results.value, HEX); 

    satırındaki yorumu kaldırarak açıp, gelen tüm veriyi görsen? Ledin bağlantısının yanlış olmadığını farz ediyorum.


    Olaylara karışmayın!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zasox
    zasox's avatar
    Kayıt Tarihi: 21/Kasım/2014
    Erkek

    led yanlış bağlı değilde yorum satırı koda etki etmezki açıklama amaçlı

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    zasox bunu yazdı

    led yanlış bağlı değilde yorum satırı koda etki etmezki açıklama amaçlı

    Hatırlatma için sağ ol:P

    //'ı kaldırırsak çalışmaya başlar. Şunu denemeye çalışıyoruz: Kumandadan hangi kod geliyor ve switch bloğundaki hangi case değimine düşüyor.


    Olaylara karışmayın!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zasox
    zasox's avatar
    Kayıt Tarihi: 21/Kasım/2014
    Erkek

    hocam olmuyor sildim yorum işaretini ama şimdi sadece tek renk atıyor kırmızı filan tek açıyor

    2. tıklayışımda gelmiyor

     

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    aercys
    aercys's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    @zasox hocam yorumu sildikten sonra seri iletişimle terminalde kumandadan gelen tuş adres bilgilerini yakalayabildin mi?


    0x62 0x75 0x6e 0x75 0x20 0x79 0x61 0x7a 0x61 0x6e 0x20 0x74 0x6f 0x73 0x75 0x6e 0x2c 0x20 0x6f 0x6b 0x75 0x79 0x61 0x6e 0x61 0x20 0x6b 0x6f 0x73 0x75 0x6e
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    #include <IRremote.h>
       
      int RECV_PIN = 11;
       
      IRrecv irrecv(RECV_PIN);
       
      decode_results results;
       
      void setup()
      {
      Serial.begin(9600);
      irrecv.enableIRIn(); // Start the receiver
      }
       
      void loop() {
      if (irrecv.decode(&results)) {
      Serial.println(results.value, HEX);
      irrecv.resume(); // Receive the next value
      }
      delay(100);
      }

    yukarıdaki kodu bir dener misin? Serial console'a ne düşüyor?


    Olaylara karışmayın!
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zasox
    zasox's avatar
    Kayıt Tarihi: 21/Kasım/2014
    Erkek

    FF6897
    FF6897
    FF9867
    FFB04F
    FF7A85
    FF18E7
    FF30CF
    FF10EF
    FF10EF
    FF38C7
    FFA25D
    FFA25D
    FFFFFFFF
    FF629D
    FFFFFFFF
    FFE21D
    FF22DD
    FF02FD
    FFC23D
    FFFFFFFF
    FFA857
    FFE01F
    FFFFFFFF
    FF906F
    FF9867
    FF18E7
    FF7A85
    FF18E7
    FFFFFFFF
    FF38C7
    FF18E7
    FF18E7
    FF30CF
    FF30CF
    FF30CF
    FF30CF
    FF30CF
    FFFFFFFF
    FF30CF
    FF7A85
    FF30CF
    FF30CF
     BU TARZ KODLAR GELİYOR

     

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Tamam. Şimdi o kodları not edeceğiz. Hangi tuşa bastığımızda hangi kod geliyor diye. Sonraki işlem şu:

    #include <IRremote.h>
       
      int RECV_PIN = 11;
       
      IRrecv irrecv(RECV_PIN);
       
      decode_results results;
       
      void setup()
      {
      Serial.begin(9600);
      irrecv.enableIRIn(); // Start the receiver
      }
       
      void loop() {
     

    if (irrecv.decode(&results)) {

    translateIR();

      //Serial.println(results.value, HEX);
      irrecv.resume(); // Receive the next value
      }
      //delay(100);
     

    }

    void translateIR()
    {

      switch(results.value)

      {

         case 0xFF6897: // 1 yazan tuş varsaydım

                serial.println("1");

                break;

         case 0xFFB04F: // 2 yazan tuş varsaydım

               serial.println("2");

               break;

         default:

              serial.println("bilinmeyen tuş");

    }

    delay(100);

    }

     

     


    Olaylara karışmayın!
Toplam Hit: 3983 Toplam Mesaj: 15
arduino arduino led arduino rgb