Skip to content

Commit 16c30a4

Browse files
Added code for basic motor control
0 parents  commit 16c30a4

File tree

4 files changed

+95
-0
lines changed

4 files changed

+95
-0
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# BeachRover Repo Code
2+
Find here the code for the beachRover. Add and share code!
3+
## Folders
4+
5+
1. **beachRover-v1-arduino** - code for the arduino
6+
2. **jetson-detector** - add code here for the nano
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#ifndef MOTOR_DRIVER_H
2+
#include "motor_driver.h"
3+
#endif
4+
5+
6+
void setup() {
7+
pinMode(LEFT_INPUT_1, OUTPUT);
8+
pinMode(LEFT_INPUT_2, OUTPUT);
9+
pinMode(RIGHT_INPUT_1, OUTPUT);
10+
pinMode(RIGHT_INPUT_2, OUTPUT);
11+
}
12+
13+
void loop() {
14+
driveMotor(left_turn);
15+
delay(500);
16+
driveMotor(stop_moving);
17+
delay(500);
18+
driveMotor(right_turn);
19+
delay(500);
20+
driveMotor(stop_moving);
21+
delay(500);
22+
driveMotor(straight);
23+
delay(500);
24+
driveMotor(stop_moving);
25+
delay(500);
26+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#ifndef MOTOR_DRIVER_H
2+
#include "motor_driver.h"
3+
#endif
4+
#include<Arduino.h>
5+
6+
int LEFT_INPUT_1 = 16;
7+
int LEFT_INPUT_2 = 17;
8+
int RIGHT_INPUT_1 = 14;
9+
int RIGHT_INPUT_2 = 15;
10+
11+
12+
void driveMotor(turn direction) {
13+
switch (direction) {
14+
case left_turn:
15+
digitalWrite(LEFT_INPUT_1, 1);
16+
digitalWrite(LEFT_INPUT_2, 1);
17+
digitalWrite(RIGHT_INPUT_1, 1);
18+
digitalWrite(RIGHT_INPUT_2, 0);
19+
break;
20+
case right_turn:
21+
digitalWrite(LEFT_INPUT_1, 1);
22+
digitalWrite(LEFT_INPUT_2, 0);
23+
digitalWrite(RIGHT_INPUT_1, 1);
24+
digitalWrite(RIGHT_INPUT_2, 1);
25+
break;
26+
case straight:
27+
digitalWrite(LEFT_INPUT_1, 1);
28+
digitalWrite(LEFT_INPUT_2, 0);
29+
digitalWrite(RIGHT_INPUT_1, 1);
30+
digitalWrite(RIGHT_INPUT_2, 0);
31+
break;
32+
case stop_moving:
33+
digitalWrite(LEFT_INPUT_1, 1);
34+
digitalWrite(LEFT_INPUT_2, 1);
35+
digitalWrite(RIGHT_INPUT_1, 1);
36+
digitalWrite(RIGHT_INPUT_2, 1);
37+
break;
38+
case reverse:
39+
digitalWrite(LEFT_INPUT_1, 0);
40+
digitalWrite(LEFT_INPUT_2, 1);
41+
digitalWrite(RIGHT_INPUT_1, 0);
42+
digitalWrite(RIGHT_INPUT_2, 1);
43+
default:
44+
digitalWrite(LEFT_INPUT_1, 0);
45+
digitalWrite(LEFT_INPUT_2, 0);
46+
digitalWrite(RIGHT_INPUT_1, 0);
47+
digitalWrite(RIGHT_INPUT_2, 0);
48+
}
49+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
extern int LEFT_INPUT_1;
2+
extern int LEFT_INPUT_2;
3+
extern int RIGHT_INPUT_1;
4+
extern int RIGHT_INPUT_2;
5+
6+
enum turn {
7+
left_turn,
8+
right_turn,
9+
straight,
10+
stop_moving,
11+
reverse
12+
};
13+
14+
void driveMotor(turn direction);

0 commit comments

Comments
 (0)