시리얼모니터에 나타나는 값이 일정합니다
코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
사운드센서로 측정되는 소리량을 5개의 LED로 제어하고싶은데 질문있습니다.
민상기 | 2015-12-08
|
|
---|---|
제가 사운드센서로 5개의 LED를 소리량에 따라 제어하고싶은데 문제점도 알려주시면 감사하겠습니다. int val=0; pinMode(13,OUTPUT); pinMode(12,OUTPUT); pinMode(11,OUTPUT); pinMode(10,OUTPUT); pinMode(9,OUTPUT); pinMode(s,INPUT); Serial.begin(9600); }
void loop() { 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); }
} 이것이 짠 코딩입니다. |
|
시리얼 모니터에 나타나는 값이 일정하다면 센서에 문제가 있는듯 합니다. 이 게시판에도 몇 번 적었지만 사운드 센서를 10가지 넘게 가지고 있는데 대부분의 센서에서 소리를 잘 인지하지 못합니다. 시리얼 모니터로 출력하면 정말 스피커에 딱 붙이지 않는이상 값의 변화도 거의 없다시피 합니다. 사운드 센서가 불량인지는 모르겠지만 아마도 센서의 성능을 의심해 보는것이 제일 빠른방법인거 같습니다.
소스자체에는 문제가 없습니다. 센서에 문제가 있어서 analogRead()로 읽어오는 값이 이상할 뿐이죠. |
|
이전글 | 조이스틱-네오픽셀 질문 드립니다. | 2015-12-08 |
다음글 | 아두이노간 블루투스 통신 | 2015-12-08 |
수박쨈 2015-12-08 13:58:19
어떤 문제점이 있는지 볼려면 먼저 지금 프로그래밍한 작품에 어떤 문제가 있는지 알려주셔야 할거 같습니다.