Facebook
From Hashwrc , 6 Years ago, written in C.
Embed
Download Paste or View Raw
Hits: 230
  1. #include <SPI.h>
  2. #include <nRF24L01.h>
  3. #include <RF24.h> //Скачиваем и устанавливаем библиотеку RF24 для радио модуля!!!!!!!!!
  4. #include <Servo.h>
  5. Servo myservo1;
  6. Servo myservo2;
  7. Servo myservo3;
  8. #define CE_PIN   2
  9. #define CSN_PIN 9
  10. int pwm = 0;
  11. int pwm2 = 0;
  12. const uint64_t pipe = 0xE8E8F0F0E1LL;
  13. RF24 radio(CE_PIN, CSN_PIN);
  14. int joystick[9];
  15. //unsigned long time;
  16. void setup()  
  17. {
  18.   delay(50);
  19.   radio.begin();
  20.   radio.setChannel(9);
  21.   radio.setDataRate(RF24_250KBPS);        // Установка минимальной скорости;
  22.   radio.setPALevel(RF24_PA_HIGH);          // Установка максимальной мощности;
  23.   radio.openReadingPipe(1,pipe);
  24.   radio.startListening();
  25.   myservo1.attach(4);
  26.   myservo2.attach(8);
  27.   myservo3.attach(3);
  28.   pinMode(7, OUTPUT);
  29.   pinMode(10, OUTPUT);
  30.   digitalWrite(10,LOW);
  31.   pinMode(14, OUTPUT);
  32.   pinMode(15, OUTPUT);
  33.   pinMode(16, OUTPUT);
  34.   pinMode(17, OUTPUT);
  35.   pinMode(18, OUTPUT);
  36.   pinMode(19, OUTPUT);
  37. }
  38.  
  39.  
  40. void loop()  
  41. {
  42.   if ( radio.available() )
  43.   {
  44.     //time = millis();
  45.     bool done = false;
  46.     while (!done)
  47.     {
  48.       done = radio.read( joystick, sizeof(joystick) );
  49.      // if (millis() - time > 1000){
  50.       //joystick[0]=0;
  51.       //joystick[1]=0;
  52.       //joystick[2]=0;
  53.       //joystick[3]=0;
  54.       //joystick[4]=0;
  55.       //joystick[5]=0;
  56.       //joystick[6]=0;
  57.       //joystick[7]=0;
  58.       //joystick[8]=0;}
  59.       myservo1.write(joystick[0]);
  60.       myservo2.write(joystick[2]);
  61.       myservo3.write(joystick[4]);
  62.       digitalWrite(14, !joystick[5]);
  63.       digitalWrite(15, !joystick[6]);
  64.       digitalWrite(16, !joystick[7]);
  65.       digitalWrite(7, !joystick[8]);  
  66.      
  67.      if(joystick[1]==512)
  68. {    digitalWrite(17,LOW);
  69.      digitalWrite(10,LOW);
  70. }
  71.              if(joystick[1]>524)
  72.              {   pwm = map(joystick[1], 524,1024,10,255);
  73.                  analogWrite(5,pwm);
  74.                  digitalWrite(17,LOW);
  75.                  digitalWrite(10,HIGH);
  76.              }
  77.                          if(joystick[1]<500)
  78.                          {   pwm = map(joystick[1],500,0,10,255);
  79.                              analogWrite(5,pwm);
  80.                              digitalWrite(17,HIGH);
  81.                              digitalWrite(10,LOW);
  82.                          }
  83.                          
  84. if(joystick[3]==512)
  85. {    digitalWrite(18,LOW);
  86.      digitalWrite(19,LOW);
  87. }
  88.              if(joystick[3]>524)
  89.              {   pwm2 = map(joystick[3], 524,1024,10,255);
  90.                  analogWrite(6,pwm2);
  91.                  digitalWrite(18,LOW);
  92.                  digitalWrite(19,HIGH);
  93.              }
  94.                            if(joystick[3]<500)
  95.                            {   pwm2 = map(joystick[3],500,0,10,255);
  96.                                analogWrite(6,pwm2);
  97.                                digitalWrite(18,HIGH);
  98.                                digitalWrite(19,LOW);
  99.                            }          
  100.   }
  101.   }
  102.   else
  103.   {      
  104.   }
  105.   }