[EV3]Duda programación: guardado/lectura valores en una secuencia

Iniciado por eraser, 17 de Abril de 2014, 10:01:16 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

eraser

Hola!

Estoy intentando replicar el clasificador de fichas de colores del EV3 Educación. La construcción me ha dado algún problemilla pero los he podido ir solventando.
Ya tengo claro el movimiento de la "caja" de las fichas, cómo soltarlas, cómo leer el color...

El problema viene al guardar el color de cada ficha para luego usarlo.

En esta parte tengo unos "if" que me "guardan" un valor según el color. Por lo que he podido ver si que se hace bien el recorrido según el color, por lo que se guardaría el valor que toca.
Aquí la duda que tengo es el [ 0 ] de la secuencia

Guardar datos por ¿dónde está rafolas?, en Flickr
¿Es el dato que se guarda, la posición que se guarda o un identificador de secuencia?
¿haría falta guardar la secuencia en la variable o no?

¿Aquí puede ser que el problema esté en que siempre leo el primer elemento? (índice 0)

Leer datos por ¿dónde está rafolas?, en Flickr

¿o directamente me estoy haciendo un lío y todo esto no vale? XD

Gracias por leerme! :D
Downloading firma ::::...... 40% completed

nxtorm

A ver si te puedo echar un cable, aunque será incompleto seguro ya que no se exactamente qué es lo que hace ese clasificador, así que voy un poco a ciegas. Lo intento, y si no acierto, repreguntas. Te comento ambas fotos.

Cita de: eraser en 17 de Abril de 2014, 10:01:16 AM
[...] Aquí la duda que tengo es el [ 0 ] de la secuencia
   
¿Es el dato que se guarda, la posición que se guarda o un identificador de secuencia?
¿haría falta guardar la secuencia en la variable o no?
Aquí estás usando el icono en modo "Anexar" (al final), por lo que añades un "0" procedente de tu constante (la del candado) a tu lista compuesta por un "0". Por tanto tu lista de dos elementos es ahora: 0;0. Esta lista la has almacenado en la variable "colores".
Por tanto, efectivamente es el dato "0" el que se guarda. La posición de guardado de ese nuevo dato es "al final", que se corresponde con la posición (índice) "1". En este caso, tanto la posición 0 como la 1 contienen un valor 0. Llevas razón: un lío.  :feliz:

Cita de: eraser en 17 de Abril de 2014, 10:01:16 AM
¿Aquí puede ser que el problema esté en que siempre leo el primer elemento? (índice 0)
Como te decía, no se bien qué quieres hacer, así que no se bien si ese es el problema, pero efectivamente, tal como has escrito la cosa, SIEMPRE estás leyendo la posición 0 de la lista "Colores", que también es un "0".

Respecto a la pregunta "¿haría falta guardar la secuencia en la variable o no? " pues depende. Si quieres conservar el listado de los colores detectados y su orden para usarlos posteriormente para algo, pues sí. Ese listado de colores detectados se almacena en forma de lista en la variable. Pero si vas a usar en tiempo real el color detectado para la clasificación, seguramente se pueda programar sin el bloque de "Operación secuencial", aunque me imagino que está ahí por algo, no se.  :confundido: Aquí me faltan datos (o quizás un video) de cómo funciona la cosa.

Te sugiero que te leas el tutorial Operaciones Secuenciales en mi web. Creo que ahí tendrás tus dudas resueltas (espero) y hay ejemplos de cada modo. Espero haber resuelto alguna duda pero, de todas formas, ya nos cuentas las que queden y seguimos.

eraser

Vale, tu tutorial me ha aclarado alguna cosa que hacía mal. ¡Gracias!
Cita de: nxtorm en 17 de Abril de 2014, 21:14:24 PM

Aquí estás usando el icono en modo "Anexar" (al final), por lo que añades un "0" procedente de tu constante (la del candado) a tu lista compuesta por un "0". Por tanto tu lista de dos elementos es ahora: 0;0. Esta lista la has almacenado en la variable "colores".
Por tanto, efectivamente es el dato "0" el que se guarda. La posición de guardado de ese nuevo dato es "al final", que se corresponde con la posición (índice) "1". En este caso, tanto la posición 0 como la 1 contienen un valor 0. Llevas razón: un lío.  :feliz:


Así ha quedado ahora la variante en la que guardo un 4:

Guardar datos en secuencia por ¿dónde está rafolas?, en Flickr

Entiendo que es la forma correcta de hacerlo: La secuencia tiene como entradas el valor y la variable y al añadir ese valor lo guardamos en la variable.

Voy a ver si me aclaro con la lectura posterior

Gracias de nuevo!
Downloading firma ::::...... 40% completed

nxtorm

Cita de: eraser en 18 de Abril de 2014, 10:43:20 AM
Vale, tu tutorial me ha aclarado alguna cosa que hacía mal. ¡Gracias!
Me alegro  :muyfeliz:

Cita de: eraser en 18 de Abril de 2014, 10:43:20 AM
La secuencia tiene como entradas el valor y la variable y al añadir ese valor lo guardamos en la variable.
Así es. La variable en este caso almacena una lista en lugar de un valor único y concreto. Por eso el cable de entrada y salida es más gordo de lo habitual, haciendo referencia a esto, a la lista y no a un valor único.

Cita de: eraser en 18 de Abril de 2014, 10:43:20 AM
Voy a ver si me aclaro con la lectura posterior
Suerte, ya nos cuentas.