PWS robotica



  • @JoostR,

    We hebben eigenlijk nog helemaal niet naar de Ir sensor gekeken, omdat we al bij de ultrasone sensor vastliepen.
    We hebben voor onze code gekeken naar voorbeelden op internet en daaruit wat geprobeerd te maken, maar we zitten met het probleem van het benoemen van de motoren. En toen ik dat ging aanpassen werkte de hele code niet meer en kunnen we net zo goed opnieuw beginnen met schrijven. Heb jij miss een goed voorbeeld voor ons dat we kunnen volgen?
    Onze code tot nu toe:

    #include <Servo.h> //include Servo library
    #define trigPin 12// define the pins of your sensor
    #define echoPin 13
    int LeftMotorPin = 7; // set up motors.
    int RightMotorPin = 6;   
    
    void setup() {
      Serial.begin(9600); // begin serial communitication  
      Serial.println("Motor test!");
       pinMode(trigPin, OUTPUT);// set the trig pin to output (Send sound waves)
      pinMode(echoPin, INPUT);// set the echo pin to input (recieve sound waves)
      motor1.setSpeed(105); //set the speed of the motors, between 0-255
    motor2.setSpeed (105);  
    }
     
    void loop() {
    
       long duration, distance; // start the scan
      digitalWrite(trigPin, LOW);  
      delayMicroseconds(2); // delays are required for a succesful sensor operation.
      digitalWrite(trigPin, HIGH);
    
      delayMicroseconds(10); //this delay is required as well!
      digitalWrite(trigPin, LOW);
      duration = pulseIn(echoPin, HIGH);
      distance = (duration/2) / 29.1;// convert the distance to centimeters.
      if (distance < 25)/*if there's an obstacle 25 centimers, ahead, do the following: */ {   
       Serial.println ("Close Obstacle detected!" );
    Serial.println ("Obstacle Details:");
    Serial.print ("Distance From Robot is " );
    Serial.print ( distance);
    Serial.print ( " CM!");// print out the distance in centimeters.
    
    Serial.println (" The obstacle is declared a threat due to close distance. ");
    Serial.println (" Turning !");
        motor1.run(FORWARD);  // Turn as long as there's an obstacle ahead.
        motor2.run (BACKWARD);
    
    }
      else {
       Serial.println ("No obstacle detected. going forward");
       delay (15);
       motor1.run(FORWARD); //if there's no obstacle ahead, Go Forward! 
        motor2.run(FORWARD);  
    

    Gr,
    Daniël en Jaco


  • PWS TU Delft admin

    Beste Daniël en Jaco,
    Zijn jullie hier al verder mee gekomen? Welke website gebruiken jullie op dit moment als voorbeeld? Kunnen jullie hier een link van geven?

    Ik kan jullie ook aanraden om met versies van je code te werken in plaats van steeds jullie laatste versie aan te passen om te voorkomen dat de code 'kapot' gaat.

    Groetjes,
    Joost



  • Beste @JoostR,

    We zitten eigenlijk een beetje vast nu op het programeren.
    Als bronnen voor het resultaat dat we nu hebben:
    bron 1 en bron 2
    We zitten eigenlijk vast, omdat we dc motoren hebben en geen motorshield erbij.

    Gr,
    Jaco en Daniël


  • PWS TU Delft admin

    Beste Jaco en Daniël,

    Hier vinden jullie de bestanden die we gebruiken voor de workshop robotica. Misschien dat jullie hier wat meer informatie uit kunnen halen.

    Om jullie echt te kunnen helpen ben ik bang dat jullie specifiekere vragen moeten stellen. Waar lopen jullie nu precies op vast? Wat werkt er wel en wat niet? Wat begrijpen jullie niet?

    Ik hoor graag van jullie.

    Groetjes,
    Joost



  • Beste @JoostR,

    We lopen eigenlijk met de de huidige code, dat is de code die we in een eerdere post hebben gegeven, tegen deze fouten aan:

    Arduino: 1.6.13 (Windows 10), Board:"Arduino/Genuino Uno"

     F:\Arduino\Sketches\sketch_dec27a\sketch_dec27a.ino: In function 'void setup()':
     sketch_dec27a:13: error: 'motor1' was not declared in this scope
    
        motor1.setSpeed(105); //set the speed of the motors, between 0-255
    
        ^
    
     sketch_dec27a:14: error: 'motor2' was not declared in this scope
    
     motor2.setSpeed (105);  
    
      ^
    
     F:\Arduino\Sketches\sketch_dec27a\sketch_dec27a.ino: In function 'void loop()':
    
     sketch_dec27a:37: error: 'motor1' was not declared in this scope
    
     motor1.run(FORWARD);  // Turn as long as there's an obstacle ahead.
    
     ^
    
     sketch_dec27a:37: error: 'FORWARD' was not declared in this scope
    
     motor1.run(FORWARD);  // Turn as long as there's an obstacle ahead.
    
                ^
    
     sketch_dec27a:38: error: 'motor2' was not declared in this scope
    
     motor2.run (BACKWARD);
    
     ^
    
     sketch_dec27a:38: error: 'BACKWARD' was not declared in this scope
    
     motor2.run (BACKWARD);
    
                 ^
    
     sketch_dec27a:44: error: 'motor1' was not declared in this scope
    
    motor1.run(FORWARD); //if there's no obstacle ahead, Go Forward! 
    
    ^
    
     sketch_dec27a:44: error: 'FORWARD' was not declared in this scope
    
    motor1.run(FORWARD); //if there's no obstacle ahead, Go Forward! 
    
               ^
    
     sketch_dec27a:45: error: 'motor2' was not declared in this scope
    
     motor2.run(FORWARD);  
    
     ^
    
     exit status 1
     'motor1' was not declared in this scope
    
     This report would have more information with
     "Show verbose output during compilation"
     option enabled in File -> Preferences.
    

    Bij deze fouten weten wij eigenlijk niet wat we moeten doen, kan jij ons verder helpen?

    Gr,
    Daniël en Jaco


  • PWS TU Delft admin

    Beste Daniel en Jaco,

    Kan het komen doordat jullie je motoren leftMotorPin en rightMotorPin noemen en ze vervolgens aanroepen met motor1 en motor2?

    Groetjes,
    Joost



  • Beste @JoostR ,

    Dat had ik al gedaan, maar daarna kreeg ik het volgende:
    Arduino: 1.6.13 (Windows 7), Board:"Arduino/Genuino Uno"

     E:\Arduino\Sketches\sketch_feb08a\sketch_feb08a.ino: In function 'void setup()':
    
     sketch_feb08a:13: error: request for member 'setSpeed' in 'motor1', which is of non-class type 'int'
    
        motor1.setSpeed(105); //set the speed of the motors, between 0-255
    
          ^
    
     sketch_feb08a:14: error: request for member 'setSpeed' in 'motor2', which is of non-class type 'int'
    
      motor2.setSpeed (105);  
    
        ^
    
     E:\Arduino\Sketches\sketch_feb08a\sketch_feb08a.ino: In function 'void loop()':
    
     sketch_feb08a:37: error: request for member 'run' in 'motor1', which is of non-class type 'int'
    
     motor1.run(FORWARD);  // Turn as long as there's an obstacle ahead.
    
            ^
    
     sketch_feb08a:37: error: 'FORWARD' was not declared in this scope
    
     motor1.run(FORWARD);  // Turn as long as there's an obstacle ahead.
    
                ^
    
     sketch_feb08a:38: error: request for member 'run' in 'motor2', which is of non-class type 'int'
    
     motor2.run (BACKWARD);
    
            ^
    
     sketch_feb08a:38: error: 'BACKWARD' was not declared in this scope
    
     motor2.run (BACKWARD);
    
                 ^
    
     sketch_feb08a:44: error: request for member 'run' in 'motor1', which is of non-class type 'int'
    
    motor1.run(FORWARD); //if there's no obstacle ahead, Go Forward! 
    
           ^
    
     sketch_feb08a:44: error: 'FORWARD' was not declared in this scope
    
    motor1.run(FORWARD); //if there's no obstacle ahead, Go Forward! 
    
               ^
    
     sketch_feb08a:45: error: request for member 'run' in 'motor2', which is of non-class type 'int'
    
     motor2.run(FORWARD);  
    
            ^
    
     exit status 1
     request for member 'setSpeed' in 'motor1', which is of non-class type 'int'
    
     This report would have more information with
     "Show verbose output during compilation"
     option enabled in File -> Preferences.
    

    Helaas kan ik hier echt niks mee.
    Is het misschien handiger om een afspraak te maken op de TU?
    Als dit kan het liefst zo snel mogelijk, want er komt een deadline aan op 22 feb.

    Gr,
    Daniël & Jaco


  • PWS TU Delft Team

    @DaniëlV Ha jongens, Joost is deze week op vakantie, maar vanaf maandag kunnen jullie een reactie van hem verwachten.

    Groetjes,

    Juul


  • PWS TU Delft admin

    Beste @DaniëlV,

    Excuses voor de late reactie, zoals Juul al liet weten wat ik op vakantie... Het probleem zit hem er bij jullie in dat jullie de motoren als int (integer) definiëren, maar hier geen functies als setSpeed op aangeroepen kunnen worden omdat integers simpelweg getallen zijn.

    In de code van jullie voorbeeld zie ik het volgende staan:

     #include <AFMotor.h> //import your motor shield library
     #define trigPin 12 // define the pins of your sensor
     #define echoPin 13 
     AF_DCMotor motor1(1,MOTOR12_64KHZ); // set up motors.
     AF_DCMotor motor2(2, MOTOR12_8KHZ);
    

    Hebben jullie dit al geprobeerd? En begrijpen jullie wat ik bedoel met dat je geen functies als setSpeed en run aan kunt roepen op integers?

    Ik hoop dat jullie hier wat aan hebben en ik hoor graag van jullie! Wanneer moet het pws af zijn?

    Groetjes,
    Joost


Aanmelden om te reageren
 

Het lijkt erop dat je verbinding naar Forum verloren is gegaan, wacht even terwijl we de verbinding proberen te herstellen.