Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.09 KB | None | 0 0
  1. #include <Adafruit_GFX.h>
  2. #include <Adafruit_PCD8544.h>
  3. #include <RH_NRF24.h>
  4. #include <Wire.h>
  5. #include <SPI.h>
  6. Adafruit_PCD8544 display = Adafruit_PCD8544(7, 4, 5, 6, 3);
  7. RH_NRF24 nrf24;
  8.  
  9.  
  10.  
  11.  
  12. String aa = "";
  13. String bb = "";
  14. String dd = "";
  15.  
  16.  
  17.  
  18.  
  19.  
  20. void setup() {
  21. Serial.begin(9600);
  22. display.begin();
  23. display.clearDisplay();
  24. //display.display();
  25.  
  26. display.setContrast(60); // установка контраста
  27. delay(1000);
  28. display.setTextSize(1); // установка размера шрифта
  29. display.setTextColor(BLACK); // установка цвета текста
  30. display.setCursor(26, 0);
  31.  
  32. display.println("NASA");
  33. display.display();
  34.  
  35. display.println(" SpaceApp");
  36. display.display();
  37.  
  38. display.println(" Challenger");
  39. display.display();
  40. delay(3000);
  41. if (!nrf24.init())
  42. Serial.println("init failed");
  43. //Defaults after init are 2.402 GHz (channel 2), 2Mbps, 0dBm
  44. if (!nrf24.setChannel(1))
  45. Serial.println("setChannel failed");
  46. if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm))
  47. Serial.println("setRF failed");
  48. }
  49.  
  50. String cc = "";
  51.  
  52. String getValue(String data, char separator, int index)
  53. {
  54. int found = 0;
  55. int strIndex[] = {0, -1};
  56. int maxIndex = data.length() - 1;
  57.  
  58. for (int i = 0; i <= maxIndex && found <= index; i++) {
  59. if (data.charAt(i) == separator || i == maxIndex) {
  60. found++;
  61. strIndex[0] = strIndex[1] + 1;
  62. strIndex[1] = (i == maxIndex) ? i + 1 : i;
  63. }
  64. }
  65.  
  66. return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
  67. }
  68.  
  69. uint8_t data[4];
  70. uint8_t sen[12];
  71.  
  72. void loop() {
  73.  
  74. for (int z = 0; z < 13; z++)
  75. {
  76. sen[z] = 0;
  77. }
  78.  
  79.  
  80.  
  81. // Send a comand for motion
  82. int A00 = analogRead(A0);
  83. int A11 = analogRead(A1);
  84. int A22 = analogRead(A2);
  85. //A0
  86. String ss = String(A00);
  87.  
  88. data[1] = 0;
  89. data[2] = 0;
  90. data[3] = 0;
  91. data[4] = 0;
  92.  
  93.  
  94. switch (ss.length())
  95. { case 1: data[4] = ss.charAt(0) - '0'; break;
  96. case 2: data[3] = ss.charAt(0) - '0'; data[4] = ss.charAt(1) - '0'; break;
  97. case 3: data[2] = ss.charAt(0) - '0'; data[3] = ss.charAt(1) - '0'; data[4] = ss.charAt(2) - '0'; break;
  98. case 4: data[1] = ss.charAt(0) - '0'; data[2] = ss.charAt(1) - '0'; data[3] = ss.charAt(2) - '0'; data[4] = ss.charAt(3) - '0'; break;
  99. }
  100.  
  101.  
  102. sen[0] = data[1];
  103. sen[1] = data[2];
  104. sen[2] = data[3];
  105. sen[3] = data[4];
  106.  
  107.  
  108. //A1
  109.  
  110.  
  111. ss = String(A11);
  112.  
  113. data[1] = 0;
  114. data[2] = 0;
  115. data[3] = 0;
  116. data[4] = 0;
  117.  
  118.  
  119. switch (ss.length())
  120. { case 1: data[4] = ss.charAt(0) - '0'; break;
  121. case 2: data[3] = ss.charAt(0) - '0'; data[4] = ss.charAt(1) - '0'; break;
  122. case 3: data[2] = ss.charAt(0) - '0'; data[3] = ss.charAt(1) - '0'; data[4] = ss.charAt(2) - '0'; break;
  123. case 4: data[1] = ss.charAt(0) - '0'; data[2] = ss.charAt(1) - '0'; data[3] = ss.charAt(2) - '0'; data[4] = ss.charAt(3) - '0'; break;
  124. }
  125.  
  126.  
  127. sen[4] = data[1];
  128. sen[5] = data[2];
  129. sen[6] = data[3];
  130. sen[7] = data[4];
  131.  
  132. //A2
  133.  
  134. ss = String(A22);
  135.  
  136. data[1] = 0;
  137. data[2] = 0;
  138. data[3] = 0;
  139. data[4] = 0;
  140.  
  141.  
  142. switch (ss.length())
  143. { case 1: data[4] = ss.charAt(0) - '0'; break;
  144. case 2: data[3] = ss.charAt(0) - '0'; data[4] = ss.charAt(1) - '0'; break;
  145. case 3: data[2] = ss.charAt(0) - '0'; data[3] = ss.charAt(1) - '0'; data[4] = ss.charAt(2) - '0'; break;
  146. case 4: data[1] = ss.charAt(0) - '0'; data[2] = ss.charAt(1) - '0'; data[3] = ss.charAt(2) - '0'; data[4] = ss.charAt(3) - '0'; break;
  147. }
  148.  
  149.  
  150. sen[8] = data[1];
  151. sen[9] = data[2];
  152. sen[10] = data[3];
  153. sen[11] = data[4];
  154. //--
  155.  
  156.  
  157.  
  158.  
  159.  
  160. for (int k = 0; k < 12; k++)
  161. {
  162. Serial.print(sen[k]);
  163. }
  164. Serial.println(' ');
  165.  
  166. //uint8_t data[] = ;
  167.  
  168. nrf24.send(sen, sizeof(sen));
  169.  
  170. nrf24.waitPacketSent();
  171. uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN];
  172. uint8_t len = sizeof(buf);
  173.  
  174. Serial.println("Sent...");
  175. //delay(50);
  176.  
  177.  
  178. if (nrf24.waitAvailableTimeout(50))
  179. {
  180. // Should be a reply message for us now
  181. if (nrf24.recv(buf, &len))
  182. {
  183. Serial.print("got reply: ");
  184. // Serial.println((char*)buf);
  185.  
  186.  
  187. dd = "";
  188. aa = "";
  189. bb = "";
  190.  
  191. for (int k = 0; k < 4; k++)
  192. {
  193. aa = aa + buf[k];
  194. bb = bb + buf[k + 4];
  195. dd = dd + buf[k + 8];
  196. }
  197.  
  198.  
  199.  
  200.  
  201. Serial.print(aa.toInt());
  202. Serial.print(' ');
  203. Serial.print(bb.toInt());
  204. Serial.print(' ');
  205. Serial.println(dd.toInt());
  206.  
  207.  
  208.  
  209. }
  210. else
  211. {
  212. Serial.println("recv failed");
  213. }
  214. }
  215. else
  216. {
  217. Serial.println("No reply, is nrf24_server running?");
  218. }
  219.  
  220. delay(10);
  221.  
  222.  
  223.  
  224. display.clearDisplay();
  225. // display.display();
  226. // display.setContrast(60); // установка контраста
  227. //
  228. // display.setTextSize(1); // установка размера шрифта
  229. // display.setTextColor(BLACK); // установка цвета текста
  230.  
  231. display.setCursor(0, 0);
  232. display.print("H:");
  233. display.display();
  234. int randhumid = random(20, 30);
  235. display.print(randhumid);
  236. display.display();
  237. display.print("% ");
  238. display.display();
  239.  
  240. display.print(" T:");
  241. display.display();
  242. int randtemp = random(15, 20);
  243. display.print(randtemp);
  244. display.display();
  245. display.println("C");
  246. display.display();
  247.  
  248. display.print("GndHumid:");
  249. display.display();
  250.  
  251. int randgrhum = random(15, 20);
  252. display.println(randgrhum);
  253. display.display();
  254.  
  255. display.print("R:");
  256. display.display();
  257.  
  258. int randred = random(30, 254);
  259. display.println(randred);
  260.  
  261. display.display();
  262.  
  263. display.print("G:");
  264. display.display();
  265. int randgreen = random(30, 254);
  266. display.println(randgreen);
  267. display.display();
  268.  
  269. display.print("B:");
  270. display.display();
  271.  
  272. int randblue = random(30, 254);
  273. display.println(randblue);
  274. display.display();
  275.  
  276.  
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement