Noticias:

¡Bienvenido a la HispaLUG! - Asociación para aficionados a LEGO®

Menú Principal

Theremin

Iniciado por PotaG, 01 de Febrero de 2010, 11:08:24 AM

Tema anterior - Siguiente tema

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

wonki

Oye, se pasó el código a robotC??
Es que tengo que hacer un trabajo de música y esto me pareció de lo más interesante.

Jetro

Yo no me he puesto al final, pero si te interesa para un trabajo ¡qué mejor excusa para hacerlo tú mismo! ;D

wonki

Es que me descargué la versión de prueba de robotC y quería poner el programilla en mi NXT.
¿el problema? no se programar en robotC, por lo que he visto me parece sencillo (seguramente porque controlo HTML y algo de PHP y algunas cosas son iguales)

Jetro

Hombre, si solamente se trata de enseñar el modelo te puede servir el código NXC ya que es un lenguaje gratuito y se maneja muy bien con BricxCC

wonki

el tema está en que quería sacarle un vídeo al NXT y yo tocando, para el trabajo de música, además de una guitarra que hice de nxtprograms.
probaré con NXC

Jetro

Esperaremos ansioso el resultado :D

PotaG

Pasar el programa a RobotC no debe ser muy difícil, la única dificultad del programa son los cálculos.

Frc=((((Sensor(IN_1)-20)*4000)/60)+Frc)/2;

Esta es la línea que calcula la frecuencia, el 20 y el 60 son los valores mínimo y máximo que me devuelve el sensor de luz (se pueden cambiar sin problemas a los valores que te entregue el RobotC), el calculo es un simple porcentaje, multiplico por el valor máximo de frecuencia (4000, aunque puede ser mas alto) y divido por el máximo devuelto por el sensor (60).

El resto "+Frc)/2" es para coger el valor medio de dos frecuencias, esto hace que el sonido sea mas fluido (pero no mucho).

Vol = (((i*4)/25)+Vol)/2;

El cálculo del sonido es el mismo, multiplicamos por el volumen máximo (4) y dividimos por el valor máximo entregado por el sensor (25).

Como en el anterior, sumamos dos tomas y dividimos entre 2 para sacar la media y hacer el transito más suave.

wonki

Oye, pues muchas gracias por el código ( y los comentarios también) debo suponer que lo demás se queda igual, no?

Jetro

¿Para pasarlo a RobotC?
Me temo que la cosa es un poco más compleja (poco, pero es).
Se trata de lenguaje diferente. Tienes que declarar los sensores, y usar los comandos correspondientes. Vamos, para que lo entiendas saber que tienes que pedir dos paquetes de 6 bricks de leche es un comienzo, pero solo un comienzo si tienes que hacer la compra en Italia por ejemplo. El idioma se parece, pero no es lo mismo ni mucho menos.
Ahora bien, si te pones a ello, seguro que en una hora lo resuelves (suponiendo que te manejes un poco con el inglés).

PotaG

Si, como dice Jetro, pasarlo a RobotC es algo más que ejecutarlo y ya esta, tendrás que cambiar la forma de iniciar a los sensores, sintaxis, etc.
Pero como el programa no es muy largo, no debe costarte mucho adaptarlo.

El organigrama es muy simple:

Iniciar sensores
Inicio del bucle
    Cálculo de la frecuencia
    Cálculo del volumen
    Ejecutar sonido
Fin del bucle

Aun así te recomendaría usar NXC, ya que es gratuito, y no tendrás que adaptar nada.