Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. /* Данный скетч делает следующее: передатчик (TX) отправляет массив
  2. данных, который генерируется согласно показаниям с кнопки и с
  3. двух потенциомтеров. Приёмник (RX) получает массив, и записывает
  4. данные на реле, сервомашинку и генерирует ШИМ сигнал на транзистор.
  5. by AlexGyver 2016
  6. */
  7.  
  8. #include <SPI.h>
  9. #include "nRF24L01.h"
  10. #include "RF24.h"
  11. #include <Servo.h>
  12.  
  13. RF24 radio(9, 10); // "создать" модуль на пинах 9 и 10 Для Уно
  14. //RF24 radio(9,53); // для Меги
  15.  
  16. byte recieved_data[3]; // массив принятых данных
  17. byte relay = 2; // реле на 2 цифровом
  18.  
  19.  
  20. byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"}; //возможные номера труб
  21.  
  22. void setup() {
  23. Serial.begin(9600); //открываем порт для связи с ПК
  24.  
  25. pinMode(relay, OUTPUT); // настроить пин реле как выход
  26.  
  27.  
  28. radio.begin(); //активировать модуль
  29. radio.setAutoAck(1); //режим подтверждения приёма, 1 вкл 0 выкл
  30. radio.setRetries(0, 15); //(время между попыткой достучаться, число попыток)
  31. radio.enableAckPayload(); //разрешить отсылку данных в ответ на входящий сигнал
  32. radio.setPayloadSize(32); //размер пакета, в байтах
  33.  
  34. radio.openReadingPipe(1, address[0]); //хотим слушать трубу 0
  35. radio.setChannel(0x60); //выбираем канал (в котором нет шумов!)
  36.  
  37. radio.setPALevel (RF24_PA_MAX); //уровень мощности передатчика. На выбор RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX
  38. radio.setDataRate (RF24_250KBPS); //скорость обмена. На выбор RF24_2MBPS, RF24_1MBPS, RF24_250KBPS
  39. //должна быть одинакова на приёмнике и передатчике!
  40. //при самой низкой скорости имеем самую высокую чувствительность и дальность!!
  41.  
  42. radio.powerUp(); //начать работу
  43. radio.startListening(); //начинаем слушать эфир, мы приёмный модуль
  44. }
  45.  
  46. void loop() {
  47. byte pipeNo;
  48. while ( radio.available(&pipeNo)) { // слушаем эфир со всех труб
  49. radio.read( &recieved_data, sizeof(recieved_data) ); // чиатем входящий сигнал
  50. digitalWrite(relay, recieved_data[0]); // подать на реле сигнал с 0 места массива
  51. //то бишь 0 или 1
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement