Page 1 of 1

MOTORS SINCRONIZATION

Posted: Fri Jul 14, 2017 4:16 am
by hflores
I need the left and right sensors to detect the black line and stop the motors. But the right motor keeps moving forward.

Can you help me please. The code is as follows.
[img]
https://www.dropbox.com/s/lvf5ph3vxyeve ... 4.jpg?dl=0
[/img]
[img]
https://www.dropbox.com/s/vdw73qqzx0l4k ... 0.jpg?dl=0
[/img]

Code: Select all

    public void IrHaciaAdelante(int leftPower, int rightPower)
    {

       mDerecho.resetTachoCount();
       mIzquierdo.resetTachoCount();
       
       mDerecho.setSpeed(rightPower);
       mIzquierdo.setSpeed(leftPower);

       mDerecho.synchronizeWith(new EV3LargeRegulatedMotor[] { mIzquierdo });
       mDerecho.startSynchronization();
       mDerecho.forward();
       mIzquierdo.forward();
       mDerecho.endSynchronization();
       //mDerecho.waitComplete();
       //mIzquierdo.waitComplete();
       
    }


Code: Select all

   private void AvanzarTramoHastaAmbosNegrosSinPID()  throws Exception
   {
       int LightValue;
       int time = 0;
   
        while ((sensorDer.LuzValor() == 2)&& (sensorIzq.LuzValor() == 2))
        {
           motores.IrHaciaAdelante(90,90);
        }
        mIzquierdo.setSpeed(0);
        mDerecho.setSpeed(0);
        mIzquierdo.stop();
        mDerecho.stop();
        
           Delay.msDelay(100);
           if(( sensorIzq.LuzValor() != 2) && (sensorDer.LuzValor() == 2) )
           {
              mDerecho.setSpeed(40);
             while((sensorDer.LuzValor() == 2))
             {            
               mDerecho.forward();
             }
             mDerecho.stop();
             return ;
           }
           else if((sensorDer.LuzValor() != 2) && (sensorIzq.LuzValor() == 2))
           {
              mIzquierdo.setSpeed(40);
             while((sensorIzq.LuzValor() == 2))
             {
                mIzquierdo.forward();
             }                         
             mIzquierdo.stop();
             return ; 
           }        
   }
   

Re: MOTORS SINCRONIZATION

Posted: Fri Jul 14, 2017 6:53 am
by gloomyandy
I can't see anything obviously wrong with that code, but then again I can't be sure that it is actually executing that code either. You need to add some trace print statements to your code or use the eclipse debug tools to work out what is going on. Have you done that?