Skicka och ta emot MIDI med Arduino (6 / 11 steg)

Steg 6: Grundton på, notera Off med Arduino



Denna kod skickar MIDI-meddelanden med hjälp av Arduino digital stift 1 Observera på och observera off kommandon.

Som jag förklarade i steg 3, är MIDI-kommandon för anteckning på och notera av följande:
noteON = 10010000 = 144
noteOFF = 10000000 = 128

Båda dessa kommandon är följt av två mer byte att göra en komplett MIDI-meddelande, först är Obs och andra är velocity (för mer info om vad "note" och "velocity" menar kolla in min inledande MIDI instructable). Observera och hastigheten kan variera från 0 till 127. I det här exemplet jag använde notes, från 50 till 69 (D3 till A4):
för (int Obs = 50; Observera < 70; Obs ++) {}
och jag satte hastigheten 100:
int hastighet = 100;

Så när funktionen MIDImessage() anropas i loop() av arduino skiss, skickar de tre byte:
Serial.write(command);
Serial.write(MIDInote);
Serial.write(MIDIvelocity);

om "kommandot" i funktionen MIDImessage() är noteON sedan startar noteringen, om det är noteOFF Obs slutar.

Koden nedan spelar noterna D3-A4 i en loop, det visar på en MIDI-not för 300 MS då vänta 200ms innan du slår på nästa anteckning. Jag skrev en MaxMSP lapp (du kan hämta den runtime versionen gratis) som visar den inkommande MIDI-meddelanden och fäst den nedan. Här är ett exempel video:

< pre > / *
MIDI/på meddelanden
Av Amanda Ghassaei
Juli 2012

* Detta program är fri programvara; Du kan vidaredistribuera det och/eller ändra
* det enligt villkoren i GNU General Public License som offentliggjorts av
* den Free Software Foundation; antingen version 3 av licensen, eller
* (på ditt alternativ) någon senare version.

*/

int hastighet = 100; //velocity för MIDI-noter, måste vara mellan 0 och 127
högre hastighet gör vanligtvis MIDI-instrument högre

int noteON = 144; //144 = 10010000 i binärt, notera på kommando
int noteOFF = 128; //128 = 10000000 i binärt, Anm av kommandot

void setup() {
Ställ in MIDI-baud-hastighet:
Serial.BEGIN(31250);
}

void loop() {
för (int Obs = 50; Observera < 70; Obs ++) {//from not 50 (D3) till Obs 69 (A4)
MIDImessage (noteON, Obs, velocity); //turn anteckning på
fördröjning (300); //hold anmärkning för 300 MS
MIDImessage (noteOFF, Obs, velocity); //turn anmärkning av
fördröjning (200); //wait 200ms tills utlöser nästa anteckning
}
}

skicka MIDI-meddelande
void MIDImessage (int befalla, int MIDInote, int MIDIvelocity) {
Serial.write (kommandot); //send på eller av kommandot
Serial.write (MIDInote); //send pitch data
Serial.write (MIDIvelocity); //send hastighet data
}

Se Steg
Relaterade Ämnen

Skicka och ta emot e-post med en Net10 telefon

skicka och ta emot e-post med en Net10 telefon*************TeleFlip är död - men det finns andra resurser för de "enkla" (och billigt) mobiltelefon!Steg 1: Hittade jag några snygga Instructibles om skicka och ta emot e-post med en enkel Net10 ty...

RFduino - skicka och ta emot Data Via BLE

Numera är det lätt för en att integrera bluetooth anlagen till sitt projekt. Detta är tack vare Bluetooth Low energy styrelser som RFduino. Jag fick en RFduino styrelse nyligen och tänkte dela en enkel tutorial på Skicka och ta emot data mellan RFdui...

Säkerhetssystem och tillgång kontroll med Arduino och RFID-

säkerhetssystem och tillgång kontroll med Arduino och RFIDDetta projekt är en evolotuin av mitt första projekt kallat "Arduino - Security System och Access Control"Som ni kan se på bloggen http://arduinobymyself.blogspot.com.br/2012/03/arduino-s...

Rädda en NOKIA 3310 LCD och använda den med Arduino

Detta instructable berättar hur till extraktet LCD-skärm defekt händig Nokia 3310 och att modifiera den för användning med Arduino.Jag hade en gammal defekt Nokia 3310 händig. Det inte laddar batteriet. Jag ville kasta bort, men för mig kom den idén,...

Reparation och upcycle defekta torktumlare med Arduino

Efter att ha läst massor av i'bles från andra författare tror jag det är dags att bidra själv. Det handlar om en defekt torktumlare som jag reparerat ett år eller så sedan innan jag ens visste om Instructables. Så ledsen för den delvis suddiga och nå...

Spela Ode till glädjen och annan klassisk musik med Arduino

Detta är en grundläggande handledning (bra för nybörjare!) med hjälp av Arduino Uno eller liknande version för att spela Ode till glädjen av Beethoven. Detta var en av mina första projekt med Arduino.Vad du behöver:-Arduino Uno eller liknande version...

Spara data för temperatur och luftfuktighet på MySQL med Arduino Uno och Wifly

Hej killar, jag gör detta instructable för de människor som gillade elektroniken och den botaniska, med detta du har data om temperatura och fuktigheten av din orchard och registrera detta i en data bas MySQL.För denna proyect du behöver några kunska...

Trådlös pan och tilt kamera rigga med arduino

Detta är en liten arduino projekt med de NRF24L01 trådlös sändare moduler ans 2 servomotorer.riggen styrs av en trådlös joystick och det kan hålla en kamera, laser eller något du kan tänka på.Steg 1: kravnödvändiga verktyg:3D-skrivareliten skruvmejse...

DIY TV LCD skärm med Arduino och Smart fjärrkontroll

I nästa följande steg, du gör en DIY "TV" med koden för en smart fjärrkontroll, och faktiskt spela videor och även eventuellt ansluta smart fjärrkontrollen till faktiska moderkortet.Material:Folie/spegelSolid och inte sladdrigt stabilisatoren li...

Kommunicera med arduino micro controller och dator via usb med en vb program

Om du är som mig och vill kunna styra dina objekt anslutna till din arduino via datorn måste du ett sätt att upprätta en anslutning och kommunicera med din arduino från datorn. Denna video och handledning visar dig hur man gör just det! Jag har tagit...

Styra din Tv, Dvd och ljud system med Arduino och Android

Hej alla, detta är min andra instructable och min första på engelska, så, ledsen för misstag.Jag vill dela detta projekt det handlar om hur du kan styra din Tv, DVD och ljudanläggningen med Arduino och en app för Android med app inventor.Om du gillar...

2WD röst kontrollerat Robot med Arduino och BitVoicer Server

I detta Instructable ska jag visa hur man bygger en 2WD röststyrd robot. Även om jag kontrollera endast DC motorer om du vill flytta roboten, samma tillvägagångssätt kan användas till röststyrning stegmotorer och servomotorer, så om du planerar att b...

Trådlös Audio Streaming och taligenkänning med Arduino

i detta projekt jag ansluta min Arduino ombord till en WiFly modul (https://www.sparkfun.com/products/10822) från ambulerande nätverk och strömma ljud till datorn, så att BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) kan utföra taligenkänning....

Hur man gör en mobiltelefon och dator kontrolleras 3D tryckta Robot med Arduino - IoBot.

Om du letar efter ett sätt att kontrollera en Arduino baserade enheter, kommer att denna anvisning Visa dig hur man gör det genom att bygga enkla robot.IoBot kan styras med mobil och dator ansökan via LAN eller USB-kabel. Programmet körs på Android,...

Bildskärmsmenyn ljud ATM-7 Smartphone talaren med Arduino och Blynk

Dessa dagar finns det flera sätt att genomföra flera zoner ljudet med smartphone baserad kontroll men de flesta är begränsade till ett par zoner eller kräver dyra egna rutor i varje läge (Hej! Sonos). En talare väljare ansluten till en mottagare med...

Bänk PSU strömförsörjning från gamla ATX med Arduino och LCD-skärm

Hej alla och Välkommen till min första Instructable.Jag har alltid velat en bänk PSU för enkel åtkomst till en strömkälla, och något som jag kan lita på när du arbetar med olika projekt. Jag ville ha ett NÄTAGG som:• ger 12v och 5v 3.3V utgångar• ger...

Avlägsen kontrollerade robot med Arduino och T.V. remote

Denna fjärrkontroll bil kan flyttas runt med praktiskt taget alla slags remote såsom TV, AC etc.Det använder sig av det faktum att fjärrkontrollen avger IR(infrared).Den här egenskapen är gjord använda av med hjälp av en IR-mottagare, vilket är en my...

Gränssnitt bult med Arduino: Bult UART

IntroduktionDetta instructable är gjord för bult förbrukaren vem önskan till gränssnitt bult hårdvara enheten med Arduino Uno eller helt enkelt vill experimentera med bult UART.FörutsättningarTillgång till bult IoT workshop och dess framgångsrika slu...

Styra RGB ljus från Android med Arduino & Bluetooth LE (BLE)

jag har sett en massa Kickstarter projekt med den nya Bluetooth 4.0 lågenergi-standarden och flera av Bluetooth LE (BLE) aktiverade Arduino kloner kommer ut på marknaden, men många av dessa projekt fortfarande verkar vara någonstans i produktionsproc...