Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.53 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.         Serial.println(results.value, DEC);
  37.         switch(results.value)           //wird überprüft, ob es eine Aktion für die Taste gibt
  38.           {
  39.             case (16582903) :                   //Wenn 1 gedrückt wurde,                    
  40.             if (ledstatus1 == 0)        //wird die led1 entweder
  41.               {
  42.                 digitalWrite(led1, HIGH);   //an
  43.                 ledstatus1++;        
  44.               }                        
  45.             else
  46.               {
  47.                 digitalWrite(led1, LOW);  //oder aus geschaltet
  48.                 ledstatus1--;
  49.               }                        
  50.             delay(1); break;
  51.            
  52.             case (16615543) :                   //Wenn 2 gedrückt wurde,                              
  53.             if (ledstatus2 == 0)        //wird die led2 entweder
  54.               {
  55.                 digitalWrite(led2, HIGH); //an
  56.                 ledstatus2++;
  57.               }          
  58.             else
  59.               {
  60.                 digitalWrite(led2, LOW);  //oder aus geschaltet
  61.                 ledstatus2--;
  62.               }                          
  63.             delay(1); break;
  64.            
  65.             default:              //Bei jeder anderen gedrückten Taste
  66.             delay(1);             //geschieht keine Aktion
  67.           }
  68.         irrecv.resume();
  69.       }
  70.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement