Advertisement
bayarfaj2004

IR with remote

Mar 28th, 2014
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.24 KB | None | 0 0
  1. #include <IRremote.h>
  2.  
  3. int RECV_PIN = 11;
  4. int ledPin = 13;
  5. int speakerPin = 10;
  6. int numTones = 10;
  7. int tones[] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440};
  8. int A = 7;
  9. int B = 6;
  10. int C = 4;
  11. int D = 3;
  12. int E = 2;
  13. int F = 8;
  14. int G = 9;
  15.  
  16. byte num0 = 0x3F;      
  17. byte num1 = 0x6;
  18. byte num2 = 0x5B;
  19. byte num3 = 0x4F;
  20. byte num4 = 0x66;
  21. byte num5 = 0x6D;
  22. byte num6 = 0x7D;
  23. byte num7 = 0x7;
  24. byte num8 = 0x7F;
  25. byte num9 = 0x6F;
  26. byte num00 = 0x0;
  27.  
  28. IRrecv irrecv(RECV_PIN);
  29.  
  30. decode_results results;
  31.  
  32. void on(byte num)            
  33. {
  34.   int result = bitRead(num, 0);
  35.   if (result == 1)
  36.   {digitalWrite(A, HIGH);}
  37.   else
  38.   {digitalWrite(A, LOW);}
  39.   result = bitRead( num, 1);
  40.  
  41.   if (result == 1)
  42.   {digitalWrite(B, HIGH);}
  43.   else
  44.   {digitalWrite(B, LOW);}    
  45.   result = bitRead( num, 2);
  46.  
  47.   if (result == 1)
  48.   {digitalWrite(C, HIGH);}
  49.   else
  50.   {digitalWrite(C, LOW);}    
  51.   result = bitRead( num, 3);
  52.  
  53.   if (result == 1)
  54.   {digitalWrite(D, HIGH);}
  55.   else
  56.   {digitalWrite(D, LOW);}    
  57.   result = bitRead( num, 4);
  58.  
  59.   if (result == 1)
  60.   {digitalWrite(E, HIGH);}
  61.   else
  62.   {digitalWrite(E, LOW);}  
  63.   result = bitRead( num, 5);  
  64.      
  65.   if (result == 1)
  66.   {digitalWrite(F, HIGH);}
  67.   else
  68.   {digitalWrite(F, LOW);}    
  69.   result = bitRead( num, 6);
  70.      
  71.   if (result == 1)
  72.   {digitalWrite(G, HIGH);}
  73.   else
  74.   {digitalWrite(G, LOW);}
  75.  
  76.   if (result == 1)
  77.   {digitalWrite(F, HIGH);}
  78.   else
  79.   {digitalWrite(F, LOW);}    
  80.   result = bitRead( num, 00);
  81. }
  82.  
  83. void setup()
  84. {
  85.   Serial.begin(9600);
  86.   irrecv.enableIRIn();
  87.   pinMode(ledPin, OUTPUT);
  88.   pinMode(A, OUTPUT);
  89.   pinMode(B, OUTPUT);
  90.   pinMode(C, OUTPUT);
  91.   pinMode(D, OUTPUT);
  92.   pinMode(E, OUTPUT);
  93.   pinMode(F, OUTPUT);
  94.   pinMode(G, OUTPUT);
  95.   pinMode(10,OUTPUT);
  96. }
  97.  
  98. void loop() {
  99.   if (irrecv.decode(&results)) {
  100.     digitalWrite(ledPin, HIGH);
  101.     Serial.println(results.value, DEC);
  102.     irrecv.resume();
  103.     delay(100);
  104.     int oldvalue = results.value;
  105.     switch(results.value){
  106.       case 16738455:
  107.       Serial.println(0);
  108.       if (oldvalue == results.value){
  109.         on(num0);
  110.         delay(1000);
  111.         on(num00);
  112.         delay(1000);
  113.         oldvalue = results.value;
  114.       }
  115.       on(num0);
  116.       delay(1000);
  117.       irrecv.resume();
  118.       break;
  119.       case 16724175:
  120.       Serial.println(1);
  121.       on(num1);
  122.       irrecv.resume();
  123.       break;
  124.       case 16718055:
  125.       Serial.println(2);
  126.       on(num2);
  127.       irrecv.resume();
  128.       break;
  129.       case 16743045:
  130.       Serial.println(3);
  131.       on(num3);
  132.       irrecv.resume();
  133.       break;
  134.       case 16716015:
  135.       Serial.println(4);
  136.       on(num4);
  137.       irrecv.resume();
  138.       break;
  139.       case 16726215:
  140.       Serial.println(5);
  141.       on(num5);
  142.       irrecv.resume();
  143.       break;
  144.       case 16734885:
  145.       Serial.println(6);
  146.       on(num6);
  147.       irrecv.resume();
  148.       break;
  149.       case 16728765:
  150.       Serial.println(7);
  151.       on(num7);
  152.       irrecv.resume();
  153.       break;
  154.       case 16730805:
  155.       Serial.println(8);
  156.       on(num8);
  157.       irrecv.resume();
  158.       break;
  159.       case 16732845:
  160.       Serial.println(9);
  161.       on(num9);
  162.       irrecv.resume();
  163.       break;
  164.     }
  165.   }
  166.   else{
  167.     digitalWrite(ledPin, LOW);
  168.   }
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement