Paso 7: El Arduino programa sketch
El archivo de dibujo - visualMusic.ino - se ha comentado de este Instructable.
Los archivos de encabezado MELODY_FILE.h, musicSymbols.h y gramophone.h - se almacenan en las pestañas, que se abren en el IDE de Arduino.
El bosquejo principal, visualMusic.ino está dividida en estas partes:
PARTE UNO - BIBLIOTECA ENCABEZADOS, CONSTANTES, VARIABLES GLOBALES
PARTE DOS - FUNCIONES PARA EL PROCESAMIENTO DE LA NOTA
playMusic función - esta función analiza la melodía cadena de archivo de notas (que están escritas en formato EML), selecciona cada segmento separado por espacios (es decir, cada nota separada) y envía a cada segmento en secuencia a la función parseNote().
noteIndex función - dado un personaje que representa una nota, noteIndex devuelve la posición en la octava. Esto se utiliza para colocar notas en la pantalla. Ejemplo: 'C' = > 0, había ' = > 1, 'E' = > 2, 'R' para el resto = > 7.
parseNote función - parseNote recibe una nota cadena de playMusic y determina la frecuencia musical y otras características de esa nota. A continuación, pasa estos valores a la función de controlador de nota llamada handleNote().
handleNote función es el 'controlador de nota' - tanto juega la nota y dibuja en la pantalla TFT.
Parte tres - setup() y loop() funciones setup() llama a funciones que dibujar gráficos de pantalla y reproducir música. No hay nada en el loop() - porque tocamos la melodía un número especificado de veces, no indefinidamente.
PARTE CUATRO - GRÁFICOS FUNCIONES
drawStaff función de las líneas del pentagrama musical dibuja-
eraseNotes función - borra una sección de la pantalla antes de dibujar cada nota
Hay seis funciones separadas que entero, mitad, cuarto, notas de octavo, dieciséis y treinta segundos.
draw_shapes función - utiliza los datos de la gramophone.h de archivo de encabezado para dibujar el gráfico de gramófono en la pantalla del título.