Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int maxDistanceBeforeTurn;
- float turnTime;
- float rightThrust;
- float distance;
- struct Motor{
- int leftMotor;
- int rightMotor;
- void turnON(int speed){
- analogWrite(leftMotor, speed);
- analogWrite(rightMotor, speed);
- }
- void turnOFF(){
- analogWrite(leftMotor, 0);
- analogWrite(rightMotor, 0);
- }
- void turnLeft90(){
- turnOFF();
- digitalWrite(rightMotor, 255);
- digitalWrite(leftMotor, rightThrust);
- delay(turnTime);
- turnOFF();
- }
- };
- struct Sensor{
- int echoPin;
- int trigPin;
- long duration;
- float getDistance(){
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- return duration / 58;
- }
- };
- void setup(){
- Motor motor;
- Sensor sensor;
- Serial.begin(9600);
- pinMode(sensor.echoPin, INPUT);
- pinMode(sensor.trigPin, OUTPUT);
- pinMode(motor.leftMotor, OUTPUT);
- pinMode(motor.rightMotor, OUTPUT);
- }
- void loop(){
- Motor motor;
- Sensor sensor;
- motor.turnON(255);
- distance = sensor.getDistance();
- if (distance < maxDistanceBeforeTurn) motor.turnLeft90();
- }
Advertisement
Add Comment
Please, Sign In to add comment