zed_com

leo6 bt

Feb 13th, 2021
1,074
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //#include <FastLED.h>
  2. #include <Servo.h>
  3.  
  4. #define pwma 5
  5. #define IN1 6 // Right motor +
  6. #define IN2 7 // Right motor -
  7. #define IN3 8 // Left motor +
  8. #define IN4 9 // Left motor -
  9. #define pwmb 10
  10.  
  11. #define turnServo 11
  12.  
  13. #define LED_PIN 42
  14. #define NUM_LEDS 8
  15.  
  16. #define LeftLed 26
  17. #define RightLed 27
  18.  
  19. Servo turn;
  20. //CRGB leds[NUM_LEDS];
  21.  
  22. int sp = 100;
  23.  
  24. void setup() {
  25.   pinMode(pwma, OUTPUT);
  26.   pinMode(pwmb, OUTPUT);
  27.   pinMode(IN1, OUTPUT);
  28.   pinMode(IN2, OUTPUT);
  29.   pinMode(IN3, OUTPUT);
  30.   pinMode(IN4, OUTPUT);
  31.  
  32.   pinMode(LeftLed, OUTPUT);
  33.   pinMode(RightLed, OUTPUT);
  34.  
  35.   turn.attach(turnServo);;
  36.  
  37.   analogWrite(pwma, sp);
  38.   analogWrite(pwmb, sp);
  39.   turn.write(90);
  40.  
  41.   Serial3.begin(9600);
  42.  
  43. // FastLED.addLeds<WS2811, LED_PIN, RGB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  44.  
  45. // backLED();
  46. }
  47.  
  48. void loop () {
  49.   if (Serial3.available() > LOW) {
  50.     char cmd = Serial3.read();
  51.     switch (cmd) {
  52.       case 'F':
  53.         forward();
  54.         break;
  55.       case 'B':
  56.         backward();
  57.         break;
  58.       case 'L':
  59.         left();
  60.         break;
  61.       case 'R':
  62.         right();
  63.         break;
  64.       case 'G':
  65.         forwardLeft();
  66.         break;
  67.       case 'I':
  68.         forwardRight();
  69.         break;
  70.       case 'H':
  71.         backwardLeft();
  72.         break;
  73.       case 'J':
  74.         backwardRight();
  75.         break;
  76.       case '0':
  77.       case '1':
  78.       case '2':
  79.       case '3':
  80.       case '4':
  81.       case '5':
  82.       case '6':
  83.       case '7':
  84.       case '8':
  85.       case '9':
  86.       case 'q':
  87.         speedCar(cmd);
  88.         break;
  89.       case 'W':
  90.         digitalWrite(LeftLed, HIGH);
  91.         digitalWrite(RightLed, HIGH);
  92.         break;
  93.       case 'w':
  94.         digitalWrite(LeftLed, LOW);
  95.         digitalWrite(RightLed, LOW);
  96.         break;
  97. //      case 'U':
  98. //      case 'u':
  99. //        backLED();
  100. //        break;
  101.       default:
  102.         stopCar();
  103.         break;
  104.     }
  105.   }
  106. }
  107.  
  108. void speedCar(char s) {
  109.   if (s != 'q') {
  110.     int ss = (int)s;
  111.     sp = 255 / 100 * ss;
  112.  
  113.   } else {
  114.     sp = 255;
  115.   }
  116.   analogWrite(pwma, sp);
  117.   analogWrite(pwmb, sp);
  118. }
  119.  
  120. void stopCar() {
  121.   digitalWrite(IN1, LOW);
  122.   digitalWrite(IN2, LOW);
  123.   digitalWrite(IN3, LOW);
  124.   digitalWrite(IN4, LOW);
  125. }
  126. void forward() {
  127.   turn.write(90);
  128.   digitalWrite(IN1, HIGH);
  129.   digitalWrite(IN2, LOW);
  130.   digitalWrite(IN3, HIGH);
  131.   digitalWrite(IN4, LOW);
  132.  
  133. }
  134. void backward() {
  135.   turn.write(90);
  136.   digitalWrite(IN1, LOW);
  137.   digitalWrite(IN2, HIGH);
  138.   digitalWrite(IN3, LOW);
  139.   digitalWrite(IN4, HIGH);
  140. }
  141. void left() {
  142.   turn.write(45);
  143.   digitalWrite(IN1, HIGH);
  144.   digitalWrite(IN2, LOW);
  145.   digitalWrite(IN3, LOW);
  146.   digitalWrite(IN4, HIGH);
  147. }
  148. void right() {
  149.   turn.write(135);
  150.   digitalWrite(IN1, LOW);
  151.   digitalWrite(IN2, HIGH);
  152.   digitalWrite(IN3, HIGH);
  153.   digitalWrite(IN4, LOW);
  154. }
  155.  
  156. void forwardLeft() {
  157.   turn.write(45);
  158.   digitalWrite(IN1, HIGH);
  159.   digitalWrite(IN2, LOW);
  160.   digitalWrite(IN3, HIGH);
  161.   digitalWrite(IN4, LOW);
  162. }
  163.  
  164. void forwardRight() {
  165.   turn.write(135);
  166.   digitalWrite(IN1, HIGH);
  167.   digitalWrite(IN2, LOW);
  168.   digitalWrite(IN3, HIGH);
  169.   digitalWrite(IN4, LOW);
  170. }
  171.  
  172. void backwardLeft() {
  173.   turn.write(45);
  174.   digitalWrite(IN1, LOW);
  175.   digitalWrite(IN2, HIGH);
  176.   digitalWrite(IN3, LOW);
  177.   digitalWrite(IN4, HIGH);
  178. }
  179.  
  180. void backwardRight() {
  181.   turn.write(135);
  182.   digitalWrite(IN1, LOW);
  183.   digitalWrite(IN2, HIGH);
  184.   digitalWrite(IN3, LOW);
  185.   digitalWrite(IN4, HIGH);
  186. }
  187.  
  188. //void backLED() {
  189. //  int brightness = 0;
  190. //  int fadeAmount = 5;
  191. //  
  192. ////  int deltaR = new_r - _r;
  193. ////  int deltaG = new_g - _g;
  194. ////  int deltaB = new_b - _b;
  195. //  
  196. //  for (int i = 0; i <= 255 / fadeAmount * 2; i++) {
  197. //    for (int j = 0; j < NUM_LEDS; j++) {
  198. //      leds[j].setRGB(1,200,100);
  199. //      leds[j].fadeLightBy(brightness);
  200. //    }
  201. //    FastLED.show();
  202. //
  203. //    brightness = brightness + fadeAmount;
  204. //    if(brightness == 0 || brightness == 255){
  205. //      fadeAmount = -fadeAmount;
  206. //    }
  207. //    delay(50);
  208. //  }
  209. //}
Advertisement
Add Comment
Please, Sign In to add comment