아두이노 > 아두이노 코딩 질문입니다,.

TODAY566 TOTAL153,507
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


BASIC4MCU | 아두이노 | 아두이노 | 아두이노 코딩 질문입니다,.

페이지 정보

작성자 아리니이 작성일2018-06-07 04:59 조회58회 댓글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

조회수 58

등록된 댓글이 없습니다.

아두이노HOME > 아두이노 > 전체 목록

게시물 검색

Privacy Policy
                   MCU BASIC ⓒ 2017 모바일버전으로보기