Noticias:

¡Bienvenido a HispaLUG!

Menú Principal

Novato a la carga

Iniciado por Riki2576, 08 de Enero de 2012, 16:03:42 PM

Tema anterior - Siguiente tema

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

Riki2576

Hola a todos¡¡¡
Como ya he dicho en otro hilo, los reyes me han traido el set de mindstorms educación 9797:

El objetivo de crear este tema no es mas que me aconsejeis un poco por donde empezar, que hacer, etc;
de momento tengo el "bicho" montado, con todos los brazos montados, pero yo no se muy bien como seguir.
Otro punto es el software, tengo actualmente las dos versiones instaladas, pero con una diferencia, la version normal la tengo en ingles; en cambio la version educación la tengo en español, quería saber cuál es la diferencia entre las dos versiones, de momento practico la la que esta en español, pero si me decis que la otra es mejor, podria apañarmelas con el inglés.

De momento me he limitado a montarlo y a dos cosas mas:
-La primera fue descargarme para el movil Android una app para moverlo con bluetooth, muy buena la verdad xD
-la segunda cosa la acabo de terminar, que ha sido el primero programa, tan facil como, usando el sensor de contacto, diga el ladrillo "You´re good¡¡" y salga por pantalla "Otra vez", todo metido en un bucle hasta el infinito.
Justo aqui se me empiezan a plantear dudas: puedo poner un contador para que me diga por pantalla las veces que le doy? puedo decirle que a la de X pulsaciones se acabe el programa?

Eso es todo, aprendo rapido, aunque a veces se me encajan algunas cosillas, espero no dar mucho la lata.

nxtorm

Pedazo de regalazo! Bienvenido al mundo NXT! Ya me alegro de que se sume uno más. Bueno, tómalo con calma, esto es todo un mundo...

Respecto a tu pregunta, como siempre hay varias formas de programarlo. Una posible sería esta:



En el panel de configuración del loop tienes la pestaña "Counter", para que te aparezca a la izquierda la conexión de las iteraciones del bucle. El Bucle está configurado en "Count" con 5 iteraciones.

Otra forma posible de programación sería seleccionar el bucle en "Logic" y usar el símbolo "Mayor que". Funcionaría exactamente igual.

Y por cierto, para aprender con este set e iniciarse, siempre recomiendo lo mismo: nxtprograms, una excelente página con construcciones paso a paso con sus correspondientes programas, comentados y ordenados por dificultad.

Seguro que te sirve. A ver qué vas sacando, suerte!

Riki2576

Muchas gracias nxtorm, ya lo he probado y funciona perfectamente :angel:, poco a poco iré metiendome en este mundo infinito :O, y dentro de poco me adentraré en tu página para hacer algún sensor de esos que están fantásticos ÔÔ

Riki2576

Ya esto otra vez aquí, con tres cuestiones:

-Primera: el cargador de la batería de Lego es muy exclusivo o se se pueden usar otros ??? he leido por algunas páginas que si se puede usar otros, pero he probado con todos los cargadores de mi casa( y no son precisamente pocos para una casa con 7 habitantes ;() y no he encontrado ninguno que encaje.
Si alguno usais algún cargador de móvil o algo, seguro que es mas barato que el de Lego. También estaría dispuesto a trueque si alguien tiene uno de sobra. (Una vez que se me ha gastado la batería, me he planteado seriamente comprarlo, porque las pilas que gastaría si no....)

-Segunda: he estado trasteando con el sensor de ultrasonidos, y no se si es que soy un manta o que, el caso es que no consigo que detecte nada salvo que este a 5cm del sensor, y eso que en el programa he probado con cantidades desde los 20cm a los 50cm y no lo detecta ;(

-Tercera: como funciona exactamente el sensor de luz, porque no entiendo como detecta la bola roja y la azul ???

Perdonad tantas preguntas, espero cojerle el truco pronto :angel:

Blastem

Respuestas rápidas que mañana me levanto a las 7:30...

Cargador:  Siempre que tenga el mismo voltaje y una intensidad igual o superior te valdrá, si encaja la clavija en la batería. Es decir, que si tienes un cargador viejo o estropeado puedes cortar y usar esa claviaj, sino siempre puedes comprar una en una tienda de electronica o ebay. Si es la batería vieja te vale el de los reguladores antiguos o uno compatible de los chinos (mira la intensidad antes) si es de los de 10 voltios pasarás por caja o mira en ebay uno compatible, pero no creo que merezca la pena

Ultrasonidos: Yo los sensores que he probado a veces fallan porque en lo que refleja no es lo suficientemente ancho. No sé si será el caso...

Sensor de luz. Detecta el nivel de luminosidad que hay. Con las colas en cuestión no sé ccomo irá, pero supongo que según el color reflejará más o menos.

Blog - Colección - Wanted List --- Look down, look down, Don't look 'em in the eye, Look down, look down, You're here until you die

nxtorm

Riki, ya sabes que nos encantan las preguntas, no tengas problema.

Por mi parte solo te puedo aportar algo en las 2 últimas, aunque simplemente ampliando a Blastem, que lo ha clavado.

Ultrasonidos. Siempre hay una zona muerta de unos cm en la corta distancia en el que el sensor no va bien. Quizás estás detectando ese cambio, ya que al usar una superficie a detectar pequeña o no plana (como la bola) el ultrasonido no rebota bien o se pierde por los lados. Al acercarlo mucho, algún rebote (eco) cazas. La solución es usar una superficie amplia y plana. Un ejemplo en nxtprograms.

Sensor de Luz. No se si en el set educativo viene la plantilla de pruebas. Si es así, mide a uno o dos dedos de distancia, no más, el valor raw del sensor de cada color. El sensor de luz mide en "escala de grises", suficiente para muchos casos.

Mide también el raw de las bolas azul y roja (siempre a corta distancia). Todo esto te dará la info necesaria para programar. Por ejemplo, si la bola azul te da 400 de raw y la roja 500, pones un bucle lógico y un <400 unido a la medición del sensor y eso será la detección de la bola azul.

Si no te aclaras, me dices y pincho una imagen. Suerte!.

31415926

Los reyes se han confundido con las cartas!!!! Te envío mis sartenes y me mandas tu 9797 ¿vale?

Buen comienzo: programas cortos, experimentar con los sensores,... despacio pero sin pausa. Pregunta todo lo que necesites, ya ves que obtienes buenas y rápidas respuestas. Yo con NXT-G no puedo ayudar demasiado, pero estaré atento.

Bienvenido.
3,1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229 . . .             

Riki2576

#7
Muchas gracias a todos por vuestra ayuda :angel:¡¡
D momento hoy no he podido avanzar nada, porque el programa se me ha rebelado, como dije en el primer mensaje tengo las dos versiones instaladas(La educación en español, y la otra), no funciona ninguna de las dos, puede ser porque no son compatibles?? de momento estoy desinstalando todo lo relacionado con mindstorms, y ya mañana instalaré sólo la versión educación, ya os cuento que pasa.

Lo poco que me ha dejado el programa hacer hoy he intentado que uno de los servos detectara movimiento, es decir, que girando yo el engranaje x revoluciones, el nxt hiciera un sonido, a modo de preámbulo para un moc que ya tengo pensado. Pues bien, ha sido un fracaso, el programa se saltaba directamente a reproducir el sonido. ¿sabeis que puede ser?

Mañana a ver si funciona el program y pruebo el sensor de ultrasonidos y luz gracias a las respuestas de nxtorm y blastem, aunque:

Cita de: nxtorm en 11 de Enero de 2012, 19:20:00 PM
Mide también el raw de las bolas azul y roja (siempre a corta distancia). Todo esto te dará la info necesaria para programar. Por ejemplo, si la bola azul te da 400 de raw y la roja 500, pones un bucle lógico y un <400 unido a la medición del sensor y eso será la detección de la bola azul.

¿Que es eso de RAW?
Muchas gracias otra vez a todos

PD:
Cita de: 31415926 en 11 de Enero de 2012, 22:47:05 PM
Los reyes se han confundido con las cartas!!!! Te envío mis sartenes y me mandas tu 9797 ¿vale?
a mi madre si le gustaria, pero a mi no me habria hecho ninguna gracia que me regalaran unas sartenes jajaja

nxtorm

Si despliegas la pestañita que hay bajo cada icono, se despliegan todos los conectores posibles (entradas y salidas de datos) de ese icono, y si le vuelves a dar, se repliegan todos y quedan escondidos.

De normal, cuando pones el icono "sensor de luz" en pantalla, aparece por defecto uno solo de estos conectores, el correspondiente a "Intensity". Este valor va de 0 a 100. Es como un valor porcentual por decirlo así. O sea, es un valor "a escala" del valor raw, que va de 0 a 1024. El "Raw Value" lo encontrarás al desplegar la pestaña bajo el icono. Puedes usar cualquiera de los 2, son lo mismo, pero al variar de 0 a 1024 el "raw" tiene más precisión que el "Intensity". Va bien cuando las diferencias entre un valor leído y el otro son escasas.

Riki2576

Después de desinstalar el programa y reinstalado, he estado una hora trasteando, con las respectivas consecuencias :-\(Más problemas)
Vamos por partes:
-Gracias al data logging que viene con la versión educación me lo he pasado muy bien con el sensor de ultrasonidos :D, basicamente he cogido el ladrillo nxt y el sensor, sin montar nada mas, y he ido acercando y alejando un libro; al final he sacado que es muy preciso, salvo en distancias cortas, y además el objeto, como ya me habías avanzado, debería ser plano, y de un tamaño considerable para que lo detecte fácilmente.

-después he pasado a usar uno de los servos como sensor de rotación, que la verdad no me ha supuesto ningún problema, aunque no es lo que me esperaba; me explico y me decis si se puede hacer o estoy muy equivocado, hasta ahora el robot anda, y después me escribe por pantalla el número de revoluciones que ha dado, o el número de grados recorridos. Pero yo lo que quiero es que girando yo con la mano el sensor, y habiéndole fijado previamente un grado en concreto, me avise al llegar a ese grado, o por ejemplo, hacer un coche, y dedicar uno de los servos a la cuerda del coche, es decir que gires el servo X revoluciones y el coche ande X revoluciones, eso son dos moc ya pensados y con la estructura del montaje pensada, solo falta que me digais si se puede hacer para que dentro de poco os presente los Moc´s.

-Como llevaba un rato, he decidido pasar a pelearme con el sensor de luz, que se me sigue atascando, adjunto un pantallazo de los datos que ha recogido el sensor con las bolas rojas y azul. Ambos han sido medidos con la luz del sensor activada, que por lo que he leido es más preciso; la bola roja varia entre 31 y 33, supongo que es en %, y la bola azul varía entre 21 y 23. y Hora que hago con esos datos? Porque en teoría, en los manuales de Lego, te dicen que para detectar las bolas hay que ponerle a una 60 y a la otra 40, ambos valores superiores a los datos que yo he obtenido, por lo que no se si habá demasiada luz, si los valores de Lego son con la luz apagada, sin que emita luz el sensor, etc. (necesito ayuda :|)
Cita de: nxtorm en 12 de Enero de 2012, 20:00:28 PM
Si despliegas la pestañita que hay bajo cada icono, se despliegan todos los conectores posibles (entradas y salidas de datos) de ese icono, y si le vuelves a dar, se repliegan todos y quedan escondidos.

También adjunto la foto del sensor con la pestaña desplegada, y he buscado por otros sitios que la opción de Raw es la última, pero no se dónde introducir el valor, a que icono hay que unirlo con el cable?

Por hoy creo que he terminado, si eso despues de cenar trasteo otro poco ÔÔ





nxtorm

#10
uyuyuy, que la cosa empieza a complicarse. Bueno, lo intento, pero te aviso que estos programas no los he probado. Ahora mismo mi comedor no admite más, está lleno de vías y trenes de cercanías...

Rotación (pincha sobre la imagen para ampliar)



Se me ocurre esto, a ver si me explico bien. Lo primero, hacer un reset y poner a cero ambos sensores de rotación de los motores. Luego, dale las vueltas que quieras al motor A. El valor de la posición es almacenado en la variable "Grados", pongamos por ejemplo 500 grados. Puedes crear variables en "Edit/Define variables". La variable es del tipo "numérico".

Cuando ya hayas seleccionado las vueltas que quieras, pulsas el botón naranja y el programa dejará ese primer bucle y avanzará. Ahora, dentro del segundo bucle, se pone en marcha el motor B y comienza a comparar el valor del sensor de rotación de B con 500. En el momento lo supere, saldrá del bucle y parará el programa. Recuerda que no he probado el programa, pero si no va, puedes tener una base para poder probar cosas.

En mi web tienes un tutorial sobre el sensor de rotación interno que también te puede ayudar.




Sensor de luz (pincha sobre la imagen para ampliar)



En este caso aprovecho la foto para poner 2 programas juntos. Y ya me he dado cuenta de un error: he usado el cable del raw con tu valor de "Intensity". Ya lo corriges tú. Simplemente pon en el "Mayor que" el valor correspondiente raw medido para la bola roja (en mi imagen pone 31 por error según tu dato). El primer caso, presenta en pantalla "rojo" o "azul" según el valor medido. Siempre tendrás un valor por defecto en pantalla. En el segundo caso, saldrá del bucle cuando detecte rojo.

Desconozco las condiciones de luz ambientales, así que puede que la luz, antes de acercar la bola, ya sea >31. Si es el caso, cambia el valor a 21 y pon un "Menor que" (me refiero al segundo programa de la imagen).

También en este caso, tienes bastante más info en un tutorial de mi web sobre bucles o loops que creo que te aclarará bastante. Lo cito porque hay mucha info que sería demasiado largo de explicar aquí y la verdad, ya lo tengo escrito. Hay otros tutoriales en el mismo sitio, como el de "Variables". Espero que te ayuden. Es cuestión también de que vayas jugando con los valores y opciones. Y si no, ya sabes.