정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

사운드센서로 측정되는 소리량을 5개의 LED로 제어하고싶은데 질문있습니다.
민상기 | 2015-12-08

제가 사운드센서로 5개의 LED를 소리량에 따라 제어하고싶은데 문제점도 알려주시면 감사하겠습니다.

int val=0;
const int s=2;
const int ledPin=(13,12,11,10,9);
void setup()
{

  pinMode(13,OUTPUT);

  pinMode(12,OUTPUT);

  pinMode(11,OUTPUT);

  pinMode(10,OUTPUT);

  pinMode(9,OUTPUT);

  pinMode(s,INPUT);

  Serial.begin(9600); 

}

 

void loop() {
 
 
  val = analogRead(A0);
  Serial.println(val,DEC);

  if(val > 100) {

   digitalWrite(13,HIGH);

   digitalWrite(12,HIGH);

   digitalWrite(11,HIGH);

   digitalWrite(10,HIGH);

   digitalWrite(9,HIGH);

   delay(150);

  } 

  else if(val > 85 && val<=100) {

   digitalWrite(13,LOW);

   digitalWrite(12,HIGH);

   digitalWrite(11,HIGH);

   digitalWrite(10,HIGH);

   digitalWrite(9,HIGH);

   delay(150);

  }

  else if(val > 75 && val <=85) {

   digitalWrite(13,LOW);

   digitalWrite(12,LOW);

   digitalWrite(11,HIGH);

   digitalWrite(10,HIGH);

   digitalWrite(9,HIGH);

   delay(150);  

  }

  else if(val > 65 && val <=75) {

   digitalWrite(13,LOW);

   digitalWrite(12,LOW);

   digitalWrite(11,LOW);

   digitalWrite(10,HIGH);

   digitalWrite(9,HIGH);

   delay(150);  

  }

  else if(val > 55 && val <=65) {

   digitalWrite(13,LOW);

   digitalWrite(12,LOW);

   digitalWrite(11,LOW);

   digitalWrite(10,LOW);

   digitalWrite(9,HIGH);

   delay(150);

  }

  else if(val > 45 && val <55) {

   digitalWrite(13,LOW);

   digitalWrite(12,LOW);

   digitalWrite(11,LOW);

   digitalWrite(10,LOW);

   digitalWrite(9,LOW);

   delay(150);

  }

 
  delay(200);

    

}

이것이 짠 코딩입니다.

프로필사진

수박쨈 2015-12-08 13:58:19

어떤 문제점이 있는지 볼려면 먼저 지금 프로그래밍한 작품에 어떤 문제가 있는지 알려주셔야 할거 같습니다.

프로필사진

민상기 2015-12-09 00:02:55

시리얼모니터에 나타나는 값이 일정합니다

프로필사진

수박쨈 2015-12-09 11:18:32

시리얼 모니터에 나타나는 값이 일정하다면 센서에 문제가 있는듯 합니다.

이 게시판에도 몇 번 적었지만 사운드 센서를 10가지 넘게 가지고 있는데 대부분의 센서에서 소리를 잘 인지하지 못합니다. 시리얼 모니터로 출력하면 정말 스피커에 딱 붙이지 않는이상 값의 변화도 거의 없다시피 합니다.

사운드 센서가 불량인지는 모르겠지만 아마도 센서의 성능을 의심해 보는것이 제일 빠른방법인거 같습니다.

 

소스자체에는 문제가 없습니다. 센서에 문제가 있어서 analogRead()로 읽어오는 값이 이상할 뿐이죠.

프로필사진

민상기 2015-12-09 14:03:39

아하 그렇군요... 감사합니다

 

이전글   |    조이스틱-네오픽셀 질문 드립니다. 2015-12-08
다음글   |    아두이노간 블루투스 통신 2015-12-08