EasyManua.ls Logo

SunFounder 3in1 Kit - Get Started with Blynk

Default Icon
351 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
SunFounder 3in1 Kit
(continued from previous page)
pinMode(B_1A, OUTPUT);
//IR obstacle
pinMode(leftIR, INPUT);
pinMode(rightIR, INPUT);
leftOffset = EEPROM.read(0) * 0.01;//read the offset of the left motor
rightOffset = EEPROM.read(1) * 0.01;//read the offset of the right motor
}
void loop() {
int left = digitalRead(leftIR); // 0: Obstructed 1: Empty
int right = digitalRead(rightIR);
int speed = 150;
if (!left && right) {
backLeft(speed);
} else if (left && !right) {
backRight(speed);
} else if (!left && !right) {
moveBackward(speed);
} else {
moveForward(speed);
}
}
void moveForward(int speed) {
analogWrite(A_1B, 0);
analogWrite(A_1A, int(speed * leftOffset));
analogWrite(B_1B, int(speed * rightOffset));
analogWrite(B_1A, 0);
}
void moveBackward(int speed) {
analogWrite(A_1B, speed);
analogWrite(A_1A, 0);
analogWrite(B_1B, 0);
analogWrite(B_1A, speed);
}
void backLeft(int speed) {
analogWrite(A_1B, speed);
analogWrite(A_1A, 0);
analogWrite(B_1B, 0);
analogWrite(B_1A, 0);
}
void backRight(int speed) {
analogWrite(A_1B, 0);
analogWrite(A_1A, 0);
analogWrite(B_1B, 0);
(continues on next page)
264 Chapter 5. Car Projects

Related product manuals