Мазмуну:
- Жабдуулар
- 1 -кадам: Нан тактасын куруу
- 2 -кадам: Эскизди жүктөө
- 3 -кадам: Чачсыз MIDI жана Ички MIDI циклдерин түшүнүү
- 4 -кадам: DAWге туташуу
- 5 -кадам: Ойноңуз
Video: Негизги Arduino MIDI Controller: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Киришүү:
Мен Arduino менен жаңы иштеп жатам, бирок башкаларга үйрөтүү жана пикир алуу аркылуу билимимди кеңейтем деп үмүттөнөм. Бул 4 баскычка жана потенциометрге ээ болгон эң негизги MIDI контроллери. Бул долбоордун схемасы мындай көрүнөт:
1. Нан тактасын куруңуз
2. Эскизди Arduinoго жүктөңүз
3. Чачсыз MIDI жана ички MIDI укуругун түшүнүңүз (loopbe1)
4. MIDI'ни DAWка (Ableton) багыттоо
Жабдуулар
1 x Arduino Mega 2560
1 х нан тактасы
1 x USB кабели
1 x потенциометр
4 x Tact Buttons
4 x 120Ohm каршылыгы
Нан үчүн 14 х секирүүчү кабель
1 -кадам: Нан тактасын куруу
Нан тактаңызды бардык компоненттер жогорудагы 1 -сүрөттө дал келиши үчүн туташтырыңыз. Ар бир баскыч 2 -сүрөттө окшош болушу керек. Түймөнүн кириши Arduinoдо 2, 3, 4 жана 5, потенциометрдин ортоңку пини ANALOG A0 киришине туташкан.
2 -кадам: Эскизди жүктөө
Төмөндөгү кодду көчүрүп, Arduino IDEге чаптаңыз. "Куралдар" астындагы туура тактаны тандап, эскизди Arduinoго жүктөңүз.
byte noteON = 144; // commandbyte note боюнча эскертүү; // учурда ойнотуу үчүн сактагыч int buttonPin1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5; int potPin = A0; логикалык currentState = ТӨМӨН; // учурдагы баскычтын абалы үчүн стратеги логикалык lastState = LOW; // акыркы баскычтын абалын сактоо үчүн боштукту орнотуу () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // бул жолу биз пинди INPUT Serial.begin (9600) катары коебуз; // Serial connection} void loop () {int PotVal = analogRead (potPin); байт ылдамдыгы = карта (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, ылдамдык); // 127 эскертмени 127 ылдамдыкта кечиктирүү менен күйгүзүү (200); // баскычтын дебунунун орой формасы} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // 60 эскертүүнү кечиктирүүнү өчүрүү (2); // баскычтын дебунунун орой формасы} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// if button MIDImessage басылган болсо (noteON, 61, ылдамдык); дебунинг} else if if (currentState == LOW &&StState == HIGH) {MIDImessage (noteON, 60, 0); // note 60 өчүрүү кечигүү (2); // баскычтын дебундун орой формасы} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && LastState == LOW) {// if button MIDImessage жаңы басылган болсо (noteON, 62, ылдамдык); дебунинг} else if if (currentState == LOW && LastState == HIGH) {MIDImessage (noteON, 60, 0); // note 60 өчүрүү кечигүү (2); // баскычтын дебундун орой формасы} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && LastState == LOW) {// if MIDImessage баскычы жаңы басылган болсо (noteON, 63, ылдамдык); дебунинг} else if if (currentState == LOW &&StState == HIGH) {MIDImessage (noteON, 60, 0); // note 60 өчүрүү кечигүү (2); // баскычтын дебундун орой формасы} lastState = currentState; } // MIDI билдирүүсүн жокко чыгаруу MIDImessage (байт буйругу, байт data1, байт data2) {Serial.write (команда); Serial.write (data1); Serial.write (data2); }
Мен жалпысынан код жазуу үчүн дагы эле жаңы … …. бир аз тажрыйбасы барлар, балким, муну тазалап коюшу мүмкүн …
3 -кадам: Чачсыз MIDI жана Ички MIDI циклдерин түшүнүү
Arduino чачсыз MIDI сыяктуу сериялык көпүрөдөн өтүшү керек, андан кийин loopbe1 (же Mac үчүн IAC автобус) сыяктуу ички MIDI цикли аркылуу өтүшү керек.
Эскертүү: сиз эскизди Arduinoго түксүз MIDI сериялык көпүрөсүнө туташып турганда жүктөй албайсыз.
Hairless MIDI сериялык портунда Arduino тандап, MIDIде loopbe1 же IAC Bus тандаңыз.
Эскертүү: loopbe1ди колдонууда үнсүз эмес экенин текшериңиз.
4 -кадам: DAWге туташуу
Эгерде сиз панелдин баскычын басканыңызда Hairless MIDI колдонмосуна сигнал алсаңыз (жарыктар күйүп калат), сиз MIDI маалыматын DAWке жөнөтө алышыңыз керек. Мен Аблетонду колдондум, бирок ар кандай DAW иштеши керек. Сиздин ички MIDI циклыңыз (loopbe1) DAW каалоолоруңузда иштетилгенин текшериңиз (Аблетондо сиз "тректи" иштетүүнү каалайсыз). Андан кийин, жогоруда сүрөттө көрсөтүлгөндөй MIDI циклине (loopbe1) MIDI тректиңиздин бирин тандаңыз.
5 -кадам: Ойноңуз
Эми баскычтар башка MIDI контроллери сыяктуу иштейт! Потенциометр DAWка жөнөтүлүп жаткан ноталардын ылдамдыгын өзгөртөт. Жогорудагы (өтө караңгы…) видео роялдын үнүн көрсөтүп турат!
Сунушталууда:
NAIN 1.0 - Arduino колдонуучу негизги гуманоид робот: 6 кадам
NAIN 1.0 - Arduino колдонуучу негизги гуманоид робот: Nain 1.0 негизинен 5 ажыратылуучу модулга ээ болот- 1) Arm - аларды servos аркылуу башкарса болот. 2) Wheels - аларды DC кыймылдаткычтары менен башкарууга болот. 3) Бут - Наин кыймыл үчүн дөңгөлөктөрдү же буттарды алмаштыра алат. 4) Баш жана
Arduino Bluetooth негизги үйрөткүчү: 6 кадам (сүрөттөр менен)
Arduino Bluetooth Негизги Үйрөткүчү: UPDATE: Бул макаланын ЖАҢЫРТЫЛГАН ВЕРСИЯСЫН МЫНА ЖЕРДЕН ТААНУУГА БОЛОТ Смартфонуңуз менен электрондук түзүлүштөрдү башкарууну ойлонуп көрдүңүз беле? Роботту же смартфонуңуз менен башка түзмөктөрдү башкаруу чындап эле сонун болот. Бул жерде жөнөкөй жана жөнөкөй
Негизги Arduino Light Intensity Lamp !: 5 кадам
Негизги Arduino Light Intensity Lamp!: Бүгүнкү схема - бул карантин үчүн кызыктуу кичинекей Arduino долбоору! Бул схема эки кызыктуу материалга багытталган; Эстафета SPDT & Photoresistor. Мындан тышкары, реленин максаты - электрдик схемада которуу. Мындан тышкары, фотор
Arduino Uno үйрөткүчү #1 - Негизги көз ирмөө программасы: 4 кадам
Arduino Uno үйрөткүчү #1 - Негизги көз ирмөө программасы: Баарына салам! Мен биринчи көрсөтмөмдү жарыялаганыма кубанычтамын! Бул идея мага Arduino Uno менен иштөөдө кыйынчылыктар болгондо келди, ошондуктан мен кыйынчылыктарга туш болгондо бул жердеги noobiesке мен түшүнбөгөн нерселерди түшүндүрүп берем
6 жашта Arduino үчүн Scratch менен негизги светофор түзүү: 3 кадам
6 жашта Arduino үчүн Scratch менен негизги светофор түзүү: Уулум менин Arduino долбоорлорума кызыгып жүргөн. Ал Snap Circuits менен бир аз ойноп, LEGO дагы кээ бир Scratch долбоорлорун кура баштады.Ардуино үчүн Scratch менен ойноо биз үчүн бир аз убакыт болду. Бул биздин биринчи долбоор. Об