Advertisement
Guest User

Untitled

a guest
Sep 25th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1. //==================================( CICERO RX_TX_ENTRADAS )===========================//
  2. //==========================( INCLUIR BIBLIOTECAS E CONFIGURAÇÕES )===================//
  3. #include <RCSwitch.h>
  4. RCSwitch mySwitch = RCSwitch();
  5.  
  6. //============================( DECLARAR VARIAVEIS GLOBAIS )=====================//
  7. int TOSEND;
  8. int RESPONSE;
  9. int COMPARA;
  10. int TENTATIVA;
  11. int ERRO=0;
  12. String str;
  13. char matriz[5];
  14. boolean flag=false;
  15. boolean flagTIM[3];
  16. unsigned long currentMillis;
  17. unsigned long TIM_T[3]={5500, 6000, 10};
  18. unsigned long TIM_C[3];
  19. int AUDIO[11]={1,3,7,15,31,63,127,255,511,1023,2047};
  20. boolean flag2;
  21. char C='1';
  22.  
  23. //============================( ROTINA DE CONFIGURAÇÃO VOID SETUP )=====================//
  24. void setup()
  25. {
  26. Serial.begin(9600); //-----------------(CONFIGURAÇÃO PORTA SERIAL).
  27. mySwitch.enableTransmit(13); //--------(CONFIGURAÇÃO TX 433MHZ).
  28. mySwitch.enableReceive(0); //---------(CONFIGURAÇÃO RX 433MHZ).
  29. pinMode(12, INPUT_PULLUP); //---------(CONF. PINO:12 SAIDA).
  30. pinMode(11, INPUT_PULLUP); //---------(CONF. PINO:11 SAIDA).
  31. pinMode(10, INPUT_PULLUP); //---------(CONF. PINO:10 SAIDA).
  32. pinMode(9, INPUT_PULLUP); //----------(CONF. PINO:9 SAIDA).
  33. pinMode(8, INPUT_PULLUP); //----------(CONF. PINO:8 SAIDA).
  34. pinMode(7, INPUT_PULLUP); //----------(CONF. PINO:7 SAIDA).
  35. pinMode(6, INPUT_PULLUP); //----------(CONF. PINO:6 SAIDAA).
  36. pinMode(5, INPUT_PULLUP); //----------(CONF. PINO:5 SAIDA).
  37. pinMode(4, INPUT_PULLUP); //----------(CONF. PINO:4 SAIDA).
  38. pinMode(3, INPUT_PULLUP); //----------(CONF. PINO:3 SAIDA).
  39. //mySwitch.send(2046, 24);
  40. }
  41.  
  42. //============================( ROTINA DE PROGRAMA PRINCIPAL LOOP )=====================//
  43. void loop()
  44. {
  45. bitWrite(TOSEND,0,1);
  46. bitWrite(TOSEND,1,digitalRead(3));
  47. bitWrite(TOSEND,2,digitalRead(4));
  48. bitWrite(TOSEND,3,digitalRead(5));
  49. bitWrite(TOSEND,4,digitalRead(6));
  50. bitWrite(TOSEND,5,digitalRead(7));
  51. bitWrite(TOSEND,6,digitalRead(8));
  52. bitWrite(TOSEND,7,digitalRead(9));
  53. bitWrite(TOSEND,8,digitalRead(10));
  54. bitWrite(TOSEND,9,digitalRead(11));
  55. bitWrite(TOSEND,10,digitalRead(12));
  56. currentMillis = millis();//------------------(TEMPO ATUAL EM ms
  57. if (mySwitch.available())
  58. {
  59. RESPONSE = mySwitch.getReceivedValue();//-(RECEBE DADOS PELO RX).
  60. //Serial.println(RESPONSE);
  61. if(RESPONSE>2999)
  62. {
  63. Serial.println("ATUALIZADO SAIDAS COM SUCESSO");
  64. TIM_C[0]=currentMillis;
  65. TENTATIVA=0;
  66. flagTIM[0]=false;
  67. ERRO=0;
  68. }
  69. mySwitch.resetAvailable(); //-------------(RESET DO BUFFER RX).
  70. }
  71. if(COMPARA!=TOSEND||ERRO==1)
  72. {
  73. if(COMPARA!=TOSEND)
  74. {
  75. TENTATIVA=0;
  76. }
  77. COMPARA=TOSEND; //------------------------(SALVA O ULTIMA MSG ENVIADA).
  78. mySwitch.disableReceive(); //-------------(DESABILITA A RECEPÇÃO RX).
  79. mySwitch.send(TOSEND, 24); //-------------(ENVIA DADOS PELO TX).
  80. mySwitch.enableReceive(0); //-------------(HABILITA A RECEPÇÃO RX).
  81. TIM_C[0]=currentMillis;
  82. TIM_C[1]=currentMillis;
  83. flagTIM[0]=true;
  84. ERRO=0;
  85. }
  86. if(TENTATIVA<=9 && flagTIM[0]==true && currentMillis - TIM_C[0] > TIM_T[0])
  87. {
  88. flagTIM[0]=false;
  89. TENTATIVA++;
  90. TIM_C[0]=currentMillis;
  91. TIM_C[1]=currentMillis;
  92. ERRO=1;
  93. Serial.print("(FALHA DE REDE: ");
  94. Serial.print(TENTATIVA);
  95. Serial.println(" TENTATIVA)");
  96. }
  97. if(COMPARA==TOSEND)
  98. {
  99. flagTIM[1]=true;
  100. if(flagTIM[1]==true && currentMillis - TIM_C[1] > TIM_T[1])
  101. {
  102. mySwitch.disableReceive(); //-------------(DESABILITA A RECEPÇÃO RX).
  103. mySwitch.send(TOSEND, 24); //-------------(ENVIA DADOS PELO TX).
  104. mySwitch.enableReceive(0); //-------------(HABILITA A RECEPÇÃO RX).
  105. TIM_C[1]=currentMillis;
  106. flagTIM[1]=false;
  107. }
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement