에듀이노-아두이노 전문 교육쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰
뒤로가기

상품후기

제목

작동을 안합니다.

작성자 강****(ip:)

작성일 2018-04-21

조회 801

평점 5점  

추천 0 추천하기

내용

안녕하세요.

작동을 안하네요.


MAX9814 를 첨부와 같이 연결하였습니다.

그림을 보시면 MAX9814 의


GND --> Ground

VDD --> 5V

Analog 0 --> Out


소스는 올려주신 소스를 약간 수정했습니다.

아래 부분에 있습니다.


저는 LED 를 연결하지 않고 값만 찍어 보았는데

소리를 전혀 인식하지 못하는 것으로 확신을 하게 되었는데

다음과 같은 테스트를 해 보았습니다.


1) 센서와의 거래 40cm 정도 되는 곳에서 박수를 쳐 보았습니다.

시리얼모니터에 아무것도 찍히지 않았습니다.

2) 센서와의 거래 40cm 정도 되는 곳에서 박수를 제가 칠수 있는 되대로 쳐 보았습니다.

시리얼모니터에 아무것도 찍히지 않았습니다.

3) 센서와의 거래 30cm 정도 되는 곳에서 박수를 쳐 보았습니다.

시리얼모니터에 아무것도 찍히지 않았습니다.

4) 센서와의 거래 30cm 정도 되는 곳에서 박수를 제가 칠수 있는 되대로 쳐 보았습니다.

시리얼모니터에 아무것도 찍히지 않았습니다.

5) 센서와의 거래 20cm 정도 되는 곳에서 박수를 쳐 보았습니다.

sound_value 의 값이 4, 5 를 왔다 갔다 하면서 찍는데, 5가 훨씬 많이 찍힙니다.

6) 센서와의 거래 20cm 정도 되는 곳에서 박수를 제가 칠수 있는 되대로 쳐 보았습니다.

sound_value 의 값이 4, 5 를 왔다 갔다 하면서 찍는데, 5가 훨씬 많이 찍힙니다.


드디어 찍히기 시작해서 5 와 6을 비교해 보았는데,

소리의 크기에는 영향이 없었습니다.

20cm 정도에 손이 있고, 아무 소리를 내지 않아도 4, 5가 찍힙니다.


7) 센서와의 거래 15cm 정도 되는 곳에서 박수를 쳐 보았습니다.

sound_value 의 값이 6, 7 를 왔다 갔다 하면서 찍는데, 7가 훨씬 많이 찍힙니다.

8) 센서와의 거래 15cm 정도 되는 곳에서 박수를 제가 칠수 있는 되대로 쳐 보았습니다.

sound_value 의 값이 4, 5 를 왔다 갔다 하면서 찍는데, 5가 훨씬 많이 찍힙니다.


7 와 8을 비교해 보았는데,

소리의 크기에는 영향이 없었습니다.

15cm 정도에 손이 있고, 아무 소리를 내지 않아도 6, 7가 찍힙니다.


그래서 MAX9814 센서를 빼버렸습니다.

그런 후 위의 테스트를 40cm, 30cm, 20cm, 15cm 으로 손을 가져가면서 테스트를 했더니

case 1, 2, 3, 4, 5, 6, 7 과 동일한 현상이 발생했습니다.


그래서 이번에는 연결선을 빼 보았습니다.

우노 보의에서 analog 0 번의 연결선을 빼보았습니다.

그랬더니 출력을 멈추었습니다.


그래서 우노보드 analog 0번에 선을 다시 꼽고

analog 0번에 연결되어 있고, 빵보드에 꼽혀 있던 반대편 쪽 연결선을 빼 보았습니다.

그런 후 위의 테스트를 40cm, 30cm, 20cm, 15cm 으로 손을 가져가면서 테스트를 했더니

case 1, 2, 3, 4, 5, 6, 7 과 동일한 현상이 발생했습니다.


제가 두 귀의 역할 테스트를 위해 센서를 두개 구매를 했었는데,

나머지 다른 센서를 가지고 똑같이 테스트 해보았는데,

그래도 마찬가지 였습니다.


왜 그런 엉뚱한 현상(소리는 감지 못하고, 손과 analog 선과 의 거리를 감지하는 현상)이 발생하는 걸까요?

제가 무엇을 잘 못한 것일까요?


테스트한 소스는 다음과 같습니다.


const int sampleWindow = 50;      // 샘플링한 시간 50ms
unsigned int value0;               // 소리 증폭 감지 센서 값 받는 변수
 
int led[8] = {2, 3, 4, 5, 6, 7, 8, 9 };   // led 8개의 핀 번호 2~9
int sound_value0 ;
 
void setup() {
   Serial.begin(9600);              // 시리얼 모니터 시작, 속도는 9600
}
 
void loop() {
   unsigned long startMillis= millis();  // 샘플링 시작
   unsigned int peakToPeak0 = 0;          // 음성 신호의 진폭
 
   unsigned int signalMax0 = 0;           // 최대 크기를 초기에는 0으로 설정
   unsigned int signalMin0 = 1024;        // 최소 크기를 초기에는 1024로 설정

   while (millis() - startMillis < sampleWindow){  // 데이터를 50ms마다 모으는 while문
      value0 = analogRead(A0);           // 소리 감지센서에더 데이터 받아오기
      if (value0 < 1024){                // 받아온 데이터의 값이 1024 이하일 때
         if (value0 > signalMax0)         // 최대 크기 측정
            signalMax0 = value0;          // 최대 크기 signalMax에 저장
         else if (value0 < signalMin0)    // 최소 크기 측정
            signalMin0 = value0;          // 최소 크기 sigmalMin에 저장
      }

   }

   peakToPeak0 = signalMax0 - signalMin0;  // 최대- 최소 = 진폭값
   double volts0 = (peakToPeak0 * 5.0) / 1024;  // 전압 단위로 변환 = 소리 크기로 변환
   int distance0 = volts0 / 4.883;

   int i, j, k;
  
   for(i = 0; i < 8; i++){            // 소리크리를 led로 출력하기 위해 계산
    float cal = i;
    if(cal*0.40 < volts0 && ((cal+1)*0.40) > volts0)    // 소리 크기가 어느 led까지 켜지게 되는지 계산
      sound_value0 = i;
   }
 
  if(sound_value0 > 0 ) {
     Serial.print("value0:"); Serial.print(value0); Serial.print(", sound_value0:");Serial.print(sound_value0);    Serial.print(", distance0:");     Serial.println(distance0);
     delay(50);
  }
}



첨부파일 20180421_141121.PNG

비밀번호
수정

비밀번호 입력후 수정 혹은 삭제해주세요.

댓글목록

  • 작성자 에****

    작성일 2018-04-23

    평점 0점  

    스팸글 안녕하세요 에듀이노 입니다.

    유선상으로 답변드렸습니다.

    감사합니다.
댓글 수정

이름

비밀번호

내용

/ byte

수정 취소

비밀번호 :

확인 취소

댓글 입력

이름

비밀번호

내용

/ byte

평점

왼쪽의 문자를 공백없이 입력하세요.

회원에게만 댓글 작성 권한이 있습니다.

관련 글 보기

고객센터

    1670-9626

  • 팩스.063-902-6678
  • 이메일.eduino@robodyne.co.kr
  • Kakao. 에듀이노
  • 운영시간 : AM 10:00 ~ PM 16:30
  • 점심시간 : PM 12:00 - PM 13:00 토/일/공휴일 휴무
  • 고객센터 연결하기
입금계좌
  • 예금주: (주)로보다인시스템
  • 국민. 754801-01-760296
  • 농협. 301-0234-1423-01
  • IBK기업은행. 506-080015-01-016
배송 안내
  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 조건부 무료 : 주문 금액 100,000원 미만일 때 배송비 3,000원을 추가합니다.
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :
    - 제주도, 산간벽지나 도서지방은 별도의 추가금액을 지불하셔야 하는 경우가 있습니다.
    고객님께서 주문하신 상품은 입금 확인후 배송해 드립니다. 다만, 상품종류에 따라서 상품의 배송이 다소 지연될 수 있습니다.
교환/반품 안내
교환 및 반품이 가능한 경우
- 상품을 공급 받으신 날로부터 7일이내 단, 가전제품의
  경우 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우에는 교환/반품이 불가능합니다.
- 공급받으신 상품 및 용역의 내용이 표시.광고 내용과
  다르거나 다르게 이행된 경우에는 공급받은 날로부터 3월이내, 그사실을 알게 된 날로부터 30일이내

교환 및 반품이 불가능한 경우
- 고객님의 책임 있는 사유로 상품등이 멸실 또는 훼손된 경우. 단, 상품의 내용을 확인하기 위하여
  포장 등을 훼손한 경우는 제외
- 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우
  (예 : 가전제품, 식품, 음반 등, 단 액정화면이 부착된 노트북, LCD모니터, 디지털 카메라 등의 불량화소에
  따른 반품/교환은 제조사 기준에 따릅니다.)
- 고객님의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 단, 화장품등의 경우 시용제품을
  제공한 경우에 한 합니다.
- 시간의 경과에 의하여 재판매가 곤란할 정도로 상품등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품등의 포장을 훼손한 경우
  (자세한 내용은 고객만족센터 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)

※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
  (색상 교환, 사이즈 교환 등 포함)
«
»