HispaLUG

El foro LUGnático => Technic & Mindstorms => Mensaje iniciado por: Dearbast en 21 de Octubre de 2008, 19:25:23 PM

Título: Consulta
Publicado por: Dearbast en 21 de Octubre de 2008, 19:25:23 PM
Hola...sabios de Mindstorms. Quisiera hacerles una consulta. Tengo dos situaciones a las que no les encuentro la vuelta. Trabajo con RCX y con RIS
1º - Cómo hago para que el robot camine por la pista blanca y pare cuando lea el sensor de luz la cinta negra. Yo se que quizá sea elemental para Uds. pero les aseguro que para mi no. Usé varias opciones, pero nada...
2º - Un RCX le manda mensaje a otro. Bien. Pero necesito que el programa se vuelva a ejecutar si el RCX le vuelve a mandar el mensaje. El RCX emisor funciona bien y manda los mensajes, pero el RCX receptor lo ejecuta una sola vez.
Nuevamente, mil gracias al que me pueda orientar un poquito en lo que no estoy haciendo o lo que estoy haciendo mal.
Título: Re: Consulta
Publicado por: Jetro en 21 de Octubre de 2008, 20:44:14 PM
Cita de: Dearbast en 21 de Octubre de 2008, 19:25:23 PM
Hola...sabios de Mindstorms. Quisiera hacerles una consulta. Tengo dos situaciones a las que no les encuentro la vuelta. Trabajo con RCX y con RIS
1º - Cómo hago para que el robot camine por la pista blanca y pare cuando lea el sensor de luz la cinta negra. Yo se que quizá sea elemental para Uds. pero les aseguro que para mi no. Usé varias opciones, pero nada...
¿cómo lo intentaste?
Para dar una idea de un programa muy básico, coloca en la columna principal los comandos necesarios para que el robot se mueva por el área blanco.
Saca un bloque de sensor de luz y colócalo a la derecha de la columna principal. Para saber el valor que le tienes que asignar al sensor de luz, colócalo sobre la raya negra y pulsa el botón negro del RCX tantas veces hasta que aparece una flecha debajo del puerto donde tienes colocado el sensor de luz. Apunta el valor que aparece en pantalla. A ese valor réstale un poco (prueba con distintos valores) para que se hay un poco más de luz o no ve bien el negro por la razón que sea aún lo reconozca.
Debajo del bloque del sensor de luz, coloca los bloques que hacen que se pare el robot

Citar
2º - Un RCX le manda mensaje a otro. Bien. Pero necesito que el programa se vuelva a ejecutar si el RCX le vuelve a mandar el mensaje. El RCX emisor funciona bien y manda los mensajes, pero el RCX receptor lo ejecuta una sola vez.
Nuevamente, mil gracias al que me pueda orientar un poquito en lo que no estoy haciendo o lo que estoy haciendo mal.
¿Donde has colocado el bloque para recibir el mensaje? Está en la pila principal o en un lado como te he dicho que deberías poner el bloque de sensor de luz?
Título: Re: Consulta
Publicado por: Dearbast en 21 de Octubre de 2008, 23:49:29 PM
Gracias Jetro por tu respuesta. Con respecto a la parte del sensor, te comento que hago los cambios que me sugerís y te cuento.
En relación a recibir mensaje, te digo que la opción "recibir mensaje" se coloca sola no en la pila principal (que queda solamente con el icono que muestra el nombre del programa) sino al costado, como el sensor de luz. Y es abajo de "recibir mensaje" donde coloco todo lo que quiero que pase cuando recibe el mensaje. Así funciona muy bien, pero si el emisor le vuelve a enviar el mensaje, resulta que el receptor no vuelve a ejecutar el mensaje. Algo hago mal. Es como que funciona una sola vez. Si apago el RCX y lo vuelvo a prender en el mismo programa, se vuelve a ejecutar bien. Es decir funciona 1 sola vez.
Te saludo muy agradecida
Título: Re: Consulta
Publicado por: Jetro en 22 de Octubre de 2008, 00:08:08 AM
Adjunta el programa (añadiendole la extensión .txt) y le echaré un vistazo.
Título: Re: Consulta
Publicado por: Dearbast en 22 de Octubre de 2008, 00:32:29 AM
Lo hago a la brevedad. Gracias
Título: Re: Consulta
Publicado por: Dearbast en 22 de Octubre de 2008, 17:00:45 PM
Aquí estoy enviando en formato txt el archivo hecho en RIS. Te recuerdo que lo que quiero que haga es que tras recibir el mensaje avance hasta que lea la cinta negra.
Mil gracias por tu tiempo.
Dearbast
Título: Re: Consulta
Publicado por: Dearbast en 22 de Octubre de 2008, 17:07:24 PM
Aquí agrego una imagen del programa. Mil gracias
Título: Re: Consulta
Publicado por: Dearbast en 22 de Octubre de 2008, 17:30:21 PM
Perdón, me olvidé de aclarar que quisiera que cada vez que se le manda el mensaje ejecute el programa sin necesidad de apagar el RCX y volver a hacer Run. (quiero que camine parando en cada línea negra que encuentra y que al recibir de nuevo el mensaje vuelva a avanzar hasta la proxima linea negra)
No se si es posible. Mil gracias.
Título: Re: Consulta
Publicado por: Jetro en 24 de Octubre de 2008, 07:43:12 AM
Espero poder mirarlo hoy..
Título: Re: Consulta
Publicado por: Dearbast en 28 de Octubre de 2008, 11:05:48 AM
Estimado Jetro: Pudiste ver algo?
Muchas gracias. Dearbast
Título: Re: Consulta
Publicado por: Jetro en 28 de Octubre de 2008, 20:45:01 PM
La pereza me puede... ::)
Solo tengo el RIS instalado en un viejo portátil sin batería que no tiene más que un Windows 98 y un montón de programas relacionados con el RCX (además de Spybotics y Cybermaster) y... Bueno, ya basta de excusas. Creo que la solución puede ser de lo más sencilla: prueba incluir un bloque "Clear IR MEssage" al final de le columna del sensor IR. A ver si eso resuelve el problema.
Título: Re: Consulta
Publicado por: Dearbast en 29 de Octubre de 2008, 11:17:15 AM
Gracias Jetro...pruebo y te digo
Título: Re: Consulta
Publicado por: Dearbast en 30 de Octubre de 2008, 12:00:39 PM
¡¡¡FUNCIONÓ!!! Querido Jetro, era eso... Faltaba que le agregara el bloque de eliminar el mensaje que recibía para que pudiera volver a reaccionar cada vez que se le mandara el mensaje.
Mi agradecimiento eterno.... ;D
Dearbast
Título: Re: Consulta
Publicado por: Jetro en 30 de Octubre de 2008, 21:35:32 PM
Ya pondrás unas fotos y una descripción del proyecto cuando hayas terminado :guino:
Título: Re: Consulta
Publicado por: Dearbast en 04 de Noviembre de 2008, 15:41:43 PM
Hola Jetro y demás Lugnáticos...
Bueno, aquí va una pequeña descripción de lo que quería hacer: Al leer oscuridad en dos lugares diferentes (con 2 sensores de luz) quería que el RCX mandara un mensaje a un roverboot que hiciera algo cuando recibiera el mensaje, que luego parara y si volvía a recibir el mensaje volviera a ejecutar el movimiento. Para esto fué fundamental el colocar el bloque de Clear mensaje para habilitar al robot a recibir nuevamente la señal de RCX emisor.
Puse fotos en la galeria.
Cualquier otra pregunta sobre este proyecto, les dejo mi mail dearbast@hotmail.com
Gracias...nos leemos... :D
Título: Re: Consulta
Publicado por: Jetro en 04 de Noviembre de 2008, 20:48:28 PM
¿En qué galería? porque aquí en HispaLUG solo aparecen los pantallazos del programa.
Título: Re: Consulta
Publicado por: Dearbast en 04 de Noviembre de 2008, 22:50:12 PM
Si, Jetro, subí las imagenes de los dos programas que usé. Me pàreció que era lo mas significativo. La construcción era con 2 RCX. Uno tenía conectado dos sensores de luz (solo los sensores y los cables) y según cual se tapara era el mensaje que mandaba al roverbot, que era un robot simple desplazante. Está OK? Saludos, Dearbast  :)
Título: Re: Consulta
Publicado por: Jetro en 05 de Noviembre de 2008, 00:14:11 AM
Pensé que igual pondrías alguna foto de los robots, pero si te parece que no tiene mucho interés... Está bien de cualquiera de las maneras :)
Título: Re: Consulta
Publicado por: Dearbast en 05 de Noviembre de 2008, 15:44:10 PM
Ya subí 3 fotos a la galería. Saludos.
Dearbast :D
Título: Re: Consulta
Publicado por: Jetro en 05 de Noviembre de 2008, 17:21:56 PM
Muy bien. Ya lo he visto:
(https://www.hispalug.com/galeria/albums/userpics/10911/normal_RCX_3.jpg)