ዝርዝር ሁኔታ:

መሰረታዊ የአርዱዲኖ ሚዲአይ መቆጣጠሪያ 5 ደረጃዎች
መሰረታዊ የአርዱዲኖ ሚዲአይ መቆጣጠሪያ 5 ደረጃዎች

ቪዲዮ: መሰረታዊ የአርዱዲኖ ሚዲአይ መቆጣጠሪያ 5 ደረጃዎች

ቪዲዮ: መሰረታዊ የአርዱዲኖ ሚዲአይ መቆጣጠሪያ 5 ደረጃዎች
ቪዲዮ: በ30 ቀን እራስን መለወጥ Change Yourself in 30 Days 2024, ህዳር
Anonim
መሠረታዊ የአርዱዲኖ ሚዲአይ መቆጣጠሪያ
መሠረታዊ የአርዱዲኖ ሚዲአይ መቆጣጠሪያ

መግቢያ ፦

ከአርዱዲኖ ጋር ለመስራት አዲስ ነኝ ነገር ግን ሌሎችን በማስተማር እና ግብረመልስ በመቀበል እውቀቴን ለማስፋት ተስፋ አደርጋለሁ። ይህ በ 4 አዝራሮች እና ፖታቲሞሜትር ያለው በጣም መሠረታዊ የ MIDI መቆጣጠሪያ ነው። የዚህ ፕሮጀክት ረቂቅ እንደዚህ ይመስላል

1. የዳቦ ሰሌዳውን ይገንቡ

2. ንድፉን ወደ አርዱinoኖ ይስቀሉ

3. ፀጉር አልባ የሆነውን MIDI እና የውስጥ MIDI loop (loopbe1) ይረዱ

4. የእርስዎን MIDI ወደ DAW (Ableton) ያስተላልፉ

አቅርቦቶች

1 x አርዱinoኖ ሜጋ 2560

1 x የዳቦ ሰሌዳ

1 x የዩኤስቢ ገመድ

1 x Potentiometer

4 x የታክቲክ አዝራሮች

4 x 120Ohm resistors

ለዳቦ ሰሌዳ 14 x ዝላይ ገመዶች

ደረጃ 1 የዳቦ ሰሌዳውን መገንባት

የዳቦ ሰሌዳውን መገንባት
የዳቦ ሰሌዳውን መገንባት
የዳቦ ሰሌዳውን መገንባት
የዳቦ ሰሌዳውን መገንባት

ሁሉም ክፍሎች ከላይ ካለው ምስል 1 ጋር እንዲዛመዱ የዳቦ ሰሌዳዎን ያገናኙ። እያንዳንዱ አዝራር ከምስል ጋር ተመሳሳይ መሆን አለበት 2. የአዝራር ግብዓቶች በአርዱዲኖ ላይ 2 ፣ 3 ፣ 4 እና 5 ሲሆኑ የ potentiometer መካከለኛ ፒን ከ ANALOG ግቤት A0 ጋር ተገናኝቷል።

ደረጃ 2 - ንድፉን በመስቀል ላይ

ንድፉን በመስቀል ላይ
ንድፉን በመስቀል ላይ

ከዚህ በታች ያለውን ኮድ ይቅዱ እና ወደ አርዱዲኖ አይዲኢ ይለጥፉ። በ “መሣሪያዎች” ስር ትክክለኛውን ሰሌዳ ይምረጡ እና ንድፉን ወደ አርዱinoኖ ይስቀሉ።

byte noteON = 144; // ማስታወሻ በትእዛዝ ባይት ማስታወሻ ፤ // ማከማቻ ለአሁኑ የማስታወሻ int አዝራር ፒን 1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5; int potPin = A0; boolean currentState = LOW; // stroage ለአሁኑ አዝራር ሁኔታ boolean lastState = LOW; // ማከማቻ ለመጨረሻ አዝራር ሁኔታ ባዶነት ማዋቀር () {pinMode (buttonPin1 ፣ INPUT) ፤ pinMode (አዝራር ፒን 2 ፣ ግቤት); pinMode (አዝራር ፒን 3 ፣ ግቤት); pinMode (አዝራር ፒን 4 ፣ ግቤት); // በዚህ ጊዜ ፒኑን እንደ INPUT Serial.begin (9600) እናዘጋጃለን ፣ // የመጀመርያው ግንኙነት} ባዶነት loop () {int PotVal = analogRead (potPin) ፤ ባይት ፍጥነት = ካርታ (ፖትቫል ፣ 0 ፣ 1023 ፣ 0 ፣ 127); currentState = digitalRead (buttonPin1); ከሆነ (currentState == HIGH && lastState == LOW) {MIDImessage (noteON ፣ 60 ፣ velocity) ፤ // ማስታወሻ 60 ን በ 127 የፍጥነት መዘግየት (200) ፣ // መጥፎ (የአሁን ሁኔታ ሁኔታ) = LOW && lastState == HIGH) {MIDImessage (noteON ፣ 60, 0) ፤ // ማስታወሻ 60 አጥፋ መዘግየት (2) ፤ // መጥፎ መልክ የአዝራር ቅርፅ} lastState = currentState; currentState = digitalRead (buttonPin2); ከሆነ (currentState == HIGH && lastState == LOW) {// አዝራሩ ገና ተጭኖ ከሆነ MIDImessage (noteON ፣ 61 ፣ velocity) ፤ // ማስታወሻ 60 ን በ 127 የፍጥነት መዘግየት (200) ፣ // መጥፎ ቅጽ አዝራር debouncing} ሌላ ከሆነ (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0) ፤ // turn note 60 off delay (2); // crude form of button debouncing} lastState = currentState; currentState = digitalRead (buttonPin3); ከሆነ (currentState == HIGH && lastState == LOW) {// አዝራሩ ገና ተጭኖ ከሆነ MIDImessage (noteON ፣ 62 ፣ velocity) ፤ // ማስታወሻ 60 ን በ 127 የፍጥነት መዘግየት (200) ፤ // መጥፎ መልክ አዝራር debouncing} ሌላ ከሆነ (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0) ፤ // turn note 60 off delay (2); // crude form of button debouncing} lastState = currentState; currentState = digitalRead (buttonPin4); ከሆነ (currentState == HIGH && lastState == LOW) {// አዝራሩ ገና ተጭኖ ከሆነ MIDImessage (noteON ፣ 63 ፣ velocity) ፤ // ማስታወሻ 60 ን በ 127 የፍጥነት መዘግየት (200) ፣ // መጥፎ መልክ አዝራር debouncing} ሌላ ከሆነ (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0) ፤ // turn note 60 off delay (2); // crude form of button debouncing} lastState = currentState; } // የ MIDI መልእክት ባዶ MIDImessage (ባይት ትእዛዝ ፣ ባይት ውሂብ 1 ፣ ባይት ውሂብ 2) ይላኩ {Serial.write (ትዕዛዝ) ፤ Serial.write (data1); Serial.write (data2); }

በአጠቃላይ ለመፃፍ አሁንም አዲስ ነኝ….. ትንሽ ተጨማሪ ልምድ ያላቸው ምናልባት ይህንን ሊያጸዱ ይችላሉ…

ደረጃ 3: ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት

ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት
ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት
ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት
ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት
ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት
ፀጉር አልባ MIDI እና የውስጥ MIDI Loops ን መረዳት

አርዱዲኖ እንደ ፀጉር አልባ MIDI በተከታታይ ድልድይ በኩል ከዚያም እንደ loopbe1 (ወይም IAC አውቶቡስ ለ Mac) ባለው የውስጥ MIDI loop በኩል መሮጥ አለበት።

ማሳሰቢያ -ከፀጉር አልባው የ MIDI ተከታታይ ድልድይ ጋር በሚገናኝበት ጊዜ ረቂቁን ወደ አርዱinoኖ መስቀል አይችሉም።

በ MIDI ውጭ ባለው ፀጉር አልባው MIDI ተከታታይ ወደብ እና loopbe1 ወይም IAC አውቶቡስ ውስጥ የእርስዎን አርዱዲኖ ይምረጡ።

ማስታወሻ ፦ loopbe1 ን ሲጠቀሙ ድምጸ -ከል አለመሆኑን ያረጋግጡ።

ደረጃ 4 ከእርስዎ DAW ጋር መገናኘት

ከእርስዎ DAW ጋር በመገናኘት ላይ
ከእርስዎ DAW ጋር በመገናኘት ላይ

በዳቦ ሰሌዳው ላይ አንድ ቁልፍ ሲጫኑ ለፀጉር አልባው የ MIDI መተግበሪያ ምልክት እያገኙ ከሆነ (መብራቶች ያበራሉ) የ MIDI ውሂብ ወደ DAW መላክ መቻል አለብዎት። አብሌቶን እጠቀም ነበር ፣ ግን ማንኛውም DAW መሥራት አለበት። በእርስዎ የ DAW ምርጫዎች ውስጥ የእርስዎ ውስጣዊ የ MIDI loop (loopbe1) መንቃቱን ያረጋግጡ (በ Ableton ውስጥ “ትራክ” እንዲነቃ ይፈልጋሉ)። በመቀጠል ፣ ከላይ ባለው ምስል እንደሚታየው ከ MIDI ትራክ ግብዓቶችዎ አንዱን ወደ MIDI loop (loopbe1) ይምረጡ።

ደረጃ 5: ይጫወቱ

Image
Image

አዝራሮቹ አሁን እንደማንኛውም የ MIDI መቆጣጠሪያ ይሰራሉ! ፖታቲሞሜትር ለ DAW የሚላኩትን ማስታወሻዎች ፍጥነት ይለውጣል። ከላይ ያለው (በጣም ጨለማ…) ቪዲዮ አንድ ትልቅ የፒያኖ ድምጽ በተግባር ያሳያል!

የሚመከር: