Merge branch 'develop'
This commit is contained in:
commit
37807bcd53
|
|
@ -0,0 +1,52 @@
|
||||||
|
#include "Arduino.h"
|
||||||
|
#include "Wire.h"
|
||||||
|
#include "MeMCore.h"
|
||||||
|
|
||||||
|
// Declare 1 variable of type MeUltrasonicSensor at PORT_3
|
||||||
|
MeUltrasonicSensor sensor(PORT_3);
|
||||||
|
int speed = 100;
|
||||||
|
MeDCMotor _leftMotor(9);
|
||||||
|
MeDCMotor _rightMotor(10);
|
||||||
|
bool goagain = false;
|
||||||
|
|
||||||
|
// Define the number of iterations required to turn for 30 degrees
|
||||||
|
// This value may need to be adjusted based on the specific motor and robot configuration
|
||||||
|
#define TURN_ITERATIONS 50
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Initialize the serial port at 9600 baud
|
||||||
|
Serial.begin(9600);
|
||||||
|
// put your setup code here, to run once:
|
||||||
|
_leftMotor.run(0);
|
||||||
|
_rightMotor.run(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
float distance = sensor.distanceCm();
|
||||||
|
// Use parentheses to enclose the condition
|
||||||
|
if (distance <= 15 or goagain == true) {
|
||||||
|
goagain = false;
|
||||||
|
// Add a for loop to turn for 30 degrees
|
||||||
|
for (int i = 0; i < TURN_ITERATIONS; i++) {
|
||||||
|
_leftMotor.run(speed);
|
||||||
|
_rightMotor.run(speed);
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
|
// Stop the motors after turning
|
||||||
|
_leftMotor.run(0);
|
||||||
|
_rightMotor.run(0);
|
||||||
|
// Check the distance again
|
||||||
|
distance = sensor.distanceCm();
|
||||||
|
if (distance < 90) {
|
||||||
|
goagain = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_leftMotor.run(-speed);
|
||||||
|
_rightMotor.run(speed);
|
||||||
|
}
|
||||||
|
// Add a small delay to avoid continuous motor changes
|
||||||
|
delay(10);
|
||||||
|
Serial.print("Distance: ");
|
||||||
|
Serial.print(distance);
|
||||||
|
Serial.println(" cm");
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue