Arduino తో మీ స్వంత MIDI కంట్రోలర్‌ను తయారు చేయండి

MIDI

మీరు సంగీత ప్రేమికులైతే లేదా నేరుగా te త్సాహిక లేదా వృత్తిపరమైన సంగీత విద్వాంసులైతే, ఖచ్చితంగా మీ ఇంటిలో మీరు సంగీత వాయిద్యాల పెద్ద సేకరణను సేకరించారు. ఈ మిశ్రమాన్ని సంపూర్ణంగా చేయడానికి, ఒక పొందడం ఉత్తమం మిడి కంట్రోలర్. దురదృష్టవశాత్తు, ఈ రకమైన వస్తువులు సాధారణంగా చాలా ఖరీదైనవి, కాబట్టి ఎక్కువ వనరులు లేని వ్యక్తికి వారు అందించే ప్రతిదాన్ని యాక్సెస్ చేయడం కష్టం.

మిడి కంట్రోలర్ అంటే ఏమిటో బాగా అర్థం చేసుకోవడానికి, మిడి అనే పదం వచ్చిందని మీకు చెప్పండి మ్యూజికల్ ఇన్స్ట్రుమెంట్ డిజిటల్ ఇంటర్ఫేస్అంటే, ఎలక్ట్రానిక్ సంగీత పరికరాలను ఒకదానితో ఒకటి సంభాషించగలిగేలా చేసే ఒక రకమైన నియంత్రిక. మీరు ఇంట్లో ఎలక్ట్రానిక్ కీబోర్డ్ కలిగి ఉంటే, ఉదాహరణకు, దీనికి మిడి ఇంటర్ఫేస్ ఉండే అవకాశం ఉంది. ముందుకు సాగడానికి ముందు, కొన్ని సాంకేతిక వివరాలు ఉన్నప్పటికీ, ఒకరిని నమ్మడానికి దారితీస్తుంది, అది చాలా స్పష్టంగా ఉండాలి మిడి ఆడియో కాదు.

ఈ సాధారణ ట్యుటోరియల్‌తో మీ స్వంత MIDI కంట్రోలర్‌ను సృష్టించండి

మేము దీని గురించి స్పష్టంగా తెలుసుకున్న తర్వాత, మిడి కేవలం ఒక సాధారణమని మీరు అర్థం చేసుకోవడం చాలా సులభం 16 స్వతంత్ర ఛానెల్‌లకు మద్దతు ఇవ్వగల బోధనా సెట్అంటే, ఒకదానితో ఒకటి స్వతంత్రంగా కమ్యూనికేట్ చేసే 16 వేర్వేరు పరికరాలు ఉండవచ్చు. ఈ పరికరాలను 5-పిన్ DIN కేబుల్ ద్వారా అనుసంధానించాలి, ఇది ప్రాథమికంగా కనెక్టర్ లోపల ఐదు పిన్‌లతో కూడిన కేబుల్. వివరంగా, 5-పిన్ డిఎన్‌కు బదులుగా యుఎస్‌బిని ఉపయోగించడం చాలా సాధారణం, యుఎస్‌బిని ఉపయోగిస్తే మనం తప్పక యుఎస్‌బి-మిడి ఇంటర్‌ఫేస్‌ను సృష్టించాలి.

మరింత శ్రమ లేకుండా, మీరు కనుగొనగలిగే లింక్‌తో నేను మిమ్మల్ని వదిలివేస్తున్నాను ట్యుటోరియల్ చాలా స్టెప్ బై స్టెప్ వివరణాత్మక చిత్రాలు ఇక్కడ మన స్వంత మిడి కంట్రోలర్‌ను రూపొందించడానికి అవసరమైన అన్ని చర్యలను చేయవచ్చు.

సంబంధిత వ్యాసం:
మా రాస్ప్బెర్రీ పై పై వినియోగదారు పేరు మరియు పాస్వర్డ్ను ఎలా మార్చాలి

Arduino తో మీ స్వంత MIDI నియంత్రికను ఎలా తయారు చేయాలి

మిడి కనెక్టర్

వ్యక్తిగత మరియు వృత్తిపరమైన వివిధ కారణాల వల్ల, ఉపయోగించాల్సిన అవసరం చాలా మంది పూర్తిగా అనుకూల MIDI నియంత్రిక బహుశా మరియు ఉదాహరణగా, కళాకారుడిగా మీ జీవితంలో ఏదో ఒక సమయంలో, చవకైన మిడి కంట్రోలర్‌ను కొనడం మీ అంచనాలను లేదా అవసరాలను తీర్చలేకపోవచ్చు, సమయం వచ్చినప్పుడు, వృత్తిపరమైన సంస్కరణను ఎంచుకోవడం రెండు ఆర్థిక వనరులలో అధికంగా ఉండవచ్చు. అవసరం, అలాగే వారు అందించే అధిక సంఖ్యలో లక్షణాలు.

ఈ కారణంగా, ఈ రోజు నేను మీకు అవసరమైన ప్రతిదాన్ని మీకు చూపించాలనుకుంటున్నాను, తద్వారా మీరు మీ స్వంత మిడి కంట్రోలర్‌ను తయారు చేసుకోవచ్చు, దాని నిర్మాణానికి అవసరమైన ప్రతిదాన్ని సూచిస్తుంది మరియు మీరు ఇన్‌స్టాల్ చేయాల్సిన సాఫ్ట్‌వేర్‌ను మీకు అందిస్తుంది. వివరంగా, ఈ ప్రాజెక్ట్ కోసం ఆర్డునో బోర్డ్ యొక్క ఉపయోగం అవసరం, ఈ పనిని నిర్వహించడానికి తగినంత శక్తివంతమైన నియంత్రిక.

సంబంధిత వ్యాసం:
రోబోట్ ఎలా తయారు చేయాలి: 3 వేర్వేరు ఎంపికలు

మిడి కంట్రోలర్ అంటే ఏమిటి?

MIDI

ప్రాథమికంగా, విభిన్న సంగీత పరికరాలను ఒకదానితో ఒకటి కనెక్ట్ చేయడానికి MIDI కంట్రోలర్ బాధ్యత వహిస్తుంది, విస్తృతంగా చెప్పాలంటే. చాలా మంది మిడి ఇంటర్‌ఫేస్‌ను కలిగి ఉన్న సాధనాలు, చాలా మంది వినియోగదారులు తరచుగా గందరగోళానికి గురవుతున్నందున ఇది చాలా స్పష్టంగా ఉండాలి, మిడి ఆడియో ఫైల్ కాదు, కానీ ఒక పరికరం అందుకోగల చాలా సరళమైన సూచనలు. విభిన్న నియంత్రణ చేయడానికి లేదా ధ్వని సెట్టింగ్‌లు.

MIDI లోపల రెండు వేర్వేరు రకాలు ఉన్నాయిఒక వైపు మనకు కంట్రోల్ నంబర్ మరియు 0 మరియు 127 మధ్య విలువ ఉన్న చేంజ్ కంట్రోల్ అని పిలుస్తారు. దీనికి ధన్యవాదాలు, వాల్యూమ్ లేదా టోన్ వంటి విభిన్న పారామితులను మార్చగల సందేశాలను జారీ చేయవచ్చు. MIDI ని అంగీకరించే వివిధ సాధనాలు డిఫాల్ట్‌గా ఏ ఛానెల్‌లు మరియు సందేశాలను సెట్ చేస్తాయో మరియు వాటిని ఎలా మార్చాలో వివరించే మాన్యువల్‌ను వారితో తీసుకురావాలి.

రెండవ స్థానంలో మనకు ప్రోగ్రామ్ మార్పు ఉంది, మార్పు నియంత్రణను తయారుచేసే సందేశాల కంటే చాలా సరళమైన సందేశాల శ్రేణి. పరికరం యొక్క ప్రీసెట్ లేదా పాచ్ మార్చడానికి ఈ రకమైన సందేశాలు ఉపయోగించబడతాయి. మార్పు నియంత్రణలో వలె, మీ పరికరంతో పాటు తయారీదారు తప్పనిసరిగా ఒక నిర్దిష్ట సందేశం ద్వారా ఏ ప్రీసెట్లు మార్చబడ్డాయో సూచించే మాన్యువల్‌ను కలిగి ఉండాలి.

మీ స్వంత ఇంటిలో తయారు చేసిన మిడి కంట్రోలర్‌ను నిర్మించడానికి అవసరమైన భాగాలు

మిడి కనెక్టర్ స్కీమాటిక్

మీ స్వంత మిడి కంట్రోలర్‌ను నిర్మించగలిగేలా చేయడానికి, మేము ఇప్పటికే చెప్పినట్లుగా, ఆర్డునో బోర్డుతో పాటు మీకు వరుస ముక్కలు అవసరం. కొనసాగడానికి ముందు, భవిష్యత్తులో, మీరు ప్రాజెక్ట్ను విస్తరించాలనుకుంటున్నందున, మీకు మరిన్ని విషయాలు కావాలి, అయితే ఈ సమయంలో కొన్ని ముక్కలతో మీకు పుష్కలంగా ఉంటుంది.

మాకు ఆడ 5-పోల్ DIN కేబుల్, 2 220 ఓం రెసిస్టర్లు, 2 మొమెంటరీ స్విచ్‌లు, 2 10 కె ఓం రెసిస్టర్లు, కనెక్షన్ వైర్లు, ఒక సర్క్యూట్ బోర్డ్, మిడి కేబుల్ మరియు ఒక మిడి పరికరం లేదా యుఎస్‌బి ఇంటర్ఫేస్ అవసరం. ఈ భాగాలతో మీరు మీ స్వంత మిడి కంట్రోలర్‌ను తయారు చేయడానికి, నా దశలను అనుసరించి ప్రారంభించవచ్చు.

మొదటి దశలు

ఆర్డునో మిడి స్కీమాటిక్

ప్రారంభించే ముందు నేను మీ మిడి కేబుల్ యొక్క పిన్నులను చూడగలిగే చిత్రాన్ని మీకు వదిలివేస్తాను, ఈ విధంగా మేము పిన్‌లను సరిగ్గా గుర్తించగలము మరియు ముఖ్యంగా ప్రతి ఒక్కటి కనెక్ట్ చేయబడాలి. స్థూలంగా చెప్పాలంటే, ఈ సమయంలో మీరు చేయాల్సిందల్లా కేబుల్ యొక్క పిన్ 5 ను 220 ఓం రెసిస్టర్‌కు కనెక్ట్ చేయండి మరియు అక్కడ నుండి ఆర్డునో ట్రాన్స్మిట్ 1, పిన్ 4 ను 220 ఓం రెసిస్టర్‌కు మరియు అక్కడి నుండి 5 వి సాకెట్ ఆర్డ్యునోకు పిన్ చేస్తున్నప్పుడు 2 మీ కంట్రోలర్ యొక్క గ్రౌండ్ కనెక్షన్‌కు కనెక్ట్ అయి ఉండాలి.

ఈ దశ పూర్తయిన తర్వాత, ఈ పంక్తుల క్రింద ఉన్న ఫోటోలో మీకు వివరణాత్మక రేఖాచిత్రం లేదు, బటన్లను కనెక్ట్ చేయడానికి ఇది సమయం. ఈ విభాగంలో ఉన్న ఆలోచన ఏమిటంటే, డిజిటల్ రీడ్ పిన్ను ఉపయోగించి (దానిని చేరుకున్న వోల్టేజ్ మారినప్పుడు గుర్తించగల సామర్థ్యం) ఒక బటన్‌ను నొక్కడం ద్వారా, సాధించడానికి ట్రాన్సిస్టర్‌ను ఉపయోగించగలదు. దీని కోసం మనం ఒక బటన్‌ను మాత్రమే ఉపయోగించాలి, దాని ఎడమ వైపు మనం 5V కి, కుడి వైపు 220 ఓం రెసిస్టెన్స్‌కు మరియు అక్కడి నుండి భూమికి కనెక్ట్ చేస్తాము, అయితే, కుడి వైపున పిన్ 6 కి కనెక్ట్ చేస్తాము రెండవ బటన్ అదే విధంగా ఇన్‌స్టాల్ చేయబడుతుంది, అయితే మీరు రేఖాచిత్రంలో చూడగలిగినట్లుగా, పిన్ 6 కు బదులుగా మేము దానిని 7 కి కనెక్ట్ చేస్తాము.

హోమ్ మిడి కంట్రోలర్ కోసం ఉపయోగించాల్సిన సాఫ్ట్‌వేర్

మేము అన్ని హార్డ్‌వేర్‌లను పూర్తి చేసిన తర్వాత, మా పరికరాన్ని కనెక్ట్ చేసి పరీక్షించడానికి సమయం ఆసన్నమైంది. దీనికి ముందు మనకు a ఉండాలి USB-MIDI ఇంటర్ఫేస్ మరియు MIDI కేబుల్ డేటాను పంపుతున్న బోర్డును మా కంప్యూటర్‌తో కనెక్ట్ చేయడానికి. దీన్ని సాధించడానికి, నలభై సెవెన్ ఎఫెక్ట్స్ నుండి కుర్రాళ్ళు సృష్టించిన MIDI v4.2 లైబ్రరీని ఎంచుకున్నాము, అది మన ఆర్డునోలో ఇన్‌స్టాల్ చేసి, ప్రాజెక్ట్‌లో చేర్చాలి.

కంప్యూటర్ విషయంలో, ఆర్డునో నుండి వచ్చిన అన్ని మిడి డేటాను పర్యవేక్షించగల ఒక ప్రోగ్రామ్ మాకు అవసరం. దీని కోసం మాకు మిడి మానిటర్ (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 కేబుల్‌తో USB-MIDI ఇంటర్‌ఫేస్‌కు కనెక్ట్ చేయబడింది, MIDI పోర్ట్ కేబుల్స్ సరిగ్గా అనుసంధానించబడి ఉన్నాయి, MIDI కేబుల్ USB-MIDI ఇంటర్ఫేస్ యొక్క ఇన్పుట్కు అనుసంధానించబడి ఉంది, Arduino బోర్డు ఎలక్ట్రికల్ నెట్‌వర్క్‌కు సరిగ్గా అనుసంధానించబడి ఉంది మరియు తగినంత శక్తిని కలిగి ఉంది ...

బటన్లు సరిగ్గా పనిచేస్తాయని పరీక్షిస్తోంది

మన ప్రోగ్రామ్‌ను క్రొత్త కార్యాచరణలు మరియు కోడ్‌తో పోషించడాన్ని కొనసాగించే ముందు, మనం కోల్పోయే అవకాశం ఉంది, ఇది ఒక క్షణం ఆగిపోవటం విలువ బటన్లు సరిగ్గా పనిచేస్తాయని పరీక్షించండి. వాటి కోసం మనం ఈ క్రింది కోడ్‌ను లోడ్ చేయాలి:

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);
}
}

}

ఈ కోడ్‌ను కంపైల్ చేసి ఎగ్జిక్యూట్ చేయాలి, తద్వారా USB కేబుల్ కనెక్ట్ చేయబడి, ఏదైనా బటన్లు నొక్కినట్లయితే ప్రోగ్రామ్ మాకు చెబుతుంది.

మేము మా ఇంట్లో మిడి కంట్రోలర్‌ను సృష్టిస్తాము

మేము ఈ పరీక్షలను అమలు చేసిన తర్వాత, దాని కోసం మా స్వంత మిడి కంట్రోలర్‌ను సమీకరించే సమయం వచ్చింది, మీరు ఈ క్రింది కోడ్‌ను మాత్రమే కంపైల్ చేయాలి:

#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. డేటా యొక్క ఉద్దేశ్యం: కంట్రోల్ స్పామ్, వ్యాఖ్య నిర్వహణ.
  3. చట్టబద్ధత: మీ సమ్మతి
  4. డేటా యొక్క కమ్యూనికేషన్: డేటా చట్టపరమైన బాధ్యత ద్వారా తప్ప మూడవ పార్టీలకు తెలియజేయబడదు.
  5. డేటా నిల్వ: ఆక్సెంటస్ నెట్‌వర్క్స్ (EU) హోస్ట్ చేసిన డేటాబేస్
  6. హక్కులు: ఎప్పుడైనా మీరు మీ సమాచారాన్ని పరిమితం చేయవచ్చు, తిరిగి పొందవచ్చు మరియు తొలగించవచ్చు.

  1.   ఆల్ఫ్రెడ్ అతను చెప్పాడు

    Arduino మీ స్వంతంగా ప్రాజెక్టులను చేపట్టడానికి మీకు అనేక అవకాశాలను అందిస్తుంది https://www.juguetronica.com/arduino . ఒక మంచి విషయం ఏమిటంటే, మీరు నిపుణుడిగా లేకుండా ప్రారంభించి, నేర్చుకోవడం కొనసాగించవచ్చు, తద్వారా మిమ్మల్ని మీరు స్వయంగా బోధించడానికి ప్రేరేపిస్తారు.

  2.   డేనెల్ రోమన్ అతను చెప్పాడు

    శుభాకాంక్షలు.

    నేను ఈ అద్భుతమైన ట్యుటోరియల్‌ని నిర్వహించడానికి ప్రయత్నిస్తున్నాను… కానీ # కలుపుకోవడం పూర్తి కాలేదు….

    ఏవి అవసరమో మీరు నాకు చెప్పగలరా?

    చాలా ధన్యవాదాలు.

  3.   ఉల్ అతను చెప్పాడు

    హలో.
    బటన్లను జాక్ ఇన్‌పుట్‌లతో భర్తీ చేయడం ద్వారా పైజోఎలెక్ట్రిక్ సిగ్నల్ వచ్చే ఎలక్ట్రానిక్ డ్రమ్ మాడ్యూల్‌ను తయారు చేయాలనుకుంటున్నాను.
    దీన్ని చేయడం సాధ్యమేనా?

  4.   ఎడ్వర్డో వాలెన్జులా అతను చెప్పాడు

    దయచేసి మీరు ఈ కోడ్‌ను చేర్చగలిగితే, నాకు ఈ ప్రాజెక్ట్ పట్ల ఆసక్తి ఉంది.

ఇంగ్లీష్ పరీక్షపరీక్ష కాటలాన్స్పానిష్ క్విజ్