RobinBrusbo

Final med Structs

May 15th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. int maxDistanceBeforeTurn;
  2. float turnTime;
  3. float rightThrust;
  4. float distance;
  5.  
  6. struct Motor{
  7.    
  8.     int leftMotor;
  9.     int rightMotor;
  10.    
  11.     void turnON(int speed){
  12.         analogWrite(leftMotor, speed);
  13.         analogWrite(rightMotor, speed);
  14.     }
  15.  
  16.     void turnOFF(){
  17.         analogWrite(leftMotor, 0);
  18.         analogWrite(rightMotor, 0);
  19.     }
  20.    
  21.     void turnLeft90(){
  22.         turnOFF();
  23.         digitalWrite(rightMotor, 255);
  24.         digitalWrite(leftMotor, rightThrust);
  25.         delay(turnTime);
  26.         turnOFF();
  27.     }
  28.  
  29. };
  30.  
  31. struct Sensor{
  32.  
  33.     int echoPin;
  34.     int trigPin;
  35.     long duration;
  36.    
  37.     float getDistance(){
  38.         digitalWrite(trigPin, HIGH);
  39.         delayMicroseconds(10);
  40.         digitalWrite(trigPin, LOW);
  41.         duration = pulseIn(echoPin, HIGH);
  42.         return duration / 58;
  43.     }
  44.  
  45. };
  46.  
  47. void setup(){
  48.     Motor motor;
  49.     Sensor sensor;
  50.     Serial.begin(9600);
  51.     pinMode(sensor.echoPin, INPUT);
  52.     pinMode(sensor.trigPin, OUTPUT);
  53.     pinMode(motor.leftMotor, OUTPUT);
  54.     pinMode(motor.rightMotor, OUTPUT);
  55. }
  56.  
  57. void loop(){
  58.     Motor motor;
  59.     Sensor sensor;
  60.     motor.turnON(255);
  61.     distance = sensor.getDistance();
  62.     if (distance < maxDistanceBeforeTurn) motor.turnLeft90();
  63. }
Advertisement
Add Comment
Please, Sign In to add comment