Stap 13: Testen van uw apparaat
Deze sectie is een beetje lastig, omdat de modules in een van drie modi opereren kunnen: serieel (debug) mode, MIDI mode of I2C-modus. Als u een modus inschakelt, moet u de andere modi uitschakelen. Het is niet aanbevolen om te springen recht in MIDI modus want het is onmogelijk om te debuggen uw controller op deze manier.
Als u slechts één module hier gebruikt zijn de stappen.
- De foutopsporingsmodus in de code inschakelen.
- Het is essentieel dat u commentaar uit alle lijnen van code die 'usbMIDI' hebben in hen anders dat de code wordt niet gecompileerd (vervelend, maar nodig).
- Selecteer 'serial' apparaat van de Arduino tools -> USB type menu.
- Upload uw code en uw seriële monitor openen. Controleer de snelheid van de verbinding in 9600bps.
- Als uw seriële monitor is steeds overspoeld met output u heb vastgehaakt iets verkeerd of onjuist hebt bewerkt om de code te identificeren welke pinnen zijn in gebruik. Zoals ik al eerder zei, is het het beste alleen het testen van een aantal onderdelen tegelijk in plaats van allemaal tegelijk.
- Als uw seriële monitor goed werkt moet u sommige output als u interactief met de componenten werken. Deze uitgang informeert je ook welke modus nummer is gekoppeld aan elke drukknop (zodat u de modi later, indien nodig wijzigen kunt).
- Zodra alles in de seriële monitor die kunt u nu overgaan tot MIDI werkt.
- Uitschakelen debug-modus in de code.
- Selecteer 'MIDI'-apparaat van de Arduino tools -> USB type menu.
- Uncomment alle 'usbMIDI' regels uitgecommentarieerd u eerder.
- De controller is nu klaar om te verzenden MIDI-berichten worden, en uw computer moet herkennen als een native MIDI-apparaat (zo gemakkelijk zoals dat).
- Nu ik niet springen direct naar aansluiting met uw software aanraden zou, nogal, het downloaden van een gratis MIDI sniffer (er zijn er veel die er) en test uw MIDI-berichten in dat eerste.
- De sniffer, evenals uw software, moet het apparaat herkent als 'Teensy MIDI'.
- Zodra je tevreden bent met de MIDI-uitgang en gaat u verder met de toewijzing van uw controller met uw gewenste software.
Als u meer dan één module hier gebruikt zijn de stappen.
- Volg de module bovenstaande stappen voor elke module (zonder dat ze aan elkaar gekoppeld).
- Bij elk van de modules met uitzondering van de master module I2C-modus inschakelen. Nooit inschakelen voor I2C de master module.
- Nogmaals, u wilt commentaar uit alle lijnen van de 'usbMIDI'.
- Bij de master module foutopsporingsmodus inschakelen. Dus de master module zal worden uitgevoerd in de modus seriële en alle andere modules zal worden uitgevoerd in de I2C-modus.
- Alle modules met elkaar verbinden.
- Controleer de uitvoer in de seriële monitor. Berichten die worden verzonden van uw andere modules moeten nu worden weergegeven in de seriële monitor met voorvoegsels '(I2C)'.
- Nu MIDI bij alleen de master module modus inschakelen.
- Alle lijnen van de 'usbMIDI' op uw master module die u eerder uitgecommentarieerd uncomment.
- U hoeft niet te wijzigingen aanbrengt in uw andere modules, alleen de meester.
- Test uw MIDI-uitgang in de MIDI-sniffer - voila.
- Vergeet niet, moet u alle uw modules met elkaar verbinden en vervolgens de stekker in de USB. Als u de stekker in de USB voor het verbinden van de modules samen zal er geen communicatie en alle domeincontrollers zal bevriezen.
Oke, deze hele operatie is een beetje ingewikkeld, maar eens je erdoor één keer die zult u begrijpen wat hier gebeurt. Het is zeker vervelend je moet blijven commentaar/uncommenting de lijnen van de 'usbMIDI' maar het is helaas onvermijdelijk.
Er is een zekere mate van wispelturigheid die u overwinnen moet wanneer u probeert te uploaden van Arduino naar Teensy, vooral wanneer u van seriële modus naar MIDI-modus en terug overschakelt. Ik ben niet zeker wat de oorzaak van deze problemen, maar het is goed om te weten dat er niets gebroken is en als u u houden opnieuw moeten succes.
Één ding dat ik over DIY elektronica door de jaren heen opgemerkt heb is ze nooit werken de eerste keer. Er is altijd een kleine solderen blunder of verbindingsfout langs de weg. Raak niet ontmoedigd als dingen niet tijdens de eerste poging verlopen.
Iemand vroeg me, 'kan ik maak een controller die zich als een module, zowel als een standalone controller gedraagt?'. Met de code nu, geen - zou u moeten nieuwe codes uploaden om te wisselen van modi. Ik ga proberen en dit in de volgende versie van de code bevestigen. Het zal waarschijnlijk vereisen een kleine schakelaar op uw PCB installeren.