jueves, 26 de junio de 2008

Cumpliendo objetivos

este pasado finde estuve programando el lego que seguía líneas el solito.

tras empaparme de los programas de nxtPrograms. me puse a programar yo solito pero esta vez que siguiera la línea por dentro y no por fuera. como en el colegio, que te ponían un problema y luego te mandaban otro para casa con los datos cambiados. o como en la universidad que te ponían un problema y ... no espera, en la universidad no.

lo hizo bastante bien, pero cuando llegaba al pico del start, se volvía un poco tonto y daba vueltas sin parar, como el objetivo de mi sesión no era hacer el programa perfecto sino, hacer yo algo por mi cuenta, me quedé por satisfecho.

al día siguiente intenté hacer que siguiera la línea más rápidamente, introduciendo algo de lógica borrosa a la hora de tomar las decisiones. que guay queda decir eso ... en realidad lo que hice fue meter más condiciones en el if.

lo que hacía era dado el nivel de negro/blanco que se estaba recibiendo, girar el motor en mayor o menor medida. como sigue a continuación

si el nivel de blanco está entre 75% y 100%: giro el motor a todo trapo
si el nivel de blanco está entre 50% y 75%: giro el motor un poco menos
si el nivel d
e blanco está entre 25% y 50%: giro el motor un poco menos
...
si el nivel de blanco es nulo, pues sigo recto.

por alguna extraña razón, sólo funcionaba si empezaba sobre la línea negra, y la verdad, se notaba un poco más de velocidad, pero tampoco para tirar cohetes. y cuando llegaba al pico del start ... fuera también, a dar vueltas !!!. estoy pensando en hacerme un circuito redondo sin picos.

ahora que he puesto esa tabla arriba se me ha ocurrido que en vez de usar un if ... podría hacer que la potencia del motor fuera directamente proporcional al nivel de blanco. sería encadenar la salida del sensor de luz a un operador aritmético, y este que fuera a la entrada del motor especificando el porcentaje de potencia. pero no sé si se podrá hacer esto último habrá que probarlo.

y con esto daría por terminado mi primer objetivo, el de hacer cosas por mi mismo con el programita de marras.

también he de decir que con el giga de ram mi equipo se mueve de maravilla. una buena compra de las mias :D

otra cosa ... en un blog que he encontrado por ahí, creo haberlo mencionado antes. , siguiendo un par de enlaces he encontrado este montaje que parece entretenido, para calcular coeficientes de rozamiento

me parece interesante hacerlo en los dos sentidos, es decir, que calcule lo que tardará en bajar, si le especificas el peso del objeto o que dado el tiempo y el peso, el sólo calcule la pendiente ... cosas de física, vamos como si fuera un científico intentando calcular el mejor momento para enviar un cohete a marte.

y además el mecanismo de hacer que la pendiente suba o baje, y calcular los grados. esto me servirá seguramente a trabajar con los servos y a mirar un poco más el toronomaki, que seguramente tendrá mecanismos de esas trazas.

bueno, eso es todo por hoy, así que como diría ed wood ¡a positivar!

No hay comentarios: