Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <mcp2515.h>
  3. #include "nRF24L01.h"
  4. #include "RF24.h"
  5.  
  6. struct can_frame canMsg;
  7. MCP2515 mcp2515(10);
  8. byte rmp1 = 0;
  9. byte rmp2 = 0;
  10. byte actualSpeed = 0;
  11. int msg[1];
  12. RF24 radio(7,8);
  13. const uint64_t pipe = 0xE8E8F0F0E1LL;
  14. byte diodeIntensity = 0;
  15.  
  16. void setup() {
  17.  
  18. Serial.begin(115200);
  19. SPI.begin();
  20. radio.begin();
  21. radio.openWritingPipe(pipe);
  22.  
  23. mcp2515.reset();
  24. mcp2515.setBitrate(CAN_500KBPS);
  25. mcp2515.setNormalMode();
  26.  
  27. Serial.println("------- CAN Read ----------");
  28. Serial.println("ID DLC DATA");
  29.  
  30. pinMode(3, OUTPUT);
  31. }
  32.  
  33. void loop() {
  34.  
  35. if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {
  36.  
  37. Serial.print(canMsg.can_id, HEX); // print ID
  38. Serial.print(" ");
  39. Serial.print(canMsg.can_dlc, HEX); // print DLC
  40. Serial.print(" ");
  41.  
  42. rmp1 = canMsg.data[5];
  43. rmp2 = canMsg.data[6];
  44. actualSpeed = canMsg.data[7];
  45.  
  46. for (int i = 0; i<canMsg.can_dlc; i++) {
  47.  
  48. Serial.print(canMsg.data[i],HEX);
  49. Serial.print(" ");
  50. }
  51.  
  52. // Wypisanie odebrancyh wartosci
  53. Serial.println("");
  54. Serial.print("Rmp: ");
  55. Serial.println(rmp1);
  56. Serial.print("Aktualna predkosc: ");
  57. Serial.println(actualSpeed);
  58. Serial.print("RMP NRF: ");
  59.  
  60. // Przesłanie przez NRF odebranych wartosci
  61. msg[0] = rmp1;
  62. msg[1] = rmp2;
  63. radio.write(msg, 1);
  64. Serial.print(msg[0]);
  65. Serial.println("00");
  66.  
  67. diodeIntensity = map(rmp1, 0, 31, 0, 255);
  68.  
  69. analogWrite(3, diodeIntensity);
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement