Arduino MIDI Bass pedalen (7 / 11 stap)

Stap 7: Programmering (lezing en testen van de pedaal schakelaars)

Wanneer ik een nieuwe hardware-project beginnen en ik ben bereid om de code te schrijven, ik zal altijd het testen van alle ingangen en uitgangen met een beetje schetsen dat gewoon spits alle standaardwaarden naar de seriële monitor. Op die manier die ik zien kan dat alles werkt zelfs voordat de echte code. Opslaan van dit project-specifieke code voor later is handig als er tijden waar ik hebben zal om het te uploaden opnieuw, omdat iets niet werkt, of omdat ik heb toegevoegd een andere schakelaar/knop die eerste moet testen. Met behulp van seriële monitor debuggen en testen is altijd lastig met MIDI-toepassingen, omdat zij de seriële TX-poort van de Arduino delen. (slechts één of de andere kunt de seriële poort) Het vereist commentaar uit uw seriële communicatielijnen en de MIDI-lijnen, of vice versa. U wilt ervoor zorgen dat uw output klopt voordat u beginnen met het verzenden van MIDI-berichten, omdat je enigszins blinde zijn zal tenzij u gebruikt een MIDI controletoepassing.

byte pedalPins [12] = {2,3,4,5,6,7,8,9,10,15,17,16}; de pinnen op de Arduino elke pedaal zijn op
byte lastPin [12] = {0,0,0,0,0,0,0,0,0,0,0,0};
byte currentPin [12] = {0,0,0,0,0,0,0,0,0,0,0,0};

voor (int x = 0; x < 12, x ++) {}
currentPin[x]=digitalRead(pedalPins[x]);
als (currentPin[x]!=lastPin[x]) { / / huidige en vorige PIN DO NOT MATCH, een gebeurtenis zich heeft voorgedaan

lastPin [x] = currentPin [x];
Als (currentPin[x]==0) {Serial.print ("pedaal"); Serial.Print(x+1); Serial.println ("Up"); }
Als (currentPin[x]==1) {Serial.print ("pedaal"); Serial.Print(x+1); Serial.println ("Down"); }
};
}
}

Wanneer u met een pulsdrukker werkt, teneinde herhaalde triggers van de schakelaar geduwd als de lus over en voorbij loopt, zou we meestal slaan de "laatste" waarde die de schakelaar had en vergelijken met de huidige waarde die werd net gelezen. Dan kunnen we zien dat de twee waarden niet overeenkomen, zodat we weten dat er iets veranderd. Denk aan deze wijziging als een gebeurtenis waar iets moet gebeuren. In het geval van de pedalen is de logica veranderen van 0 naar 1, of 1-0 (schakelaar open of gesloten). Gebaseerd op de richting van het evenement zou u verschillende acties, zoals het verzenden van een MIDI-notitie op of opmerking uit het bericht. In de bovenstaande code opslaan we 12 huidige en vorige waarden scheiden, één voor elke pedaal. Dit kan we ingedrukt pedaal #1, en dan pushen pedaal #5, terwijl wij #1 voeren omdat ze allemaal onafhankelijk worden bijgehouden. Het belang hiervan voor MIDI is dat je moet overeenkomstige opmerking uit om berichten te verzenden elke keer dat u een notitie met de opmerking op activeren. Als u dat niet doet, wat u hebt aangesloten synthesizer zal gewoon blijven spelen de dezelfde eentonige notities en uiteindelijk zul je 12 noten allemaal op op hetzelfde moment met niets te zeggen stoppen met spelen van de notitie. Zij zullen voor altijd spelen totdat u uw synthesizer herstelt.

De bovenstaande knipsel van test code werkt, maar het is zeer bouncy met omhoog/omlaag triggers herhaald als het pedaal is geduwd of loslaten (met name wanneer u uw voet af, zoals het pedaal letterlijk omhoog wegens het veermechanisme stuitert). Laten we debounce het in de volgende stap.

Gerelateerde Artikelen

Gemakkelijk MIDI Bass pedalen

Gemakkelijk MIDI Bass pedalen

Een gitarist vriend van mij heeft al gigging jarenlang met een set van Moog Taurus pedalen ik. Terwijl fantastisch klinkende zijn ze zware, breekbare en krijgen te waardevol om te nemen op club optredens. Wat hij nodig had was sommige voetpedalen die
Gemakkelijk MIDI Bass pedalen van uw oude toetsenbord van MIDI

Gemakkelijk MIDI Bass pedalen van uw oude toetsenbord van MIDI

Orgel pedalboards hebben bestaan sinds de 13e eeuw. Het idee is fantastisch!Kunt u uw voeten voor bas taken terwijl je vingers zijn drukke spelen van hogere registers. Natuurlijk kunt u ook MIDI pedalboards voor hogere geluiden afspelen of triggering
Arduino MIDI voet pedaal Keyboard

Arduino MIDI voet pedaal Keyboard

De oorsprongMijn vader is een muzikant. Hij kan een veelheid van instrumenten spelen. Hij heeft slechts twee takken, maar hij heeft ook benen! Dat is toen we besloten dat we opnieuw gebruikt op de voetpedalen van een oude orgel en hen in een arduino
Arduino MIDI Rockband Drumset

Arduino MIDI Rockband Drumset

deze video toont een vroeg prototype van mijn arduino MIDI rockband drumset.
Arduino Midi Foot Controller voor Ableton Live

Arduino Midi Foot Controller voor Ableton Live

Ik ben een geek. Ik weet het. Ik DIY'ing dingen. Ik kocht een 3D-printer (die zit in mijn kantoor niet werkt nu)... en zoals het bouwen van drones. Ik bijten meestal uit meer dan ik kan kauwen en vaak moet naar anderen om hulp. Dit keer rond, was het
Aangepaste Arduino MIDI Controller

Aangepaste Arduino MIDI Controller

Hallo, en welkom op dit instructable over het bouwen van een aangepaste, goedkoop en makkelijk USB MIDI-controller, gebaseerd op de Arduino. Het beste nieuws: geen gedoe met USB-naar-MIDI interfaces of softwaretools zoals Haarloze MIDI, gewoon plug '
Old-School Arduino MIDI Sequencer

Old-School Arduino MIDI Sequencer

met behulp van een standaard Arduino single-board-computer en een bord "schild", dit project creëert een MIDI-sequencer die kan opnemen en afspelen van opeenvolgingen van MIDI-noten.  Het is vergelijkbaar met de oude-school sequencers in die zin
Arduino MIDI Controller

Arduino MIDI Controller

Een MIDI-controller is een stuk van apparatuur die genereert en stuurt MIDI-data naar MIDI-apparaten. Kortom, hebt u knoppen op uw MIDI-controller, kun je deze knoppen om elk geluid dat je door muzieksoftware wilt programmeren (ex.: Ableton, Garage B
Arduino MIDI-controller - techshop met scarff boarduino

Arduino MIDI-controller - techshop met scarff boarduino

ik heb gekeken rond een aantal verschillende arduino oplossingen voor MIDI. Mijn project concept omvat meer dan 100 analoge ingangen dat elk gevoel van snelheid en voorzien van MIDI-uitgang.   Met behulp van de achtergrondinfo die ik kreeg van techsh
Arduino Midi-controller met een ZX afstand en gebaar Sensor

Arduino Midi-controller met een ZX afstand en gebaar Sensor

Welkom bij dit instructable over het bouwen van een zeer basic Midi-Controller met de SparkFun ZX afstand en gebaar Sensor. Dit instructable is onderdeel van een schoolwerk.Opmerking: Dit is geen codering tutorial. De definitieve code zal worden opge
Arduino MIDI-in shield

Arduino MIDI-in shield

dit instructable toont hoe het bouwen van een schild om verbinding maken met apparaten die MIDI-signalen (b.v. een masterkeyboard) verzenden met een Arduino.Het fundamentele schema is afgeleid van: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1187
Snelle Arduino MIDI Laser Harp

Snelle Arduino MIDI Laser Harp

Hoi!Ik heb een paar Arduino (en meer recentelijk, Olimexino) ingelijst MIDI laser harpen (zie een hier), en ik krijg regelmatig e-mails te vragen voor meer informatie over hoe een te bouwen. Ik zet dit instructable samen om een basiscursus volgen bet
Arduino Midi voetpedaal

Arduino Midi voetpedaal

als u als me bent en in een 3-koppige band (bas, drums, gitaar spelen), weet je soms het toevoegen van een beetje "oomph" naar uw liedjes door triggering van een stereo monster en echt invullen het geluid geweldig zou zijn. Probleem is er niet v
ARDUINO MIDI VIERREGELIGE MOTION CONTROL

ARDUINO MIDI VIERREGELIGE MOTION CONTROL

Dit Instructable zullen over het bouwen van een vier-line cablecam/beweging controle-eenheid.Het principe is niets nieuws Zie CATCAM.Zijn gebaseerd rond vier motoren/lieren en een controle-eenheid waarmee de motoren.KERNONDERDELENArduino UNO (of elke