እርስዎ የሙዚቃ አፍቃሪ ወይም በቀጥታ አማተር ወይም ሙያዊ ሙዚቀኛ ከሆኑ በቤትዎ ውስጥ ብዙ የሙዚቃ መሳሪያዎችን አከማችተዋል። እነዚህ ሁሉ ድብልቅ ነገሮች ፍጹም እንዲሆኑ ለማድረግ ሀ MIDI መቆጣጠሪያ. እንደ አለመታደል ሆኖ ፣ እነዚህ ዓይነቶች ነገሮች ብዙውን ጊዜ በጣም ውድ ናቸው ፣ ስለሆነም ብዙ ሀብቶች የሌሉት ሰው ሊያቀርባቸው ለሚችሉት ነገሮች ሁሉ አስቸጋሪ መዳረሻ አለው።
የ MIDI መቆጣጠሪያ ምን እንደሆነ በተሻለ ለመረዳት ፣ MIDI የሚለው ቃል የመጣው ይነግርዎታል የሙዚቃ መሣሪያ ዲጂታል በይነገጽ፣ ማለትም ፣ የኤሌክትሮኒክ የሙዚቃ መሣሪያዎችን የሚሠራ አንድ ዓይነት ተቆጣጣሪ እርስ በእርስ መግባባት ይችላል ፡፡ ለምሳሌ በቤት ውስጥ የኤሌክትሮኒክ ቁልፍ ሰሌዳ ካለዎት MIDI በይነገጽ የመያዝ ዕድሉ ሰፊ ነው ፡፡ እድገትን ከመቀጠልዎ በፊት ፣ አንድ ሰው በሌላ መንገድ እንዲያምን የሚያደርጉ የተወሰኑ ቴክኒካዊ ዝርዝሮች ቢኖሩም ፣ በጣም ግልፅ መሆን አለበት MIDI ድምጽ አይደለም.
ማውጫ
በዚህ ቀላል አጋዥ ስልጠና የራስዎን MIDI መቆጣጠሪያ ይፍጠሩ
ስለዚህ ጉዳይ ግልፅ ከሆንን ፣ MIDI ቀላል ብቻ መሆኑን ለመረዳት ለእርስዎ በጣም ቀላል ይሆንልዎታል እስከ 16 ገለልተኛ ሰርጦችን ለመደገፍ የሚችል መመሪያ መመሪያ፣ ይህም ማለት እርስ በእርሳቸው በተናጥል የሚነጋገሩ እስከ 16 የተለያዩ መሳሪያዎች ሊኖሩ ይችላሉ ፡፡ እነዚህ መሳሪያዎች በ 5-ሚስማር DIN ገመድ በኩል መገናኘት አለባቸው ፣ እሱም በመሠረቱ በማገናኛ ውስጥ አምስት ፒን ያለው ገመድ ነው ፡፡ እንደ ዝርዝር ከ 5-pin DIN ይልቅ ዩኤስቢን መጠቀሙ በጣም የተለመደ ነው ፣ ዩኤስቢን የምንጠቀም ከሆነ የዩኤስቢ- MIDI በይነገጽ መፍጠር አለብን ፡፡
ያለ ተጨማሪ ማጫዎቻ ፣ ሊያገኙበት የሚችሉበትን አገናኝ ትቼዎታለሁ ማጠናከሪያ ትምህርት ደረጃ በደረጃ ከብዙ ጋር ገላጭ ምስሎች የራሳችንን የ MIDI መቆጣጠሪያ ለመፍጠር ሁሉንም አስፈላጊ እርምጃዎችን የምናከናውንበት ፡፡
የራስዎን MIDI መቆጣጠሪያ ከአርዱዲኖ ጋር እንዴት እንደሚሠሩ
ሀን ለመጠቀም በተለያዩ ምክንያቶች በግልም ሆነ በባለሙያ የሚያስፈልጉ ብዙ ሰዎች አሉ ሙሉ በሙሉ ብጁ የ MIDI መቆጣጠሪያ ምክንያቱም ምናልባት እና እንደ ምሳሌ በሕይወትዎ ውስጥ እንደ አርቲስት በሆነ ጊዜ ፣ ርካሽ የሆነ የ MIDI መቆጣጠሪያ መግዛትን የሚጠብቁትን ወይም ፍላጎቶችዎን አያሟላም ይሆናል ፣ ጊዜው ሲደርስ ለሙያ ስሪት መምረጥ በሁለቱም የገንዘብ ሀብቶች ውስጥ ከመጠን በላይ ሊሆን ይችላል ፡ ያስፈልጋቸዋል ፣ እንዲሁም ሊያቀርቡዋቸው የሚችሏቸው ብዛት ያላቸው ባህሪዎች።
በዚህ ምክንያት ዛሬ ለግንባታው አስፈላጊ የሆኑትን ሁሉ የሚያመለክቱ እና ሊጭኗቸው የሚፈልጓቸውን ሶፍትዌሮች ለእርስዎ እንዲያቀርቡ የራስዎን 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 አስተያየቶች ፣ ያንተን ተወው
አርዱዲኖ በራስዎ ፕሮጀክቶችን ለማካሄድ ብዙ ዕድሎችን ይሰጥዎታል https://www.juguetronica.com/arduino . በጣም ጥሩ ከሆኑ ነገሮች አንዱ ያለ ባለሙያ መሆን መጀመር እና መማር መቀጠል ይችላሉ ፣ ስለሆነም እራስዎን እንዲማሩ ያነሳሳሉ ፡፡
ሰላም ለአንተ ይሁን.
ይህንን ድንቅ መማሪያ ለመፈፀም እየሞከርኩ ነው… ግን # የተካተቱት አልተጠናቀቁም… ፡፡
የትኞቹ አስፈላጊ እንደሆኑ ሊነግሩኝ ይችላሉ?
በጣም እናመሰግናለን.
ጤና ይስጥልኝ.
የፓይዞኤሌክትሪክ ምልክት በሚመጣባቸው አዝራሮች በጃክ ግብዓቶች በመተካት የኤሌክትሮኒክ ከበሮ ሞዱል መሥራት እፈልጋለሁ ፡፡
ማድረግ ይቻል ይሆን?
እባክዎን የዚህ ኮድ ማጠቃለያ መስጠት ከቻሉ እኔ ለዚህ ፕሮጀክት ፍላጎት አለኝ ፡፡