Paso 21: Carga código
Gran parte de la magia que entra este controlador MIDI es en el código. Para aquellos que no programa, te voy a dar una descripción general de cómo funciona el firmware:
Estado 1: Cuando arrancó, que espera el controlador para una lectura del sensor de llama (pide usuario a la luz de la vela mediante el patrón de parpadeo del indicador LED) que es pega un determinado umbral establecido por el usuario. Una vez que se pega el umbral, pasar de estado 2.
Estado 2: Tomar alrededor de 5 segundos para intentar tomar un promedio de las lecturas de sensor de la llama (muestra su progreso en el indicador LED) para su uso posterior. Por defecto, lee en valores de 50, y luego comprueba que los valores no encajan en el patrón de las lecturas y descarta los valores (es decir, si dice 3, 5, 3, 1, 4, 6, 24. Se tiro el valor "24" y continuar con el resto). Si hay más de 10 valores arrojados (ya que puede alterar la precisión de la media) vuelve a estado 2. De lo contrario, pasa al estado 3.
Estado 3: Primera lectura en los valores de todas las entradas (sensor de la llama, potenciómetro), basado en los valores de entrada, actualizar lo que la salida va a ser. (Desde CC generalmente se trabaja con resolución 127 valor, la salida es de 0 a 127). Basado en el valor de salida, actualiza el LED (a través de PWM) para mostrar al usuario qué valor se está enviando (hechos para imitar la vela). Finalmente el valor de salida se envía vía serial a través del USB e interpretado por la computadora para la conversión (en MIDI sin pelo). Estado 3 luego se repite a menos que la llama se quita y es soplada hacia fuera. Si está quemado hacia fuera, pasa al estado 1 hasta que se vuelva a iluminada.
Para aquellos de ustedes que programa, comprueba el código adjunto y comentarios para conocer los detalles de exactamente cómo funcionan los algoritmos y funciones.
Una vez que entienda cómo las funciones del firmware, arrancar el IDE de Arduino y cargar el código para el Arduino Nano usando el puerto COM adecuado. A continuación podemos establecer el equipo para convertir los datos en serie a MIDI