Stap 7: De Arduino programma schets
De schets bestand - visualMusic.ino - heeft voor dit Instructable besproken.
De headerbestanden - MELODY_FILE.h, musicSymbols.h en gramophone.h - worden opgeslagen in de tabbladen die u in de Arduino IDE opent.
De belangrijkste schets, visualMusic.ino is onderverdeeld in de volgende onderdelen:
DEEL ÉÉN - LIBRARY HEADERS, CONSTANTEN, GLOBALE VARIABELEN
DEEL TWEE - FUNCTIES VOOR DE VERWERKING VAN DE NOTA
playMusic functie - deze functie onderzoekt de melodie van bestand String van nota's (die zijn geschreven in EML formaat), selecteert u elk segment gescheiden door spaties (dat wil zeggen elke afzonderlijke noot) en stuurt elk segment in de juiste volgorde naar de functie parseNote().
noteIndex functie - gegeven van een teken vertegenwoordigt van een opmerking, noteIndex retourneert de positie in het octaaf. Dit wordt gebruikt om notities op het scherm plaatsen. Voorbeeld: "C" = > 0, had' = > 'E', 1, = > 2, 'R' voor rest = > 7.
parseNote functie - parseNote ontvangt een notitie String van playMusic en bepaalt de frequentie van de muzikale en andere kenmerken van de notitie. Het wordt deze waarden doorgegeven aan de opmerking handlerfunctie met de naam handleNote().
handleNote functie dit is de 'Opmerking handler' - het zowel speelt de notitie en trekt het op TFT scherm.
Deel drie - Setup en loop functies setup functies die scherm afbeeldingen tekenen en spelen muziek aanroept. Er is niets in loop - want wij de melodie een opgegeven aantal keren, niet voor onbepaalde tijd spelen.
DEEL VIER - GRAFISCHE FUNCTIES
drawStaff functie - trekt notenbalk lijnen
eraseNotes functie - wist een bovengedeelte van het scherm alvorens elke noot
Er zijn zes afzonderlijke functies die hele, halve trekken, kwart, achtste, zestiende en tweeëndertigste notities.
draw_shapes functie - gebruikt gegevens van de header bestand gramophone.h tot het opstellen van de grammofoon afbeelding gebruikt op het titelscherm.