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"); } } }
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(); }
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); }
private void GuardarEstadoFinalBtn_Click(object sender, RoutedEventArgs e) { Ejercicio.EstadoFinal = Angulos.ToString(); VerEstadoFinalBtn.IsEnabled = true; HabilitarBotonGuardar(); }