1#include <AFMotor.h>
2
3
4AF_DCMotor motor1(1, MOTOR12_1KHZ);
5AF_DCMotor motor2(2, MOTOR12_1KHZ);
6AF_DCMotor motor3(3, MOTOR34_1KHZ);
7AF_DCMotor motor4(4, MOTOR34_1KHZ);
8
9char command;
10
11void setup()
12{
13 Serial.begin(9600);
14}
15
16void loop(){
17 if(Serial.available() > 0){
18 command = Serial.read();
19 Stop();
20
21
22 switch(command){
23 case 'F':
24 forward();
25 break;
26 case 'B':
27 back();
28 break;
29 case 'L':
30 left();
31 break;
32 case 'R':
33 right();
34 break;
35 }
36 }
37}
38
39void forward()
40{
41 motor1.setSpeed(255);
42 motor1.run(FORWARD);
43 motor2.setSpeed(255);
44 motor2.run(FORWARD);
45 motor3.setSpeed(255);
46 motor3.run(FORWARD);
47 motor4.setSpeed(255);
48 motor4.run(FORWARD);
49}
50
51void back()
52{
53 motor1.setSpeed(255);
54 motor1.run(BACKWARD);
55 motor2.setSpeed(255);
56 motor2.run(BACKWARD);
57 motor3.setSpeed(255);
58 motor3.run(BACKWARD);
59 motor4.setSpeed(255);
60 motor4.run(BACKWARD);
61}
62
63void left()
64{
65 motor1.setSpeed(255);
66 motor1.run(BACKWARD);
67 motor2.setSpeed(255);
68 motor2.run(BACKWARD);
69 motor3.setSpeed(255);
70 motor3.run(FORWARD);
71 motor4.setSpeed(255);
72 motor4.run(FORWARD);
73}
74
75void right()
76{
77 motor1.setSpeed(255);
78 motor1.run(FORWARD);
79 motor2.setSpeed(255);
80 motor2.run(FORWARD);
81 motor3.setSpeed(255);
82 motor3.run(BACKWARD);
83 motor4.setSpeed(255);
84 motor4.run(BACKWARD);
85}
86
87void Stop()
88{
89 motor1.setSpeed(0);
90 motor1.run(RELEASE);
91 motor2.setSpeed(0);
92 motor2.run(RELEASE);
93 motor3.setSpeed(0);
94 motor3.run(RELEASE);
95 motor4.setSpeed(0);
96 motor4.run(RELEASE);
97}