?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

질문 | 아두이노 소리센서,DF player Mini

페이지 정보

작성자 졸업작품준비생 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일18-03-30 14:29 조회153회 댓글3건

본문

안녕하세요^^
졸업작품을 준비하고 있는 학생입니다.
제가 아두이노와 사운드센서,DF player Mini를 사용하여 아두이노 사운드센서의 일정 값이 넘으면 mp3에 있는 노래를 재생하는 작업을 하려고 하는데요!
최종 관리자님께서 올려주신 사운드 센서 코딩중 일단 led에 관련된 코딩들은 다 지운 다음에 threshold가 소리 크기 인가요? 이 크기를 제가 정하고 제가 정한 크기가 되면 노래가 재생되게 하려면 밑에 if문에 있는 threshold 값을 바꾸고 그 안에 mp3플레이어 코딩을 추가하면 되는건가요?
int led = 13; // 지운다
int threshold = 22; //Change This
int volume;
 
void setup() {               
  Serial.begin(9600); // For debugging
  pinMode(led, OUTPUT); // 지운다   
}
 
void loop() {
 
  volume = analogRead(A0); // Reads the value from the Analog PIN A0 // 이건 사운드센서 에서 마이크를 담당하고 있는 pin 번호인가요?
  /*
    //Debug mode
    Serial.println(volume);
    delay(100);
  */
 
  if(volume>=threshold){
    digitalWrite(led, HIGH); //Turn ON Led // 지운다
  } 
  else{
    digitalWrite(led, LOW); // Turn OFF Led // 지운다
  }
 
}

댓글목록

졸업작품준비생님의 댓글

졸업작품준비생 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

감사합니다^^

 

한 가지 더 여쭤보고 싶은게 있는데요.

 

제가 소리 크기에 따라 값이 다르게 출력되서 일정 크기가 넘으면 mp3 플레이가 재생되는 실험을 하려고 하는데요.

사운드 센서로 led 확인하는 작업을 통해 사운드 센서에 출력되는 값을 아두이노 시리얼 모니터로 확인했는데요.

값이 29(평소) or 1023(소리를 인식했을 경우) 두 개로만 확인이 되는데 원래 이런건가요?

 

사운드센서 led 코딩입니다.

 

int led = 11;
 int threshold = 50; //Change This
 int volume;
 
 void setup() {             
  Serial.begin(9600); // For debugging
  pinMode(led, OUTPUT);   
 }
 
 void loop() {
 
  volume = analogRead(A0); // Reads the value from the Analog PIN A0
 
    //Debug mode
    Serial.println(volume);
    delay(2000);
 
 
  if(volume>=threshold){
    digitalWrite(led, HIGH); //Turn ON Led
    delay(4000);
  }
  else{
    digitalWrite(led, LOW); // Turn OFF Led
  }
 
 }

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

혹시 사운드 센서 자체가 Digital Out 핀만을 지원하는거 아닌가요? 일정 소음 이상일 때만 HIGH 신호를 주고, 그 이하일때는 LOW 신호를 주도록 되어 있다면 그럴수도 있습니다.