아두이노 코딩 질문입니다,.
페이지 정보
작성자 아리니이 작성일18-06-07 04:59 조회6,771회 댓글0건본문
unsigned int layerPattern1[122][6]={ //패턴
{0x1f,0x00,0x00,0x00,0x00,0x1f},{0x00,0x1f,0x00,0x00,0x1f,0x00},
{0x00,0x00,0x1f,0x1f,0x00,0x00},// 3초여유 시간
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 1 // D 2
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 3 // B 4
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 5 // D 6
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 7 // D 8
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 9 // D 10
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 11 // B 12
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 13 // D 14
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 15 // D 16
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 17 // D 18
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 19 // B 20
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 21 // D 22
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 23 // D 24
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 25 // D 26
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 27 // B 28
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 29 // D 30
{0x04,0x08,0x00,0x00,0x00,0x04},//G 31
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 32 // D 33
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 34 // B 35
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 36 // D 37
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 38 // D 39
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 40 // D 41
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 42 // B 43
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 44 // D 45
{0x04,0x08,0x00,0x00,0x00,0x04},//G 46
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 47 // D 48
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 49 // B 50
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 51 // D 52
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 53 // D 54
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 55 // D 56
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 57 // B 58
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 59 // D 60
{0x04,0x08,0x00,0x00,0x00,0x04},//G 61
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 62 // D 63
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 64 // B 65
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 66 // D 67
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 68 // D 69
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 70 // D 71
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 72 // B 73
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 74 // D 75
{0x04,0x08,0x00,0x00,0x00,0x04},//G 76
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 77 // D 78
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 79 // B 80
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 81 // D 82
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 83 // D 84
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 85 // D 86
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 87 // B 88
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 89 // D 90
{0x04,0x08,0x00,0x00,0x00,0x04},//G 91
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 92 // D 93
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 94 // B 95
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 96 // D 97
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 98 // D 99
{0x04,0x08,0x00,0x00,0x00,0x04},{0x00,0x00,0x00,0x08,0x04,0x08}, // G 100 // D 101
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 102 // B 103
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 104 // D 105
{0x04,0x08,0x00,0x00,0x00,0x04},//G 106
{0x00,0x00,0x00,0x08,0x04,0x08},// D 107
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 108 // B 109
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 110 // D 111
{0x04,0x08,0x00,0x00,0x00,0x04}, // G 112
{0x00,0x00,0x00,0x08,0x04,0x08}, // D 113
{0x00,0x08,0x08,0x00,0x00,0x00},{0x08,0x08,0x0a,0x0a,0x0a,0x08}, // Em 114 // B 115
{0x00,0x04,0x08,0x00,0x10,0x00},{0x00,0x00,0x00,0x08,0x04,0x08}, //C 116 // D 117
{0x04,0x08,0x00,0x00,0x00,0x04}, //G 118
{0x1f,0x1f,0x1f,0x1f,0x1f,0x1f} //마지막 끝나는 부분
};
int layer[6]={ 8,9,10,11,12,13};
int room[5]={ 2,3,4,5,6};
int m_layer=6;
int m_room=5;
char cmd=0;
//
void setup(){
for(int i=0; i<m_layer; i++){
pinMode(layer[i],OUTPUT); digitalWrite(layer[i],HIGH);
pinMode(room[i],OUTPUT); digitalWrite(room[i],LOW);
}
Serial.begin(9600);
Serial1.begin(9600); // bluetooth
}
//
int L1[19][3]={
{0,2,85},{2,3,70},
{ 3,33,134},{33,34,260},{34,48,134},{48,49,260},{49,63,134},{63,64,260},
{64,78,134},{78,79,260},{79,93,134},{93,94,260},{94,108,134},{108,110,260},
{110,114,134},{114,116,260},{116,120,134},{120,121,260},{121,122,3000}
};
void loop(){
if(Serial1.available()){ cmd=Serial1.read(); Serial.write(cmd); }
//
if(cmd=='1'){
for(int i=0;i<19;i++){ dispLed1(L1[i][0],L1[i][1],L1[i][2]); if(cmd!='1')break; }
}
else if(cmd=='2'){ //clear
for(int i=0;i<5;i++)digitalWrite(room[i],0);
for(int p=0;p<6;p++)LEDSetting1(layer[p],0);
cmd=0;
}
}
void LEDSetting1(int layer,unsigned int state){
digitalWrite(layer,LOW); // 층 개방
for(int i=0;i<5;i++){ digitalWrite(room[i],bitRead(state,i)); } // 호실 개방
delay(2);
for(int i=0;i<5;i++){ digitalWrite(room[i],LOW); } // 호실 닫힘
digitalWrite(layer,HIGH); // 층 닫힘
}
void dispLed1(int s,int e,int d){
for(int i=s;i<e;i++){ // 마디 구간
for(int j=0;j<d;j++){ // 딜레이 구간
for(int p=0;p<6;p++){
LEDSetting1(layer[p],layerPattern1[i][p]);
if(Serial1.available()>0){ cmd=Serial1.read(); Serial.write(cmd); if(cmd!='1')return; }
}
}
delay(10);
}
}
현재 아두이노에서 기타악보에 맞는 led를 띄우려는 코딩을 했습니다. 그런데 도중에 이해가 안가는게 아두이노에서 delay는 1000에 1초로 알고있는데 위 코딩은 L1배열변수안에 {0,2,85}부분에서 85가 딜레이 부분인데요. 85면 0.085초인데 여기서는 대략 1초 안되게 제어가 됩니다.. 그 이유를 잘 모르겟습니다.. 그리고 가능하다면 코딩 해석을 부탁드립니다.. ㅠㅠ
댓글 : 0
조회수 : 6,771
등록된 댓글이 없습니다.