Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include <FastLED.h>
- #include <Servo.h>
- #define pwma 5
- #define IN1 6 // Right motor +
- #define IN2 7 // Right motor -
- #define IN3 8 // Left motor +
- #define IN4 9 // Left motor -
- #define pwmb 10
- #define turnServo 11
- #define LED_PIN 42
- #define NUM_LEDS 8
- #define LeftLed 26
- #define RightLed 27
- Servo turn;
- //CRGB leds[NUM_LEDS];
- int sp = 100;
- void setup() {
- pinMode(pwma, OUTPUT);
- pinMode(pwmb, OUTPUT);
- pinMode(IN1, OUTPUT);
- pinMode(IN2, OUTPUT);
- pinMode(IN3, OUTPUT);
- pinMode(IN4, OUTPUT);
- pinMode(LeftLed, OUTPUT);
- pinMode(RightLed, OUTPUT);
- turn.attach(turnServo);;
- analogWrite(pwma, sp);
- analogWrite(pwmb, sp);
- turn.write(90);
- Serial3.begin(9600);
- // FastLED.addLeds<WS2811, LED_PIN, RGB>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
- // backLED();
- }
- void loop () {
- if (Serial3.available() > LOW) {
- char cmd = Serial3.read();
- switch (cmd) {
- case 'F':
- forward();
- break;
- case 'B':
- backward();
- break;
- case 'L':
- left();
- break;
- case 'R':
- right();
- break;
- case 'G':
- forwardLeft();
- break;
- case 'I':
- forwardRight();
- break;
- case 'H':
- backwardLeft();
- break;
- case 'J':
- backwardRight();
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- case 'q':
- speedCar(cmd);
- break;
- case 'W':
- digitalWrite(LeftLed, HIGH);
- digitalWrite(RightLed, HIGH);
- break;
- case 'w':
- digitalWrite(LeftLed, LOW);
- digitalWrite(RightLed, LOW);
- break;
- // case 'U':
- // case 'u':
- // backLED();
- // break;
- default:
- stopCar();
- break;
- }
- }
- }
- void speedCar(char s) {
- if (s != 'q') {
- int ss = (int)s;
- sp = 255 / 100 * ss;
- } else {
- sp = 255;
- }
- analogWrite(pwma, sp);
- analogWrite(pwmb, sp);
- }
- void stopCar() {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, LOW);
- }
- void forward() {
- turn.write(90);
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- void backward() {
- turn.write(90);
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- void left() {
- turn.write(45);
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- void right() {
- turn.write(135);
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- void forwardLeft() {
- turn.write(45);
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- void forwardRight() {
- turn.write(135);
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- void backwardLeft() {
- turn.write(45);
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- void backwardRight() {
- turn.write(135);
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- //void backLED() {
- // int brightness = 0;
- // int fadeAmount = 5;
- //
- //// int deltaR = new_r - _r;
- //// int deltaG = new_g - _g;
- //// int deltaB = new_b - _b;
- //
- // for (int i = 0; i <= 255 / fadeAmount * 2; i++) {
- // for (int j = 0; j < NUM_LEDS; j++) {
- // leds[j].setRGB(1,200,100);
- // leds[j].fadeLightBy(brightness);
- // }
- // FastLED.show();
- //
- // brightness = brightness + fadeAmount;
- // if(brightness == 0 || brightness == 255){
- // fadeAmount = -fadeAmount;
- // }
- // delay(50);
- // }
- //}
Advertisement
Add Comment
Please, Sign In to add comment