Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. #include <nRF24L01.h>
  2. #include <printf.h>
  3. #include <RF24.h>
  4. #include <RF24_config.h>
  5.  
  6. #include <SPI.h>
  7. #include <nRF24L01.h>
  8. #include <RF24.h>
  9.  
  10. //Declaremos los pines CE y el CSN
  11. // aca definimos los pines de salida para baliza y sirena
  12. #define CE_PIN 7
  13. #define CSN_PIN 8
  14. #define baliza 2
  15. #define sirena 4
  16.  
  17. //Variable con la dirección del canal por donde se va a transmitir
  18. byte direccion[5] = "00000";
  19.  
  20. //creamos el objeto radio (NRF24L01)
  21. RF24 radio(CE_PIN, CSN_PIN);
  22.  
  23. //vector con los datos a enviar
  24. float datos[3];
  25. float tiempo = 0;
  26. float tiempo0;
  27. float tiempoactual;
  28. int sonosirena;
  29.  
  30. void setup()
  31. {
  32.  
  33. pinMode(baliza, OUTPUT);
  34. pinMode(sirena, OUTPUT);
  35. //inicializamos el NRF24L01
  36. radio.begin();
  37. //inicializamos el puerto serie
  38. Serial.begin(9600);
  39.  
  40. //Abrimos un canal de escritura
  41. radio.openReadingPipe(0, direccion);
  42. radio.setPALevel(RF24_PA_MAX);//set RF power output to minimum RF24_PA_MIN (change to RF24_PA_MAX if required)
  43. radio.setDataRate(RF24_1MBPS);//set datarate to 250kbps
  44. radio.setChannel(110);//set frequency to channel 110
  45.  
  46. //empezamos a escuchar por el canal
  47. radio.startListening();
  48. sonosirena = 0;
  49. }
  50.  
  51. void loop() {
  52.  
  53.  
  54. if (datos[0] == 0) {
  55. digitalWrite(baliza, LOW);
  56. sonosirena = 0;
  57. }
  58.  
  59. if (radio.available()) {
  60.  
  61. radio.read(datos, sizeof(datos));
  62.  
  63. Serial.print("Dato0= " );
  64. Serial.println(datos[0]);
  65.  
  66. if (datos[0] == 1) {
  67. digitalWrite(baliza, HIGH);
  68. Serial.println("UNOOO");
  69. Serial.println(tiempo);
  70. if (tiempo == 0) {
  71. tiempo = millis();
  72. tiempo0 = tiempo;
  73. }
  74.  
  75. if (sonosirena == 0) {
  76. digitalWrite(sirena, HIGH);
  77. delay(200);
  78. digitalWrite(sirena, LOW);
  79. sonosirena = 1;
  80. }
  81. tiempoactual = millis();
  82.  
  83. if (tiempoactual - tiempo0 > 4000) {
  84.  
  85. sonosirena = 0;
  86. tiempo = 0;
  87. }
  88.  
  89. }
  90. }
  91. else
  92. {
  93. Serial.println("No hay datos de radio disponibles");
  94. digitalWrite(baliza, LOW);
  95. }
  96. delay(150);
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement