public void CalcularAngulosFinales(Puntos puntos)
 {
     // ARREGLAR CAMI CASU
     angulos = new AngleHelper().SetValorAngulos(puntos);
     //HombroDerecho, ManoDerecha, CodoDerecho, skelObjeto);
     if (angulos.CodoArribaAbajo == -1 ||
         angulos.CodoIzquierdaDerecha == -1 ||
         angulos.HombroAdelanteAtras == -1 ||
         angulos.HombroArribaAbajo == -1)
     {
         flagSkeleton = false;
     }
     else
     {
         flagSkeleton = true;
         //si se puede alcanzar el objeto,
         try
         {
             this.ConfirmacionButton.IsEnabled = true;
             ConfirmacionButton.Focus();
             //this.MensajesLabel.Content = "Angulos calculados";
         }
         catch (Exception)
         {
             Console.WriteLine("Excepcion en escribir el angulo en arduino");
         }
     }
 }
Exemplo n.º 2
0
        public Angulos SetValorAngulos(Puntos puntos)
        {
            this.puntos = puntos;
            distancia   = new Distancia();
            angulos     = new Angulos();

            //calculo distancias para obtener el ANGULO del CODO ARRIBA ABAJO
            CalcularAnguloCodoArribaAbajo();

            if (distancia.DistanciaHombroObjeto > distancia.DistanciaHombroCodo
                + distancia.DistanciaManoCodo)
            {
                return(angulos);
            }

            //calculo del angulo hombro ATRAS ADELANTE:
            CalcularAnguloHombroAdelanteAtras();

            //Calculo del angulo hombro ARRIBA ABAJO:
            //            CalcularAnguloHombroArribaAbajo();
            angulos.HombroArribaAbajo    = 90.0;
            angulos.CodoIzquierdaDerecha = 90.0;

            return(angulos);
        }
 public Principal(RespuestaToken token, SesionViewModel sesionVM, RepeticionViewModel ejercicioVM)
 {
     InitializeComponent();
     flagSkeleton         = false;
     flagObjeto           = false;
     datosDistancia       = null;
     colorImagenDistancia = null;
     RespuestaToken       = token;
     Sesion             = sesionVM;
     Ejercicio          = ejercicioVM;
     angulos            = new Angulos();
     puntos             = new Puntos();
     Ejercicio.Duracion = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
     arduinoController  = new ArduinoController();
     videoController    = new VideoController();
 }
Exemplo n.º 4
0
 private void InicializarArduino()
 {
     AngulosDefault = new AngulosServos(ArduinoController.BRAZO_GB);
     try
     {
         Arduino = new ArduinoController();
         if (String.IsNullOrEmpty(Ejercicio.EstadoInicial))
         {
             Angulos = new AngulosServos(AngulosDefault.ToString());
         }
         else
         {
             Angulos = new AngulosServos(Ejercicio.EstadoInicial);
         }
         Arduino.Inicializar(Angulos.ToString());
     }
     catch (Exception)
     {
         Arduino = null;
     }
 }
        public bool EscribirAngulosArduino(Angulos angulos)
        {
            try
            {
                if (_serialPort.IsOpen)
                {
                    string rtaAngulos = "*";

                    rtaAngulos += angulos.CodoArribaAbajo.ToString("000");
                    rtaAngulos += angulos.CodoIzquierdaDerecha.ToString("000");
                    rtaAngulos += angulos.HombroArribaAbajo.ToString("000");
                    rtaAngulos += angulos.HombroAdelanteAtras.ToString("000");

                    _serialPort.Write(rtaAngulos);
                    //    Console.WriteLine("Angulo Codo Arriba Abajo : " + angulos[0]);
                    //    Console.WriteLine("Angulo Codo Izq Der: " + angulos[1]);
                    //    Console.WriteLine("Angulo Hombro Arriba Abajo: " + angulos[2]);
                    //    Console.WriteLine("Angulo Hombro Adelante Atras: " + angulos[3]);
                    //
                }

                _intentos = 0;
                return(true);
            }
            catch (Exception)
            {
                _intentos++;
                if (_intentos < 10)
                {
                    EscribirAngulosArduino(angulos);
                }
                else
                {
                    return(false);
                }
            }
            return(false);
        }
Exemplo n.º 6
0
 private void GuardarEstadoFinalBtn_Click(object sender, RoutedEventArgs e)
 {
     Ejercicio.EstadoFinal       = Angulos.ToString();
     VerEstadoFinalBtn.IsEnabled = true;
     HabilitarBotonGuardar();
 }