Advertisement
Guest User

Untitled

a guest
Aug 1st, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.08 KB | None | 0 0
  1. #include <SPI.h>
  2. #include "nRF24L01.h"
  3. #include "RF24.h"
  4.  
  5. #define CE_PIN   9
  6. #define CSN_PIN 10
  7.  
  8. const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
  9. int joystick[2];
  10.  
  11. RF24 radio(CE_PIN, CSN_PIN);
  12.  
  13. void turn_ahead(){
  14.   turn_stop();
  15.   delay(100);
  16.   digitalWrite(2, HIGH);
  17.   digitalWrite(3, LOW);
  18.   digitalWrite(4, HIGH);
  19.   digitalWrite(5, LOW);
  20. }
  21. void turn_back(){
  22.   turn_stop();
  23.   delay(100);
  24.   digitalWrite(2, LOW);
  25.   digitalWrite(3, HIGH);
  26.   digitalWrite(4, LOW);
  27.   digitalWrite(5, HIGH);
  28. }
  29. void turn_stop(){
  30.   digitalWrite(2, LOW);
  31.   digitalWrite(3, LOW);
  32.   digitalWrite(4, LOW);
  33.   digitalWrite(5, LOW);
  34. }
  35. void turn_right(){
  36.   turn_stop();
  37.   delay(100);
  38.   digitalWrite(2, HIGH);
  39.   digitalWrite(3, LOW);
  40.   digitalWrite(4, LOW);
  41.   digitalWrite(5, HIGH);
  42. }
  43. void turn_left(){
  44.   turn_stop();
  45.   delay(100);
  46.   digitalWrite(2, LOW);
  47.   digitalWrite(3, HIGH);
  48.   digitalWrite(4, HIGH);
  49.   digitalWrite(5, LOW);  
  50. }
  51. void performAction(int action){
  52.    switch(action)
  53.     {
  54.       case 10:
  55.         Serial.write("Do przodu\n");
  56.         turn_ahead();
  57.         break;
  58.       case 20:
  59.         Serial.write("Do tylu\n");
  60.         turn_back();
  61.         break;
  62.       case 30:
  63.         Serial.write("Stop\n");
  64.         turn_stop();
  65.         break;
  66.       case 40:
  67.         Serial.write("W lewo\n");
  68.         turn_left();
  69.         break;
  70.       case 50:
  71.         Serial.write("w prawo\n");
  72.         turn_right();
  73.         break;
  74.     }
  75. }
  76. void setup() {
  77.   Serial.begin(9600);
  78.   delay(1000);
  79.   Serial.println("Starting");
  80.   radio.begin();
  81.   radio.openReadingPipe(1,pipes[0]);
  82.   radio.openWritingPipe(pipes[1]);
  83.   radio.startListening();
  84.   radio.printDetails();
  85. }
  86.  
  87. void loop() {
  88.   if(radio.available()){
  89.     bool done = false;
  90.     while(radio.available())
  91.     {
  92.       radio.read(joystick, sizeof(joystick));
  93.       Serial.print("Command:");
  94.       Serial.print(joystick[0]);
  95.       radio.stopListening();
  96.       int response[2] = {1, 0};
  97.       radio.write(response, sizeof(response));
  98.       radio.startListening();
  99.       performAction(joystick[0]);
  100.     }
  101.   }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement