Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2015
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.43 KB | None | 0 0
  1. #include <SPI.h>
  2. #include "nRF24L01.h"
  3. #include "RF24.h"
  4.  
  5. int reles[2] = {2, 3};
  6. int tipo_rele = 0;
  7.  
  8. int servidor = 0;
  9. int cliente = 10;
  10. int data[5];
  11.  
  12. int pong[5];
  13.  
  14. int pinSensor1 = A1;
  15. int pinSensor2 = A2;
  16. int valorSensor1 = 0;
  17. int valorSensor2 = 0;
  18. int statusSensor1 = 0;
  19. int statusSensor2 = 0;
  20.  
  21. boolean sendSensor1 = false;
  22. boolean sendSensor2 = false;
  23.  
  24. RF24 radio(9, 10);
  25.  
  26. const uint64_t pipe = 0xE8E8F0F0E1LL;
  27.  
  28. void setup(void)
  29. {
  30.   Serial.begin(9600);
  31.   radio.begin();
  32.  
  33.   radio.setChannel(81);
  34.   radio.setCRCLength(RF24_CRC_8);
  35.   radio.setDataRate(RF24_250KBPS);
  36.   //radio.setPayloadSize(sizeof(data));
  37.  
  38.   radio.openWritingPipe(pipe);
  39.   radio.openReadingPipe(1, pipe);
  40.   radio.startListening();
  41.  
  42.   pinMode(reles[0], OUTPUT);
  43.  pinMode(reles[1], OUTPUT);
  44.    
  45.   digitalWrite(reles[0], LOW);
  46.   digitalWrite(reles[1], HIGH);
  47.   pinMode(4, OUTPUT);
  48.  
  49.  
  50.  
  51. }
  52.  
  53. void loop(void) {
  54.  
  55.   valorSensor1 = analogRead(pinSensor1);
  56.   valorSensor2 = analogRead(pinSensor2);
  57.  
  58.   if (valorSensor1 <= 300) {
  59.     // Serial.println("Sensor 1 menor que 300");
  60.     if (statusSensor1 == 0) {
  61.       sendSensor1 = false;
  62.     }
  63.     else {
  64.       statusSensor1 = 0;
  65.       sendSensor1 = true;
  66.     }
  67.   } else {
  68.     if (statusSensor1 == 1) {
  69.       sendSensor1 = false;
  70.     }
  71.     else {
  72.       statusSensor1 = 1;
  73.       sendSensor1 = true;
  74.     }
  75.   }
  76.   if (valorSensor2 <= 300) {
  77.     // Serial.println("Sensor 2 menor que 300");
  78.     if (statusSensor2 == 0) {
  79.       sendSensor2 = false;
  80.     }
  81.     else {
  82.       statusSensor2 = 0;
  83.       sendSensor2 = true;
  84.     }
  85.   } else {
  86.     if (statusSensor2 == 1) {
  87.       sendSensor2 = false;
  88.     }
  89.     else {
  90.       statusSensor2 = 1;
  91.       sendSensor2 = true;
  92.     }
  93.   }
  94.  
  95.   if (sendSensor1) {
  96.     sendSensor1 = false;
  97.     sendData(0, statusSensor1);
  98.   }
  99.  
  100.   if (sendSensor2) {
  101.     sendSensor2 = false;
  102.     sendData(1, statusSensor2);
  103.   }
  104.  
  105.  
  106.  
  107.   if ( radio.available()  > 0)
  108.   {
  109.     Serial.println("chegou");
  110.     digitalWrite(5, !digitalRead(5));
  111.  
  112.  
  113.     //Serial.println("Recebendo..");
  114.     radio.read( data, sizeof(data) );
  115.  
  116.     Serial.print(data[0]);
  117.     Serial.print(data[1]);
  118.     Serial.print(data[2]);
  119.     Serial.print(data[3]);
  120.     Serial.print(data[4]);
  121.     // cliente,tipo,rele,status
  122.     if (data[0] == cliente) {
  123.      
  124.       Serial.println();
  125.       Serial.println("RELE");
  126.       Serial.println(data[2]);
  127.       Serial.println("====");
  128.       Serial.println("Status");
  129.       Serial.println(data[3]);
  130.       Serial.println("====");
  131.       Serial.println(reles[data[2]]);
  132.      
  133.      
  134.      
  135.      
  136.       digitalWrite(reles[data[2]], data[3]);
  137.  
  138.       /*
  139.       if (data[2] == 0) {
  140.         if (data[3] == 0) {
  141.           digitalWrite(reles[0], LOW);
  142.         } else if (data[3] == 1) {
  143.           digitalWrite(reles[0], HIGH);
  144.         }
  145.  
  146.       } else if (data[2] == 1) {
  147.         if (data[3] == 0) {
  148.           digitalWrite(reles[1], LOW);
  149.         } else if (data[3] == 1) {
  150.           digitalWrite(reles[1], HIGH);
  151.         }
  152.       }
  153.      
  154.       */
  155.     }
  156.    
  157.     //delay(200);
  158.   }
  159. }
  160.  
  161. void sendData(int identificacao, int status_retorno) {
  162.   digitalWrite(4, !digitalRead(4));
  163.   Serial.println("mudou sensor");
  164.  
  165.   pong[0] = servidor;
  166.   pong[1] = cliente;
  167.   pong[2] = tipo_rele;
  168.   pong[3] = identificacao;
  169.   pong[4] = status_retorno;
  170.  
  171.   radio.stopListening();
  172.   radio.write( pong, sizeof(pong) );
  173.   Serial.println("Enviando..");
  174.   radio.startListening();
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement