በአርዱዲኖ የራስዎን MIDI መቆጣጠሪያ ያድርጉ

MIDI

እርስዎ የሙዚቃ አፍቃሪ ወይም በቀጥታ አማተር ወይም ሙያዊ ሙዚቀኛ ከሆኑ በቤትዎ ውስጥ ብዙ የሙዚቃ መሳሪያዎችን አከማችተዋል። እነዚህ ሁሉ ድብልቅ ነገሮች ፍጹም እንዲሆኑ ለማድረግ ሀ MIDI መቆጣጠሪያ. እንደ አለመታደል ሆኖ ፣ እነዚህ ዓይነቶች ነገሮች ብዙውን ጊዜ በጣም ውድ ናቸው ፣ ስለሆነም ብዙ ሀብቶች የሌሉት ሰው ሊያቀርባቸው ለሚችሉት ነገሮች ሁሉ አስቸጋሪ መዳረሻ አለው።

የ MIDI መቆጣጠሪያ ምን እንደሆነ በተሻለ ለመረዳት ፣ MIDI የሚለው ቃል የመጣው ይነግርዎታል የሙዚቃ መሣሪያ ዲጂታል በይነገጽ፣ ማለትም ፣ የኤሌክትሮኒክ የሙዚቃ መሣሪያዎችን የሚሠራ አንድ ዓይነት ተቆጣጣሪ እርስ በእርስ መግባባት ይችላል ፡፡ ለምሳሌ በቤት ውስጥ የኤሌክትሮኒክ ቁልፍ ሰሌዳ ካለዎት MIDI በይነገጽ የመያዝ ዕድሉ ሰፊ ነው ፡፡ እድገትን ከመቀጠልዎ በፊት ፣ አንድ ሰው በሌላ መንገድ እንዲያምን የሚያደርጉ የተወሰኑ ቴክኒካዊ ዝርዝሮች ቢኖሩም ፣ በጣም ግልፅ መሆን አለበት MIDI ድምጽ አይደለም.

በዚህ ቀላል አጋዥ ስልጠና የራስዎን MIDI መቆጣጠሪያ ይፍጠሩ

ስለዚህ ጉዳይ ግልፅ ከሆንን ፣ MIDI ቀላል ብቻ መሆኑን ለመረዳት ለእርስዎ በጣም ቀላል ይሆንልዎታል እስከ 16 ገለልተኛ ሰርጦችን ለመደገፍ የሚችል መመሪያ መመሪያ፣ ይህም ማለት እርስ በእርሳቸው በተናጥል የሚነጋገሩ እስከ 16 የተለያዩ መሳሪያዎች ሊኖሩ ይችላሉ ፡፡ እነዚህ መሳሪያዎች በ 5-ሚስማር DIN ገመድ በኩል መገናኘት አለባቸው ፣ እሱም በመሠረቱ በማገናኛ ውስጥ አምስት ፒን ያለው ገመድ ነው ፡፡ እንደ ዝርዝር ከ 5-pin DIN ይልቅ ዩኤስቢን መጠቀሙ በጣም የተለመደ ነው ፣ ዩኤስቢን የምንጠቀም ከሆነ የዩኤስቢ- MIDI በይነገጽ መፍጠር አለብን ፡፡

ያለ ተጨማሪ ማጫዎቻ ፣ ሊያገኙበት የሚችሉበትን አገናኝ ትቼዎታለሁ ማጠናከሪያ ትምህርት ደረጃ በደረጃ ከብዙ ጋር ገላጭ ምስሎች የራሳችንን የ MIDI መቆጣጠሪያ ለመፍጠር ሁሉንም አስፈላጊ እርምጃዎችን የምናከናውንበት ፡፡

ተዛማጅ ጽሁፎች:
በእኛ Raspberry Pi ላይ የ Pi የተጠቃሚ ስም እና የይለፍ ቃል እንዴት እንደሚቀየር

የራስዎን MIDI መቆጣጠሪያ ከአርዱዲኖ ጋር እንዴት እንደሚሠሩ

midi አገናኝ

ሀን ለመጠቀም በተለያዩ ምክንያቶች በግልም ሆነ በባለሙያ የሚያስፈልጉ ብዙ ሰዎች አሉ ሙሉ በሙሉ ብጁ የ MIDI መቆጣጠሪያ ምክንያቱም ምናልባት እና እንደ ምሳሌ በሕይወትዎ ውስጥ እንደ አርቲስት በሆነ ጊዜ ፣ ​​ርካሽ የሆነ የ MIDI መቆጣጠሪያ መግዛትን የሚጠብቁትን ወይም ፍላጎቶችዎን አያሟላም ይሆናል ፣ ጊዜው ሲደርስ ለሙያ ስሪት መምረጥ በሁለቱም የገንዘብ ሀብቶች ውስጥ ከመጠን በላይ ሊሆን ይችላል ፡ ያስፈልጋቸዋል ፣ እንዲሁም ሊያቀርቡዋቸው የሚችሏቸው ብዛት ያላቸው ባህሪዎች።

በዚህ ምክንያት ዛሬ ለግንባታው አስፈላጊ የሆኑትን ሁሉ የሚያመለክቱ እና ሊጭኗቸው የሚፈልጓቸውን ሶፍትዌሮች ለእርስዎ እንዲያቀርቡ የራስዎን MIDI መቆጣጠሪያ እንዲያደርጉ ዛሬ የሚፈልጉትን ሁሉ ላሳይዎት እፈልጋለሁ ፡፡ እንደ ዝርዝር መረጃ ፣ ለዚህ ​​ፕሮጀክት የአርዱዲኖ ቦርድ መጠቀሙ በጣም አስፈላጊ ነው ፣ ይህንን ተግባር ለመፈፀም የሚያስችል ኃይል ያለው ተቆጣጣሪ ነው ፡፡

ተዛማጅ ጽሁፎች:
ሮቦት እንዴት እንደሚሰራ 3 የተለያዩ አማራጮች

የ MIDI መቆጣጠሪያ ምንድነው?

midi

በመሠረቱ ፣ የተለያዩ የሙዚቃ መሣሪያዎችን እርስ በእርስ ለማገናኘት የ MIDI መቆጣጠሪያ በስፋት ፣ በአጠቃላይ ሲናገር ኃላፊነት አለበት ፡፡ ብዙዎች የ MIDI በይነገጽን የሚያካትቱ መሣሪያዎች ናቸው ፣ ምንም እንኳን ብዙ ጊዜ ግራ የተጋቡ ብዙ ተጠቃሚዎች ስላሉት ይህ በጣም ግልጽ መሆን አለበት ፣ ሚዲአይ የድምጽ ፋይል አይደለም ፣ ግን አንድ መሣሪያ ሊቀበለው የሚችል በጣም ቀላል መመሪያ ነው ፡፡ የተለያዩ ቁጥጥር ለማድረግ ወይም የድምፅ ቅንጅቶች.

በ MIDI ውስጥ ሁለት የተለያዩ ዓይነቶች አሉበአንድ በኩል የመቆጣጠሪያ ቁጥሩ ያለው እና በ 0 እና 127 መካከል እሴት ያለው ለውጥ ለውጥ የሚባል እኛ አለን ለዚህም ምስጋና ይግባው እንደ ድምጽ ወይም ቃና ያሉ የተለያዩ መለኪያዎች ሊለወጡ የሚችሉ መልዕክቶች ሊወጡ ይችላሉ ፡፡ MIDI ን የሚቀበሉ የተለያዩ መሳሪያዎች የትኞቹ ሰርጦች እና መልዕክቶች በነባሪነት እንደሚዘጋጁ እና እንዴት እንደሚለወጡ የሚያብራራ መመሪያ ይዘው መምጣት አለባቸው ፡፡

በሁለተኛ ደረጃ የፕሮግራም ለውጥ አለን ፣ የተከታታይ መልእክቶች ደግሞ የለውጥ ቁጥጥሩን ከሚመሩት በጣም ቀላል ናቸው ፡፡ እነዚህ ዓይነቶች መልእክቶች የመሣሪያውን ቅድመ-ቅምጥ ወይም መጠገኛ ለመቀየር ያገለግላሉ ፡፡ በለውጥ ቁጥጥር ውስጥ እንደመሆንዎ መጠን ከመሣሪያዎ ጋር አምራቹ የትኛውን ቅድመ-ቅምጥ በአንድ በተወሰነ መልእክት እንደተለወጠ የሚያመለክት መመሪያ ማካተት አለበት ፡፡

በእራስዎ በቤትዎ የተሰራ MIDI መቆጣጠሪያን ለመገንባት የሚያስፈልጉ ክፍሎች

ሚዲ አገናኝ ንድፍ

የራስዎን MIDI መቆጣጠሪያን ለመገንባት ለ Arduino ቦርድ ቀደም ሲል እንደጠቀስነው በተጨማሪ ተከታታይ ቁርጥራጮችን ያስፈልግዎታል። ከመቀጠልዎ በፊት ፣ ምናልባት ምናልባት ለወደፊቱ ፣ ፕሮጀክቱን ለማስፋት ስለሚፈልጉ ፣ ብዙ ነገሮች ያስፈልጉዎታል ፣ ምንም እንኳን በዚህ ጊዜ በጥቂት ቁርጥራጮች ብዙ ይኖሩዎታል።

ባለ 5-ፖል ሴት DIN ገመድ ፣ 2 220 ohm resistors ፣ 2 ጊዜያዊ መቀያየርን ፣ 2 10k ohm resistors ፣ የግንኙነት ሽቦዎች ፣ የወረዳ ሰሌዳ ፣ MIDI ኬብል እና የ MIDI መሣሪያ ወይም የዩኤስቢ በይነገጽ እንፈልጋለን ፡፡ በእነዚህ ቁርጥራጮች ብቻ የራስዎን MIDI መቆጣጠሪያ ለማዘጋጀት የእኔን እርምጃዎች በመከተል መጀመር ይችላሉ ፡፡

የመጀመሪያ እርምጃዎች

አርዱዲኖ ሚዲ መርሃግብር

ከመጀመርዎ በፊት የ MIDI ገመድዎን ፒንዎች የሚያዩበትን ሥዕል ከመተውዎ በፊት በዚህ መንገድ ፒኖችን በትክክል መለየት የምንችል ሲሆን በተለይም እያንዳንዱ መገናኘት ያለበት ቦታ ነው ፡፡ በሰፊው ለመናገር በዚህ ጊዜ ማድረግ ያለብዎት ከኬብሉ ፒን 5 ን ከ 220 ohm resistor ጋር ማገናኘት እና ከዚያ ወደ አሩዲኖ ማሰራጫ 1 ፣ ፒን 4 ከ 220 ohm resistor እና ከዚያ ወደ አርዱVኖ 5 ቪ ሶኬት 2 ከእርስዎ ተቆጣጣሪዎ የከርሰ ምድር ግንኙነት ጋር መገናኘት አለበት።

አንዴ ይህ እርምጃ ከተጠናቀቀ በኋላ ከነዚህ መስመሮች በታች በሚገኘው ፎቶ ላይ ዝርዝር ንድፍ የለዎትም ፣ አዝራሮቹን ለማገናኘት ጊዜው አሁን ነው ፡፡ በዚህ ክፍል ውስጥ ያለው ሀሳብ በዲጂታል ሪድ ፒን በመጠቀም (የሚደርስበት ቮልት ሲለዋወጥ የመለየት ችሎታ አለው) ለማሳካት ትራንዚስተርን በመጠቀም በአንድ ቁልፍ መጫን ነው ፡፡ ለዚህም እኛ አንድ አዝራርን ብቻ መጠቀም አለብን ፣ ስለዚህ የግራው ጎኑ ከ 5 ቪ ፣ ከቀኝ በኩል ከ 220 ohm መቋቋም እና ከዚያ ወደ መሬት እናገናኘዋለን ፣ በምላሹም እኛ ደግሞ በቀኝ በኩል ለማያያዝ 6 ሁለተኛው አዝራር በተመሳሳይ መንገድ ይጫናል ፣ ምንም እንኳን በስዕሉ ላይ እንደሚታየው ከፒን 6 ይልቅ ከ 7 ጋር እናገናኘዋለን።

ለቤት ሚዲ መቆጣጠሪያ የሚጠቀሙበት ሶፍትዌር

አንዴ ሁሉንም ሃርድዌር ከጨረስን መሳሪያችንን እና ሙከራችንን ለማገናኘት ጊዜው አሁን ነው ፡፡ ከዚያ በፊት እኛ ሀ ያስፈልገናል የዩኤስቢ- MIDI በይነገጽ እና የ MIDI ገመድ መረጃን የሚልክ ሰሌዳውን ከኮምፒውተራችን ጋር ለማገናኘት ፡፡ ይህንን ለማሳካት በአርባዲዮንችን ላይ መጫን እና በፕሮጀክቱ ውስጥ መካተት ያለብንን ከአርባ ሰባት ተጽዕኖዎች የተውጣጡ ወንዶች የተፈጠሩትን MIDI v4.2 ቤተመፃህፍት መርጠናል ፡፡

በኮምፒዩተር ረገድ ከአርዱduኖ የሚደርሰውን ሁሉንም የ ‹MIDI› መረጃን የመቆጣጠር ችሎታ ያለው ፕሮግራም እንፈልጋለን ፡፡ ለዚህም እንደ MIDI Monitor (OS X) ፣ MIDI-OX (Windows) ወይም Kmidimon (Linux) ያሉ የተለያዩ ዕድሎች አሉን

ትንሽ ሙከራ ለማድረግ አርዱኢኖን ከኮምፒውተራችን ጋር ማገናኘት እና የሚከተሉትን ኮድ ማስፈፀም አለብን ፡፡

#include
#include
#include
#include
#include

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // crear objeto de salida MIDI llamado midiOut

void setup() {
Serial.begin(31250); // configuracion de serial para MIDI
}

void loop() {
midiOut.sendControlChange(56,127,1); // envío de señal MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal
delay(1000); // retraso
midiOut.sendProgramChange(12,1); // envío de una señal MIDI PC -- 12 = valor, 1 = canal
delay(1000); // retraso de 1 segundo
}

ሁሉም ነገር በጥሩ ሁኔታ ከሄደ ወደ የአዝራር ሙከራ መሄድ ይችላሉ ፣ ይህ ሙከራ ለእርስዎ የማይጠቅም ከሆነ ሁሉም ግንኙነቶች ትክክለኛ መሆናቸውን ማረጋገጥ አለብዎት ፣ ወረዳው ከቀዳሚው ንድፍ ፣ ወረዳው ጋር በትክክል ተመሳሳይ ነው ከዩኤስቢ-ኤምዲአይ በይነገጽ ከ ‹MIDI› ገመድ ጋር ተገናኝቷል፣ የ MIDI ወደብ ኬብሎች በትክክል ተገናኝተዋል ፣ የ MIDI ገመድ ከዩኤስቢ-ኤምዲአይ በይነገጽ ግብዓት ጋር ተገናኝቷል ፣ የአርዱኖ ቦርድ በትክክል ከኤሌክትሪክ አውታረመረብ ጋር የተገናኘ ሲሆን በቂ ኃይል አለው ...

ቁልፎቹ በትክክል እንደሚሰሩ በመሞከር ላይ

ልንጠፋባቸው በምንችላቸው አዳዲስ ተግባራት እና ኮድ ፕሮግራማችንን መመገብ ከመቀጠልዎ በፊት ለአፍታ ማቆም ጠቃሚ ነው እና ቁልፎቹ በትክክል እንደሚሰሩ ይሞክሩ. ለእነሱ የሚከተሉትን ኮድ መጫን አለብን-

const int boton1 = 6; // asignacion del boton a una variable
const int boton2 = 7; // asignacion del boton a una variable

void setup() {
Serial.begin(9600); // configuracion del serial
pinMode(boton1,INPUT); // configuracion del boton1 como entrada
pinMode(boton2,INPUT); // configuracion del boton2 como entrada
}

void loop() {

if(digitalRead(boton1) == HIGH) { // prueba de estado del boton1
delay(10); // retraso
if(digitalRead(boton1) == HIGH) { // prueba de estado de nuevo
Serial.println("Boton 1 funciona correctamente!"); // log
delay(250);
}
}

if(digitalRead(boton2) == HIGH) { // prueba de boton 2
delay(10); // retraso
if(digitalRead(boton2) == HIGH) { // prueba de estado de nuevo
Serial.println("Boton 2 funciona correctamente!"); // log
delay(250);
}
}

}

ይህ ኮድ መሰብሰብ እና መከናወን ያለበት ከዩኤስቢ ገመድ ጋር ከተያያዘ ፕሮግራሙ ማናቸውንም ቁልፎች እንደተጫኑ ይነግረናል ፡፡

በቤት ውስጥ የተሰራውን የ MIDI መቆጣጠሪያችንን እንፈጥራለን

እነዚህን ሙከራዎች ከጨረስን በኋላ ለራሳችን የ MIDI መቆጣጠሪያን ለመሰብሰብ ጊዜው አሁን ነው ፣ የሚከተሉትን ኮድ ማጠናቀር ብቻ ይጠበቅብዎታል-

#include
#include
#include
#include
#include

const int boton1 = 6; // asignamos boton a la variable
const int boton2 = 7; // asignamos boton a la variable

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // create a MIDI object called midiOut

void setup() {
pinMode(boton1,INPUT); // configuracion del boton1 como una entrada
pinMode(boton2,INPUT); // configuracion del boton2 como una entrada
Serial.begin(31250); // configuracion MIDI de salida
}

void loop() {
if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado
delay(10); // retraso
if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado de nuevo
midiOut.sendControlChange(56,127,1); // envío un MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal
delay(250);
}
}

if(digitalRead(buttonTwo) == HIGH) { // comprobacion de estado
delay(10); // retraso
if(digitalRead(buttonTwo) == HIGH) { // nueva comprobacion de estado
midiOut.sendControlChange(42,127,1); // envío un MIDI CC -- 42 = nota, 127 = velocidad, 1 = canal
delay(250);
}
}
}

እንደ ዝርዝር መረጃ ፣ በዚህ ጊዜ በ ‹MIDI› ውፅዓት የ Serial.println () ትዕዛዙን መጠቀም እንደማይችሉ ይነግርዎታል ፣ በኮምፒዩተር ላይ አንድ ዓይነት መልእክት ለማሳየት ከፈለጉ ፣ ዝም ብለው ይቀይሩ:

midiOut.sendControlChange(42,127,1);

በ-

midiOut.sendControlChange(value, channel);

ዋጋ እና ሰርጥ ሊያሳዩዋቸው የሚፈልጓቸውን የተፈለጉ እሴቶች ሊኖራቸው በሚችልበት ቦታ።

የክወና ምሳሌ:


የጽሑፉ ይዘት የእኛን መርሆዎች ያከብራል የአርትዖት ሥነ ምግባር. የስህተት ጠቅ ለማድረግ እዚህ.

4 አስተያየቶች ፣ ያንተን ተወው

አስተያየትዎን ይተው

የእርስዎ ኢሜይል አድራሻ ሊታተም አይችልም.

*

*

  1. ለመረጃው ኃላፊነት ያለው: ሚጌል Áንጌል ጋቶን
  2. የመረጃው ዓላማ-ቁጥጥር SPAM ፣ የአስተያየት አስተዳደር ፡፡
  3. ህጋዊነት-የእርስዎ ፈቃድ
  4. የመረጃው ግንኙነት-መረጃው በሕጋዊ ግዴታ ካልሆነ በስተቀር ለሶስተኛ ወገኖች አይተላለፍም ፡፡
  5. የውሂብ ማከማቻ በኦክሴንትስ አውታረመረቦች (አውሮፓ) የተስተናገደ የውሂብ ጎታ
  6. መብቶች-በማንኛውም ጊዜ መረጃዎን መገደብ ፣ መልሰው ማግኘት እና መሰረዝ ይችላሉ ፡፡

  1.   አልፍሬድ አለ

    አርዱዲኖ በራስዎ ፕሮጀክቶችን ለማካሄድ ብዙ ዕድሎችን ይሰጥዎታል https://www.juguetronica.com/arduino . በጣም ጥሩ ከሆኑ ነገሮች አንዱ ያለ ባለሙያ መሆን መጀመር እና መማር መቀጠል ይችላሉ ፣ ስለሆነም እራስዎን እንዲማሩ ያነሳሳሉ ፡፡

  2.   ዳንኤል ሮማን አለ

    ሰላም ለአንተ ይሁን.

    ይህንን ድንቅ መማሪያ ለመፈፀም እየሞከርኩ ነው… ግን # የተካተቱት አልተጠናቀቁም… ፡፡

    የትኞቹ አስፈላጊ እንደሆኑ ሊነግሩኝ ይችላሉ?

    በጣም እናመሰግናለን.

  3.   ኡል አለ

    ጤና ይስጥልኝ.
    የፓይዞኤሌክትሪክ ምልክት በሚመጣባቸው አዝራሮች በጃክ ግብዓቶች በመተካት የኤሌክትሮኒክ ከበሮ ሞዱል መሥራት እፈልጋለሁ ፡፡
    ማድረግ ይቻል ይሆን?

  4.   ኤድዋርዶ ቫሌንዙዌላ አለ

    እባክዎን የዚህ ኮድ ማጠቃለያ መስጠት ከቻሉ እኔ ለዚህ ፕሮጀክት ፍላጎት አለኝ ፡፡

የእንግሊዝኛ ሙከራካታላን ሞክርየስፓኒሽ ጥያቄዎች