Advertisement
Guest User

Valdymo pultas

a guest
Dec 21st, 2015
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.34 KB | None | 0 0
  1.  
  2. /*
  3. * Getting Started example sketch for nRF24L01+ radios
  4. * This is a very basic example of how to send data from one node to another
  5. * Updated: Dec 2014 by TMRh20
  6. */
  7.  
  8. #include <SPI.h>
  9. #include "RF24.h"
  10.  
  11. //LCD 5110 biblioteka
  12. #include <LCD5110_Graph.h>
  13.  
  14. LCD5110 myGLCD(2,3,4,6,5);
  15.  
  16. extern uint8_t SmallFont[];
  17. extern uint8_t arduino_logo[];
  18. extern unsigned char TinyFont[];
  19.  
  20. //Ikeliamas papildomos funkcijos
  21. #include "funkcijos.h";
  22.  
  23. //vairo kintamieji
  24. int vairas_x=2, vairas_y=1, vairas_value_x=0, vairas_value_y=0;
  25. //meniu valdymo kintamieji
  26. int meniu_x=4, meniu_y=3, meniu_value_x=0, meniu_value_y=0;
  27.  
  28. /* Hardware configuration: Set up nRF24L01 radio on SPI bus plus pins 9 & 10 */
  29. RF24 radio(9,10);
  30. /**********************************************************/
  31.  
  32. byte addresses[][6] = {"1Node","2Node"};
  33.  
  34. void setup() {
  35.   Serial.begin(9600);
  36.   radio.begin();
  37.   radio.setChannel(21);
  38.   radio.setPALevel(RF24_PA_MAX);
  39.   radio.setDataRate(RF24_1MBPS);
  40.   //radio.setAutoAck(1);                    
  41.   //radio.setRetries(2,15);              
  42.  
  43.   //radio.setCRCLength(RF24_CRC_8);        
  44.  
  45.   radio.openWritingPipe(addresses[0]);
  46.   radio.openReadingPipe(1,addresses[1]);
  47.  
  48.   // Start the radio listening for data
  49.   radio.startListening();
  50.  
  51.   //paleidziamas LCD
  52.   myGLCD.InitLCD();
  53.   myGLCD.setContrast(60);
  54.  
  55.   //Rodomas start BOOT
  56.   start_boot();
  57.  
  58.   //radio.printDetails();
  59. }
  60.  
  61. void loop() {
  62.   //Siunciamu duomenu masyvas
  63. unsigned long data_sent[5];
  64. unsigned long data_get[5];
  65.   //nuskaitomas JOYSTICK duomenys
  66.   //vairas
  67.   vairas_value_x = analogRead(vairas_x);
  68.   vairas_value_y = analogRead(vairas_y);
  69.   //meniu
  70.   meniu_value_x = analogRead(meniu_x);
  71.   meniu_value_y = analogRead(meniu_y);
  72.  
  73.   data_sent[0] = vairas_value_x;
  74.   data_sent[1] = vairas_value_y;
  75.  
  76.  
  77. // First, stop listening so we can talk    
  78. radio.stopListening();                                    
  79. if(!radio.write( &data_sent, sizeof(unsigned long) )){
  80.   Serial.println("FAIL!");}else{Serial.println("OK!");}
  81.  
  82. radio.startListening();  
  83.  
  84. unsigned long started_waiting_at = micros();
  85. boolean timeout = false;                                
  86.     while (! radio.available() ){                            
  87.       if (micros() - started_waiting_at > 200000 ){            
  88.           timeout = true; break;
  89.       }      
  90.     }  
  91. if ( timeout ){                                          
  92.         Serial.println("Neatsako");
  93.     }else{                              
  94.         radio.read( &data_get, sizeof(unsigned long) );
  95.         unsigned long time = micros();
  96.         Serial.println("Duomenys gauti");}
  97.        
  98. Serial.print("X - ");
  99. Serial.print(data_sent[0]);
  100. Serial.print(", Y - ");
  101. Serial.println(data_sent[1]);
  102.        
  103. //nupiesiamos linijos (status bar)
  104.   myGLCD.drawLine(0,7,83,7);
  105.   myGLCD.drawLine(41,0,41,7);
  106.  
  107.   //Rodomi duomenys (status bar)
  108.   myGLCD.setFont(TinyFont);
  109.   myGLCD.printNumI(vairas_value_x, 1, 1);
  110.   myGLCD.printNumI(vairas_value_y, 21, 1);
  111.   myGLCD.printNumI(meniu_value_x, 43, 1);
  112.   myGLCD.printNumI(meniu_value_y, 64, 1);
  113.  
  114.   //myGLCD.printNumI(a[0], 1, 10);
  115.   //myGLCD.printNumI(a[1], 21, 10);
  116.   //myGLCD.printNumI(a[2], 64, 10);
  117.  
  118.   //Myktukai
  119.   myGLCD.setFont(SmallFont);
  120.   myGLCD.print("MENIU", 2, 39);
  121.   myGLCD.print("NUSTA.", 45, 39);
  122.   myGLCD.update();
  123.   //delay(10);
  124.   myGLCD.clrScr();
  125. } // Loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement