BASIC4MCU | 질문게시판 | 답변 : 아두이노 저장,재생기능
페이지 정보
작성자 master 작성일2018-08-06 16:44 조회6,175회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=5261
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-08-06 오후 4:47:50// by Ok-Hyun Park////record,playback#include <SoftwareSerial.h>SoftwareSerial mySerial(2,3);//int ledPin=13;int resetMIDI=4;int btn1=13,btn2=12,btn3=11,btn4=10,#define btn12 A2 //recording#define btn13 A1 //replay//byte note=0;boolean bs1=0,bs2=0,bs3=0,bs4=0,bs12=0,bs13=0;boolean br1=0,br2=0,br3=0,br4=0,br12=0,br13=0;int bn1=60,bn2=62,bn3=64,bn4=65; //버튼1 도 //버튼2 레 //버튼3 미 //버튼4 파int patch=0;byte byteData;//void setup(){Serial.begin(31250);mySerial.begin(31250);pinMode(resetMIDI,OUTPUT); digitalWrite(resetMIDI,LOW ); delay(100); digitalWrite(resetMIDI,HIGH); delay(100);pinMode(btn1,INPUT_PULLUP); pinMode(btn2 ,INPUT_PULLUP); pinMode(btn3 ,INPUT_PULLUP);pinMode(btn4,INPUT_PULLUP); pinMode(btn12,INPUT_PULLUP); pinMode(btn13,INPUT_PULLUP);}//void loop(){br1=digitalRead(btn1); br2 =digitalRead(btn2 ); br3=digitalRead(btn3);br4=digitalRead(btn4); br12=digitalRead(btn12); br13=digitalRead(btn13);//if(!bs1&&!br1){ noteOn(0,bn1,100); bs1=true; } else if(bs1&&br1){ noteOff(0,bn1,0); bs1=false; }if(!bs2&&!br2){ noteOn(0,bn2,100); bs2=true; } else if(bs2&&br2){ noteOff(0,bn2,0); bs2=false; }if(!bs3&&!br3){ noteOn(0,bn3,100); bs3=true; } else if(bs3&&br3){ noteOff(0,bn3,0); bs3=false; }if(!bs4&&!br4){ noteOn(0,bn4,100); bs4=true; } else if(bs4&&br4){ noteOff(0,bn4,0); bs4=false; }if(!bs12&&!br12){}if(!bs13&&!br13){}if(Serial.available()>0){ byteData=Serial.read(); mySerial.write(byteData); }}//void noteOn (byte channel,byte note,byte attack_velocity ){ talkMIDI((0x90|channel),note,attack_velocity ); }void noteOff(byte channel,byte note,byte release_velocity){ talkMIDI((0x80|channel),note,release_velocity); }//void talkMIDI(byte cmd,byte data1,byte data2){digitalWrite(ledPin,HIGH);mySerial.write(cmd); mySerial.write(data1); if((cmd&0xF0)<=0xB0)mySerial.write(data2);digitalWrite(ledPin,LOW);}
질문 소스를 정리해서 올린겁니다.
원하는대로 기능을 넣는 것은 차차 만들어보죠
음색 버튼은 도레미파 4개만 사용할건가요?
댓글 1
조회수 6,175gksl님의 댓글
gksl 작성일소스가 너무 길어져서 간략하게 줄인 파일을 첨부해놓았습니당!!