Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. #include <RCSwitch.h>
  2. RCSwitch mySwitch = RCSwitch();
  3. int teclaPress;
  4.  
  5. boolean flagTecla[12];
  6. boolean flagTim[12];
  7. boolean flagTimC[12];
  8. boolean passZero;
  9. boolean on_off[12];
  10.  
  11. unsigned long currentMillis;
  12. unsigned long TIM_T[13]={1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1100};
  13. unsigned long TIM_C[13];
  14.  
  15. long int value;
  16. long int codTecla[12]={5635843, 5635852, 5635855, 5635888, 5635891, //CODES DE CADA TECLA
  17. 5635900, 5635903, 5636032, 5636035, 5636044,
  18. 5636047, 5636080 };
  19.  
  20.  
  21.  
  22. void setup()
  23. {
  24. Serial.begin(9600);
  25. pinMode(13,OUTPUT);
  26. delay(50);
  27. mySwitch.enableReceive(0);
  28. }
  29.  
  30. void loop()
  31. {
  32. currentMillis = millis();
  33. for(int i=0; i<11; i++)
  34. {
  35. if(flagTim[i]==true && currentMillis - TIM_C[i] > TIM_T[i])
  36. {
  37. //TIM_C[i]=currentMillis;
  38. flagTimC[i]=true;
  39. }
  40. }
  41.  
  42. if (mySwitch.available())
  43. {
  44. value = mySwitch.getReceivedValue();
  45. for(int i=0; i<11; i++)
  46. {
  47. if(value==codTecla[i] && flagTim[i]==false)
  48. {
  49. TIM_C[i]=currentMillis;
  50. }
  51. if(value==codTecla[i] && flagTecla[i]==false)
  52. {
  53. flagTecla[i]=true;
  54. flagTim[i]=true;
  55. Serial.print("salta para void teclas ");
  56. Serial.print("tecla apertada numero :");
  57. Serial.println(i);
  58. teclaPress=i;
  59. teclas();
  60. }
  61. else if(value==codTecla[i] && flagTecla[i]==true && flagTimC[i]==true)
  62. {
  63. flagTecla[i]=false;
  64. flagTim[i]=false;
  65. flagTimC[i]=false;
  66. TIM_C[i]=currentMillis;
  67. }
  68. }
  69.  
  70. mySwitch.resetAvailable();
  71. }
  72. }
  73. void teclas()
  74. {
  75. Serial.println("passo tecla press");
  76. switch (teclaPress)
  77. {
  78.  
  79. case 0:
  80. if(on_off[teclaPress]==false)
  81. {
  82. on_off[teclaPress]=true;
  83. digitalWrite(13, LOW);
  84. Serial.println("passo1");
  85. }
  86. else if(on_off[teclaPress]==true)
  87. {
  88. on_off[teclaPress]=false;
  89. digitalWrite(13, HIGH);
  90. Serial.println("passo2");
  91. }
  92. break;
  93.  
  94. case 1:
  95. Serial.println("tecla 2");
  96. break;
  97.  
  98. case 2:
  99. Serial.println("tecla 3");
  100. break;
  101.  
  102. case 3:
  103. Serial.println("tecla 4");
  104. break;
  105.  
  106. case 4:
  107. Serial.println("tecla 5");
  108. break;
  109.  
  110. case 5:
  111. Serial.println("tecla 6");
  112. break;
  113.  
  114. case 7:
  115. Serial.println("tecla 8");
  116. break;
  117.  
  118. case 8:
  119. Serial.println("tecla 9");
  120. break;
  121.  
  122. case 10:
  123. Serial.println("tecla 11");
  124. break;
  125.  
  126. case 11:
  127. Serial.println("tecla 12");
  128. break;
  129. }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement