Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.54 KB | None | 0 0
  1. #include <IRremote.h>
  2. int RECV_PIN = 11;
  3. IRrecv irrecv(RECV_PIN);
  4. decode_results results;
  5. uint16_t lastCode = 0; // This keeps track of the last code RX'd
  6.  
  7. int led1 = 12;                                       //Definiere der LEDs
  8. int led2 = 13;                                
  9. int ledstatus1 = 0;                                 //Definiere des LED-Status
  10. int ledstatus2 = 0;                                
  11.  
  12. void setup()
  13.   {
  14.     Serial.begin(9600);
  15.     pinMode (led1, OUTPUT);               //Die LEDs werden als Output initialisiert
  16.     digitalWrite(led1, LOW);
  17.     pinMode (led2, OUTPUT);                            
  18.     digitalWrite(led2, LOW);
  19.     irrecv.enableIRIn();
  20.   }
  21.  
  22. void loop()
  23.   {
  24.     if (irrecv.decode(&results))            //Wenn ein IR-Signal empfangen wurde,
  25.       {
  26.         /* read the RX'd IR into a 16-bit variable: */
  27.         uint16_t resultCode = (results.value & 0xFFFF);
  28.  
  29.         /* The remote will continue to spit out 0xFFFFFFFF if a
  30.         button is held down. If we get 0xFFFFFFF, let's just
  31.         assume the previously pressed button is being held down */
  32.         if (resultCode == 0xFFFF)
  33.         resultCode = lastCode;
  34.         else
  35.             lastCode = resultCode;
  36.  
  37.         Serial.println(results.value, DEC);
  38.         switch(results.value)           //wird überprüft, ob es eine Aktion für die Taste gibt
  39.           {
  40.             case (16582903) :                   //Wenn 1 gedrückt wurde,                    
  41.             if (ledstatus1 == 0)        //wird die led1 entweder
  42.               {
  43.                 digitalWrite(led1, HIGH);   //an
  44.                 ledstatus1++;        
  45.               }                        
  46.             else
  47.               {
  48.                 digitalWrite(led1, LOW);  //oder aus geschaltet
  49.                 ledstatus1--;
  50.               }                        
  51.             delay(1); break;
  52.            
  53.             case (16615543) :                   //Wenn 2 gedrückt wurde,                              
  54.             if (ledstatus2 == 0)        //wird die led2 entweder
  55.               {
  56.                 digitalWrite(led2, HIGH); //an
  57.                 ledstatus2++;
  58.               }          
  59.             else
  60.               {
  61.                 digitalWrite(led2, LOW);  //oder aus geschaltet
  62.                 ledstatus2--;
  63.               }                          
  64.             delay(1); break;
  65.            
  66.             default:              //Bei jeder anderen gedrückten Taste
  67.             delay(1);             //geschieht keine Aktion
  68.           }
  69.         irrecv.resume();
  70.       }
  71.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement