Guest User

Untitled

a guest
Jun 19th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <TimedAction.h>
  2. #include <MLX90316.h>
  3. #include "pins.h"
  4. #include "AngleUtil.h"
  5.  
  6. MLX90316 leftMagnet = MLX90316();
  7. MLX90316 rightMagnet = MLX90316();
  8. MLX90316 backMagnet = MLX90316();
  9.  
  10. TimedAction addAction = TimedAction(2, checkAngles);
  11. TimedAction calcAction = TimedAction(10000, calculateSpeeds);
  12. TimedAction debugAction = TimedAction(10000, debug);
  13.  
  14. void setup() {
  15. pinMode(LEFT_DIR, OUTPUT);
  16. pinMode(RIGHT_DIR, OUTPUT);
  17. pinMode(BACK_DIR, OUTPUT);
  18.  
  19. pinMode(LEFT_PWM, OUTPUT);
  20. pinMode(RIGHT_PWM, OUTPUT);
  21. pinMode(BACK_PWM, OUTPUT);
  22.  
  23. leftMagnet.attach(SS_LEFT, SCK, MISO);
  24. rightMagnet.attach(SS_RIGHT, SCK, MISO);
  25. backMagnet.attach(SS_BACK, SCK, MISO);
  26.  
  27. pinMode(MODE, OUTPUT);
  28. digitalWrite(MODE, HIGH);
  29.  
  30. analogWrite(LEFT_PWM, 255);
  31. analogWrite(RIGHT_PWM, 255);
  32. analogWrite(BACK_PWM, 255);
  33.  
  34. Serial.begin(57600);
  35. }
  36.  
  37. void loop() {
  38. addAction.check();
  39. calcAction.check();
  40. debugAction.check();
  41. }
  42.  
  43. AngleUtil leftAngle = AngleUtil();
  44. AngleUtil rightAngle = AngleUtil();
  45. AngleUtil backAngle = AngleUtil();
  46.  
  47. void checkAngles() {
  48. int angle = leftMagnet.readAngle();
  49. leftAngle.add(angle);
  50.  
  51. angle = rightMagnet.readAngle();
  52. rightAngle.add(angle);
  53.  
  54. angle = backMagnet.readAngle();
  55. backAngle.add(angle);
  56. }
  57.  
  58. void calculateSpeeds() {
  59. leftAngle.calculateSpeed(millis());
  60. rightAngle.calculateSpeed(millis());
  61. backAngle.calculateSpeed(millis());
  62. }
  63.  
  64. void debug() {
  65. Serial.print(leftAngle.speed);
  66. Serial.print(",\t");
  67. Serial.print(rightAngle.speed);
  68. Serial.print(",\t");
  69. Serial.println(backAngle.speed);
  70. }
Add Comment
Please, Sign In to add comment