Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.51 KB | None | 0 0
  1.  
  2. #include <SPI.h> //dodaj obsługę biblioteki SPI
  3. #include <nRF24L01.h> //dodaj bibliotekę obsługującą moduł
  4. #include <RF24.h> //dodaj bibliotekę główną modułów RF24
  5. #include <avr/sleep.h> //library needed to use AVR based sleep API
  6.  
  7.  
  8. #define S1 9
  9. #define S2 3
  10. #define S3 5
  11. #define S4 6
  12. #define K 10
  13.  
  14. // S1-> O== ==O <-S2
  15. // = =
  16. // = =
  17. // ==
  18. // = =
  19. // = =
  20. // S3 -> O== ==O <-S4
  21. //
  22. //================================================================================================================
  23. const uint64_t kod = 0x1CF8361637LL; //kod kanału
  24.  
  25.  
  26.  
  27. RF24 radio(7, 8); //tworzymy instancje komunikacji
  28.  
  29. int stan=0; //tworzymy zmienną przechowującą przesłane dane
  30.  
  31. long prawo;
  32. long lewo;
  33. long tyl;
  34. long przod;
  35. long kamera;
  36. long dol;
  37. long gora;
  38. //============================================================================================================
  39.  
  40.  
  41.  
  42.  
  43.  
  44. void setup()
  45. {
  46. Serial.begin(9600);
  47. // pinMode(dioda,OUTPUT);
  48. // wirelessSPI.maskIRQ(1,1,0); //mask all IRQ triggers except for receive (1 is mask, 0 is no mask)
  49. //ustawiamy diodę jako wyjście
  50. delay(1000); //przed uruchomieniem pętli głównej odczekaj 1s
  51. radio.begin(); //uruchom moduł
  52. radio.openReadingPipe(1,kod); //zacznij odczyt z kanału o danym kodzie
  53. radio.startListening(); //zacznij odczyt danych
  54. radio.setPALevel(RF24_PA_HIGH);
  55. // wirelessSPI.maskIRQ(1,1,0); //mask all IRQ triggers except for receive (1 is mask, 0 is no mask)
  56.  
  57. pinMode(S1, OUTPUT);
  58. pinMode(S2, OUTPUT);
  59. pinMode(S3, OUTPUT);
  60. pinMode(S4, OUTPUT);
  61. pinMode(K, OUTPUT);
  62. };
  63.  
  64.  
  65.  
  66.  
  67.  
  68. //=========================================================================================================================================
  69. void loop()
  70. {
  71. if (radio.available()) //jeżeli są jakieś dane do odczytu
  72. {
  73. radio.read(&kamera, sizeof(long));
  74. radio.read(&stan, sizeof(int)); //odczyt z tego joysticka cnie, tyle że na jednym ma byc tylko os OY do korekty mocy,
  75. radio.read(&prawo, sizeof(long)); //a na drugim wszystkie żeby płynnie przechodzić ze skrętu w bok na przod
  76. radio.read(&lewo, sizeof(long));
  77. radio.read(&dol, sizeof(long));
  78. radio.read(&gora, sizeof(long)); //moc wszystkich silnikow na raz
  79. radio.read(&przod, sizeof(long)); //moc TYLNYCH silnikow
  80. radio.read(&tyl, sizeof(long)); //moc PRZEDNICH silnikow
  81. radio.read(&stan, sizeof(int)); //odczytaj dane i zapisz je do zmiennej stan
  82.  
  83.  
  84. Serial.print("\n"); Serial.print("prawo: "); Serial.print(prawo);
  85. Serial.print("\n"); Serial.print("lewo: "); Serial.print(lewo);
  86. Serial.print("\n"); Serial.print("przod: "); Serial.print(przod);
  87. Serial.print("\n"); Serial.print("tyl: : "); Serial.print(tyl);
  88. Serial.print("\n"); Serial.print("kamera: "); Serial.print(kamera);
  89. Serial.print("\n"); Serial.print("gora: "); Serial.print(gora);
  90. Serial.print("\n"); Serial.print("dol: "); Serial.print(dol);
  91.  
  92.  
  93.  
  94.  
  95. //funkcja trzymajca pułap
  96. if(!gora== 0){
  97. analogWrite(S1,gora);
  98. analogWrite(S2,gora);
  99. analogWrite(S3,gora);
  100. analogWrite(S4,gora);
  101.  
  102. }
  103. else
  104. {
  105. for(int i=70;i>0 ;i--){
  106. analogWrite(S1,i);
  107. analogWrite(S2,i);
  108. analogWrite(S3,i);
  109. analogWrite(S4,i);
  110. delay(50);}
  111. };
  112. //skręt w lewo
  113. if(lewo > gora){
  114. analogWrite(S1,lewo);
  115. analogWrite(S4,lewo);
  116. };
  117. //skręt w prawo
  118. if(prawo > gora){
  119. analogWrite(S2,prawo);
  120. analogWrite(S3,prawo);
  121. };
  122. if(przod > gora){
  123. analogWrite(S3,przod);
  124. analogWrite(S4,przod);
  125. };
  126. if(tyl > gora){
  127. analogWrite(S1,tyl);
  128. analogWrite(S2,tyl);
  129. };
  130. analogWrite(K, kamera);
  131. }
  132. // if(stan == 0) //jeżeli wartość zmiennej stan jest równa zero to:
  133. //
  134. // digitalWrite(dioda,HIGH); //zapal diodę
  135. //
  136. // else //w przeciwnym wypadku
  137. // digitalWrite(dioda,LOW); //zgaś diodę
  138. //
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement