Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<SoftwareSerial.h>
- SoftwareSerial mySerial(10, 11);
- char data = 0;
- #define IN1 2
- #define IN2 4
- #define IN3 6
- #define IN4 7
- #define EN1 5
- #define EN2 3
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(9600);
- mySerial.begin(9600);
- pinMode(IN1, OUTPUT);
- pinMode(IN2, OUTPUT);
- pinMode(IN3, OUTPUT);
- pinMode(IN4, OUTPUT);
- pinMode(EN1, OUTPUT);
- pinMode(EN2, OUTPUT);
- }
- void loop()
- {
- if (mySerial.available() )
- {
- data = mySerial.read();
- Serial.println(data);
- if (data == 'F')
- {
- Forward();
- }
- else if (data == 'B')
- {
- Back();
- }
- else if (data == 'L')
- {
- Left();
- }
- else if (data == 'R')
- {
- Right();
- }
- else if (data == 'G')
- {
- ForwardLeft();
- }
- else if (data == 'I')
- {
- ForwardRight();
- }
- else if (data == 'H')
- {
- BackLeft();
- }
- else if (data == 'J')
- {
- BackRight();
- }
- else {
- Stop();
- }
- }
- }
- void Forward() {
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- digitalWrite(EN1, HIGH);
- digitalWrite(EN2, HIGH);
- }
- void Back() {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- digitalWrite(EN1, HIGH);
- digitalWrite(EN2, HIGH);
- }
- void Left() {
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- digitalWrite(EN1, HIGH);
- digitalWrite(EN2, HIGH);
- }
- void Right() {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- digitalWrite(EN1, HIGH);
- digitalWrite(EN2, HIGH);
- }
- void Stop() {
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, LOW);
- digitalWrite(EN1, LOW);
- digitalWrite(EN2, LOW);
- }
- void ForwardLeft() {
- analogWrite(EN1, 255); //speed 0 - 255
- analogWrite(EN2, 50); //speed 0 - 255
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- void ForwardRight() {
- analogWrite(EN1, 50); //speed 0 - 255
- analogWrite(EN2, 255); //speed 0 - 255
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- }
- void BackLeft() {
- analogWrite(EN1, 50); //speed 0 - 255
- analogWrite(EN2, 255); //speed 0 - 255
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
- void BackRight() {
- analogWrite(EN1, 255); //speed 0 - 255
- analogWrite(EN2, 50); //speed 0 - 255
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement