Advertisement
talofer99

shaked

Jun 18th, 2018
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.84 KB | None | 0 0
  1. #include<SoftwareSerial.h>
  2. SoftwareSerial mySerial(10, 11);
  3. char data = 0;
  4.  
  5. #define IN1 2
  6. #define IN2 4
  7. #define IN3 6
  8. #define IN4 7
  9. #define EN1 5
  10. #define EN2 3
  11.  
  12.  
  13. // constants won't change. Used here to set a pin number:
  14. const int ledPin =  LED_BUILTIN;// the number of the LED pin
  15.  
  16. // Variables will change:
  17. int ledState = LOW;             // ledState used to set the LED
  18.  
  19. // Generally, you should use "unsigned long" for variables that hold time
  20. // The value will quickly become too large for an int to store
  21. unsigned long previousMillis = 0;        // will store last time LED was updated
  22.  
  23. // constants won't change:
  24. const long interval = 1000;           // interval at which to blink (milliseconds)
  25.  
  26.  
  27. void setup() {
  28.   // put your setup code here, to run once:
  29.   Serial.begin(9600);
  30.   mySerial.begin(9600);
  31.  
  32.   pinMode(IN1, OUTPUT);
  33.   pinMode(IN2, OUTPUT);
  34.   pinMode(IN3, OUTPUT);
  35.   pinMode(IN4, OUTPUT);
  36.   pinMode(EN1, OUTPUT);
  37.   pinMode(EN2, OUTPUT);
  38.  
  39.   // set the digital pin as output:
  40.   pinMode(ledPin, OUTPUT);
  41.  
  42.  
  43. }
  44.  
  45. void loop()
  46. {
  47.   unsigned long currentMillis = millis();
  48.  
  49.   if (currentMillis - previousMillis >= interval) {
  50.     // save the last time you blinked the LED
  51.     previousMillis = currentMillis;
  52.  
  53.     // if the LED is off turn it on and vice-versa:
  54.     if (ledState == LOW) {
  55.       ledState = HIGH;
  56.     } else {
  57.       ledState = LOW;
  58.     }
  59.  
  60.     // set the LED with the ledState of the variable:
  61.     digitalWrite(ledPin, ledState);
  62.   }
  63.   if (mySerial.available() )
  64.   {
  65.     data = mySerial.read();
  66.     Serial.println(data);
  67.     if (data == 'F')
  68.     {
  69.       Forward();
  70.      
  71.     }
  72.     else if (data == 'B')
  73.     {
  74.       Back();
  75.     }
  76.     else if (data == 'L')
  77.     {
  78.       Left();
  79.     }
  80.     else if (data == 'R')
  81.     {
  82.       Right();
  83.     }
  84.     else if (data == 'G')
  85.     {
  86.       ForwardLeft();
  87.     }
  88.     else if (data == 'I')
  89.     {
  90.       ForwardRight();
  91.     }
  92.     else if (data == 'H')
  93.     {
  94.       BackLeft();
  95.     }
  96.     else if (data == 'J')
  97.     {
  98.       BackRight();
  99.     }
  100.     else {
  101.       Stop();
  102.     }
  103.  
  104.   }
  105.  
  106. }
  107.  
  108. void Forward() {
  109.   digitalWrite(IN1, HIGH);
  110.   digitalWrite(IN2, LOW);
  111.   digitalWrite(IN3, HIGH);
  112.   digitalWrite(IN4, LOW);
  113.   digitalWrite(EN1, HIGH);
  114.   digitalWrite(EN2, HIGH);
  115.  
  116.  
  117. }
  118.  
  119. void Back() {
  120.   digitalWrite(IN1, LOW);
  121.   digitalWrite(IN2, HIGH);
  122.   digitalWrite(IN3, LOW);
  123.   digitalWrite(IN4, HIGH);
  124.   digitalWrite(EN1, HIGH);
  125.   digitalWrite(EN2, HIGH);
  126. }
  127.  
  128. void Left() {
  129.   digitalWrite(IN1, HIGH);
  130.   digitalWrite(IN2, LOW);
  131.   digitalWrite(IN3, LOW);
  132.   digitalWrite(IN4, HIGH);
  133.   digitalWrite(EN1, HIGH);
  134.   digitalWrite(EN2, HIGH);
  135. }
  136.  
  137. void Right() {
  138.   digitalWrite(IN1, LOW);
  139.   digitalWrite(IN2, HIGH);
  140.   digitalWrite(IN3, HIGH);
  141.   digitalWrite(IN4, LOW);
  142.   digitalWrite(EN1, HIGH);
  143.   digitalWrite(EN2, HIGH);
  144.  
  145. }
  146. void Stop() {
  147.   digitalWrite(IN1, LOW);
  148.   digitalWrite(IN2, LOW);
  149.   digitalWrite(IN3, LOW);
  150.   digitalWrite(IN4, LOW);
  151.   digitalWrite(EN1, LOW);
  152.   digitalWrite(EN2, LOW);
  153. }
  154.  
  155. void ForwardLeft() {
  156.   analogWrite(EN1, 255); //speed 0 - 255
  157.   analogWrite(EN2, 50); //speed 0 - 255
  158.   digitalWrite(IN1, HIGH);
  159.   digitalWrite(IN2, LOW);
  160.   digitalWrite(IN3, HIGH);
  161.   digitalWrite(IN4, LOW);
  162. }
  163. void ForwardRight() {
  164.   analogWrite(EN1, 50); //speed 0 - 255
  165.   analogWrite(EN2, 255); //speed 0 - 255
  166.   digitalWrite(IN1, HIGH);
  167.   digitalWrite(IN2, LOW);
  168.   digitalWrite(IN3, HIGH);
  169.   digitalWrite(IN4, LOW);
  170. }
  171. void BackLeft() {
  172.   analogWrite(EN1, 50); //speed 0 - 255
  173.   analogWrite(EN2, 255); //speed 0 - 255
  174.   digitalWrite(IN1, LOW);
  175.   digitalWrite(IN2, HIGH);
  176.   digitalWrite(IN3, LOW);
  177.   digitalWrite(IN4, HIGH);
  178. }
  179. void BackRight() {
  180.   analogWrite(EN1, 255); //speed 0 - 255
  181.   analogWrite(EN2, 50); //speed 0 - 255
  182.   digitalWrite(IN1, LOW);
  183.   digitalWrite(IN2, HIGH);
  184.   digitalWrite(IN3, LOW);
  185.   digitalWrite(IN4, HIGH);
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement