Sintetizador Artemis

Pedro Molina
Pedro Molina

El sintetizador Artemis fue creado como un conjunto de herramientas para el Proyecto Artemis de la Universidad de Boston. Este proyecto tiene como objetivo enseñar a las nuevas estudiantes de secundaria sobre informática a través de actividades prácticas. [Chris] basó el equipo en un microcontrolador ATMEGA328P y un convertidor digital a analógico MCP4921. Se puede usar en el modo de teclado, donde los botones alternan varias notas de la escala, o en el modo de secuencia, donde los botones se usan para alternar secuencias preprogramadas.

[Chris] Quería que los estudiantes pudieran usar el equipo después del trabajo, por lo que utilizó un enlace óptico llamado “Optoloader” para programar nuevas secuencias y formas de onda en el dispositivo. Un programa basado en la web permite que las formas de onda y las secuencias se incrusten en el navegador y luego se programen sosteniendo un fototransistor en un cuadrado parpadeante. El cuadrado parpadea en blanco y negro correspondiente a un mensaje codificado de marcado bifásico. Esto es descifrado por el microcontrolador en el sintetizador y almacenado en la memoria. Como resultado, no se necesita ningún hardware especial para reproducir nuevas formas de onda y secuencias.

[Chris] tiene una edición en profundidad para el proyecto, incluidas las encuestas de comentarios de los estudiantes. Planea agregar información más específica sobre el Optoloader en el futuro.

Mire un video del equipo en acción después del descanso.

  • Ren dice:

    Tenía la intención de dejar algunos comentarios sobre un momento tan difícil para conseguir una novia que ahora está probando como estudiante de secundaria, pero luego pensé que lo mejor …

  • bty dice:

    Proyecto muy impresionante!
    Me pregunto qué tan bien se podría aumentar la tasa de transferencia. Un factor limitante probablemente sería la frecuencia de actualización de la pantalla. Una aplicación nativa que puede esperar VSync podría ser un poco más rápida, pero incluso entonces la tasa de transferencia máxima sería de unos pocos bytes por segundo.

    • willaim dice:

      considerando que ha estado en el reloj durante bastante tiempo, aparentemente no es factible para grandes cantidades de datos incluso en un estado refinado, pero aún así me parece mucho más conveniente, quiero más cosas actualizadas / expandidas también … tal vez la gente haya capturas de una técnica como esa

    • cjwoodall dice:

      Por tanto, no se adapta muy bien a JavaScript. Introduces mucha tensión de reloj, hasta que la diferencia de tus transiciones se vuelve muy, muy difícil. Sin embargo, podría ir bastante rápido con un enlace óptico directo, o incluso si controlara la pantalla directamente.

      Una aplicación importante en la que puedo pensar es programar / transferir desde iPhone / Android a un dispositivo integrado. Creo que Electric Imp usa una tecnología similar.

      • bty dice:

        En cuanto a la cantidad de datos transmitidos aquí, el código javascript probablemente ya sea bastante rápido. Un factor limitante mantendrá la velocidad de la pantalla fría, que es muy baja.

        Android / iPhone ya tiene una cámara, lo que haría que otros métodos fueran mucho más factibles.

        Pero enviar algunos datos a mcu, es una muy buena idea. Simplemente no crecerá bien debido a la pantalla.

        Era así, hace unas pocas generaciones, casi todas las computadoras portátiles venían con un puerto IR, por lo que al menos allí podíamos alcanzar velocidades de la era del módem.
        Pero si tengo que conseguir uno para mi computadora, simplemente podría insertar el uart o usb o jtag o lo que sea.

    • bty dice:

      La velocidad podría aumentarse utilizando múltiples canales, pero incluso con 8 fotocélulas y un reloj de codificación de 60Hz, sería solo unas pocas decenas de bytes por segundo.

      • dmcbeing dice:

        O puede usar 4 o más niveles de luz y obtener la misma velocidad a través de un canal. Un canal dual con 8 niveles le daría ~ 6 veces el ancho de banda. Quizás debería ir a mi banco …

  • bty dice:

    @dmcbeing: Buena idea. ¿Qué pasa con dos canales analógicos (de intensidad), real y complejo, y haciendo algo de QAM?

    • bty dice:

      considerándolo además, es inútil, la frecuencia de actualización del monitor es demasiado baja. Incluso 8 canales con 4 niveles todavía no recibirán ni siquiera 100 bytes / seg. Entonces es mejor con sonido, porque la velocidad es mucho mayor.

      • Bill Gander dice:

        Ese era mi pensamiento también. De un perro MIDI antiguo, el archivo “wav a través de un conector de audio mini o micro debería funcionar bastante bien, aunque también me gusta su método de parpadeo. Como otros han señalado, puede ser un poco inestable. En general, un gran trabajo durante la compilación y espero que esto lleve a más mujeres a la ciencia.

      • cjwoodall dice:

        @Bill Yo también pensé en eso. Mi jefe estaba realmente entusiasmado con las luces y yo acababa de implementar un código de marca bifásico para enlace de fibra óptica para una plataforma de prueba CMS, así que tomé ese conocimiento y traté de aplicarlo de manera tan fresca. Quiero trabajar más con él, pero estaba inundado.

        Tengo un pedal de guitarra programable que quiero hacer y realmente quiero usar una ranura de sonido para programarlo … O unir bloques preescritos de formas geniales, o algo así.

      • Bill Gander dice:

        @cj Buen trato. Le da un factor de negatividad, así como el problema principal;)

        Con los pedales, puedo decirle que mantenga su configuración actual (en cierto sentido) y vaya con un aspecto normal de 1/4 ′ ′ y tenga un cuero pequeño y en el otro extremo el receptor para una línea de datos optoaislada para evitar zumbido de tierra. Podría ser un paquete general ordenado de guitarra 2.0 o algo así. De nuevo, tomo prestado esto de midi. No sé si es posible que tengas algunos pedales que requieran bluetooth; solo estoy escribiendo en voz alta 🙂 Lo mejor de todo.

  • draeath dice:

    Me encanta la forma en que manejas la programación. ¡No se necesitan cables! Todo lo que necesitas es una pantalla y javascript.

  • Greenaum dice:

    Una forma mejor que el enlace óptico podría ser utilizar la tarjeta de sonido. Incluso con solo un micrófono a bordo y altavoces de computadora, debería poder obtener unos pocos cientos de bps, mucho más rápido que una frecuencia de actualización de 60-80Hz de un monitor.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *