Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include "nRF24L01.h"
- #include "RF24.h"
- int reles[2] = {2, 3};
- int tipo_rele = 0;
- int servidor = 0;
- int cliente = 10;
- int data[5];
- int pong[5];
- int pinSensor1 = A1;
- int pinSensor2 = A2;
- int valorSensor1 = 0;
- int valorSensor2 = 0;
- int statusSensor1 = 0;
- int statusSensor2 = 0;
- boolean sendSensor1 = false;
- boolean sendSensor2 = false;
- RF24 radio(9, 10);
- const uint64_t pipe = 0xE8E8F0F0E1LL;
- void setup(void)
- {
- Serial.begin(9600);
- radio.begin();
- radio.setChannel(81);
- radio.setCRCLength(RF24_CRC_8);
- radio.setDataRate(RF24_250KBPS);
- //radio.setPayloadSize(sizeof(data));
- radio.openWritingPipe(pipe);
- radio.openReadingPipe(1, pipe);
- radio.startListening();
- pinMode(reles[0], OUTPUT);
- pinMode(reles[1], OUTPUT);
- digitalWrite(reles[0], LOW);
- digitalWrite(reles[1], HIGH);
- pinMode(4, OUTPUT);
- }
- void loop(void) {
- valorSensor1 = analogRead(pinSensor1);
- valorSensor2 = analogRead(pinSensor2);
- if (valorSensor1 <= 300) {
- // Serial.println("Sensor 1 menor que 300");
- if (statusSensor1 == 0) {
- sendSensor1 = false;
- }
- else {
- statusSensor1 = 0;
- sendSensor1 = true;
- }
- } else {
- if (statusSensor1 == 1) {
- sendSensor1 = false;
- }
- else {
- statusSensor1 = 1;
- sendSensor1 = true;
- }
- }
- if (valorSensor2 <= 300) {
- // Serial.println("Sensor 2 menor que 300");
- if (statusSensor2 == 0) {
- sendSensor2 = false;
- }
- else {
- statusSensor2 = 0;
- sendSensor2 = true;
- }
- } else {
- if (statusSensor2 == 1) {
- sendSensor2 = false;
- }
- else {
- statusSensor2 = 1;
- sendSensor2 = true;
- }
- }
- if (sendSensor1) {
- sendSensor1 = false;
- sendData(0, statusSensor1);
- }
- if (sendSensor2) {
- sendSensor2 = false;
- sendData(1, statusSensor2);
- }
- if ( radio.available() > 0)
- {
- Serial.println("chegou");
- digitalWrite(5, !digitalRead(5));
- //Serial.println("Recebendo..");
- radio.read( data, sizeof(data) );
- Serial.print(data[0]);
- Serial.print(data[1]);
- Serial.print(data[2]);
- Serial.print(data[3]);
- Serial.print(data[4]);
- // cliente,tipo,rele,status
- if (data[0] == cliente) {
- Serial.println();
- Serial.println("RELE");
- Serial.println(data[2]);
- Serial.println("====");
- Serial.println("Status");
- Serial.println(data[3]);
- Serial.println("====");
- Serial.println(reles[data[2]]);
- digitalWrite(reles[data[2]], data[3]);
- /*
- if (data[2] == 0) {
- if (data[3] == 0) {
- digitalWrite(reles[0], LOW);
- } else if (data[3] == 1) {
- digitalWrite(reles[0], HIGH);
- }
- } else if (data[2] == 1) {
- if (data[3] == 0) {
- digitalWrite(reles[1], LOW);
- } else if (data[3] == 1) {
- digitalWrite(reles[1], HIGH);
- }
- }
- */
- }
- //delay(200);
- }
- }
- void sendData(int identificacao, int status_retorno) {
- digitalWrite(4, !digitalRead(4));
- Serial.println("mudou sensor");
- pong[0] = servidor;
- pong[1] = cliente;
- pong[2] = tipo_rele;
- pong[3] = identificacao;
- pong[4] = status_retorno;
- radio.stopListening();
- radio.write( pong, sizeof(pong) );
- Serial.println("Enviando..");
- radio.startListening();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement