Stap 5: Programmeren van de ARDUINO
Voor de Arduino Script, door ervoor te zorgen heb je de volgende bibliotheken:
- MIDI.h
- STEPPER.h
Voordat de code bekijkt, wat is het punt van het script?
Het maakt gebruik van een techniek genaamd MIDI callbacks. Er zijn gedocumenteerde voorbeelden die met de bibliotheek, in korte woorden komen, een midi-retouraanroep betekent dat in de void loop er alleen deze functie om te kijken van de Rx-PIN en zien of er een soort van MIDI-informatie komen. Niets meer.
Dat maakt het script als lage latentie mogelijk, omdat er geen andere dingen in de void loop die macht/verwerkingstijd.
Als er een midi-bericht binnenkomt, roept het de midi-handler ter identificatie van het bericht.
In onze script we zijn op zoek naar MIDI #CC berichten op MIDI kanaal 1 en #CC op nummer 20 en 21.
Een MIDI #CC bericht kan bestaan uit een waarde tussen 0-127, en we gebruiken nummer 20 voor draaien en nummer 21 voor het besturen van de dolly.
Ik kan niet het hele script screenshot, en wanneer u plakt het in de tekst het niet laat me formated code, dus ik zal screenshot hen in tegels. Gewoon kijken naar de nummers op de linker kant om hen terug in elkaar passen.
- Lijn 1-24
In dit deel ik definiëren de motor outs en een teller per motor, beide bibliotheken krijgen ook opgenomen en de Steppers gedefinieerd. 4096 stappen is een revolutie.
Wees voorzichtig op de motor PINS, in plaats van 1_2_3_4 het PINOUT systeem is: 1_3_2_4
Dus de pennen van onze script 9_11_10_12 en 5_7_6_8 zijn.
- REGEL 24-80
Als we zijn met behulp van midi callbacks, is dit deel waar het spul gaat in dat u doen wilt als een bepaalde MIDI-input wordt gedetecteerd.
In regel 28 lijkt als de binnenkomende MIDI-bericht wordt verzonden op MIDI cannel 1
In lijn 30 lijkt als het MIDI #CC nummer 20, en haar op #CC20 blijkt de motor voor 20 stappen afhankelijk van of de hogere of lagere dan de teller.
Het doet hetzelfde in lijn 52 voor MIDI #CC21.
- LIJN 81-116
Het laatste deel is de void setup en void loop
We de AmotA enz pinnen ingesteld op uitgangen, en de snelheid van de steppers.
Zoals eerder is vermeld wordt de void loop alleen bestaat uit de MIDI.read().
Ik voegde een PIN genaamd "pin" op PIN 13 (LED pin) om te zien als MIDI-berichten komen, maar je hoeft niet die voor het uit te voeren.