Stap 14: MIDI functionaliteit toevoegen
MIDI in één oogopslag
MIDI kan een complexe en enorm krachtig protocol, en als zodanig, er zijn vele soorten van berichten die u vanuit uw Teensy verzenden kunt. Als je zo geneigd, en wil je MIDI speeltje naar het volgende niveau te nemen, stel ik voor eerst meer te leren over wat u vanuit uw Teensy van deze nuttige pagina van PJRC verzenden kunt over het gebruik van MIDI op de Teensy.
Om de dingen simpel te houden, maar we zijn alleen gaan richten op twee specifieke soorten berichten in dit Instructable: Opmerking over en Opmerking af. Er is geen echte mysterie op deze berichten, ze doen precies wat je verwachten dat ze; ze vertellen het apparaat uw controller aangesloten op dat het moet starten of stoppen met het spelen van een specifieke muzikale noot. U kunt leren over andere soorten berichten, zoals controle wijzigingen (CC) en sysex berichten om meer geavanceerde effecten, maar we gewoon houd het simpel voor nu.
Met behulp van de Arduino schets
De schets van de Arduino aangesloten op deze stap moet kijken bekend, omdat het sterk is gebaseerd op de schets gebruikt in stap 11. Alle debouncing code is nog op zijn plaats, maar een paar nieuwe variabelen zijn toegevoegd:
matrix van midiNotes [] = array van MIDI Opmerking getallen die gekoppeld aan de pinnen in de array van knoppen [] vermeld worden moeten. Bijvoorbeeld, als de code ziet dat u op te drukken of het vrijgeven van knoppen [5], stuurt zij passende MIDI-berichten om te zetten in- en uitschakelen van de MIDI-opmerking in midiNotes [5].
kanaal = all MIDI berichten moet zijn op een bepaalde zender gestuurd. Hierdoor kan meer dan één apparaat te worden aangesloten op een MIDI-keten en interactie met sequencers en synthesizers.
Vergeet niet om te veranderen van het Type USB uw Teensy!!
Uw Teensy is geschikt voor het verzenden van dat MIDI-berichten alleen wanneer deze is geconfigureerd als een MIDI-apparaat! Om dit te doen, ga naar de Tools > USB Type menu en selecteer "MIDI". Downside aan dit is dat in de MIDI-modus u kunt geen berichten verzenden of seriële ontvangen. Dit is de reden waarom we deden alle te debuggen in vorige stappen - u moet er al op bedacht als alle van uw pinnen werkt, we gewoon toevoegt aan het werkende systeem in deze stap!