기술문의 :)

기술문의 게시판 입니다.

뒤로가기
제목

구매를 했는데 연결 방법이 틀렸는지 정확한 작동을 하지 않습니다.

작성자 김관영(ip:)

작성일 2012-02-08 13:30:52

조회 74

평점 0점  

추천 추천하기

내용

소스를 아래와 같이 고치고 나니 작동을 하네요.
혹시라도 이런 제품이 불량이 나면 반품보내기도 쉽지 않을것 같네요^^
정말 감사드립니다^^

 

int sensorValue = 0;
boolean ledOn = false;

 

void setup() {
  pinMode(A1, INPUT);
  pinMode(7, OUTPUT);
}

void loop() {
  sensorValue = analogRead(A1);
 
  if (sensorValue > 1000){
    if (ledOn){
      ledOn = false;
    }else{
      ledOn = true;
    }
  }
 
  if (ledOn){
    digitalWrite(7, HIGH);
  }else{
    digitalWrite(7, LOW);
  }
}

 

 


---------- Original Message ----------

안녕하세요

 

우선 소리의 변화는 초당 수천~수만회 이상 검측을 해야 제대로 파형 관측이 가능합니다.

현재 코드상,  시리얼통신과 delay함수 등으로 초당 수회~수십회 측정만 가는한것 같습니다.

이때문에, 제대로 된 실시간 출력파형을 관측하시려면 오실로스코프가 필요하십니다.

 

아래와 같이 시도해 보시기 바랍니다.

1. 소스코드에서 delay(xx)부분을 빼시고  시리얼 통신속도는 높여보시기 바랍니다.

더불어 시리얼 통신으로 문자전송을 할경우 자체 지연시간이 크므로,

측정시마다 그 값을 시리얼통신으로 보내는것은 적절치 않습니다. 테스트시만 출력을 해주시고

실제 사운드 출력을 실시간 응용하실경우엔 시리얼출력부분을 제거해주셔야 좋습니다.

 

2. 케이블은 모듈에 납땜하여 제대로 고정해주시기 바랍니다.

 


---------- Original Message ----------

사용된 보드는 아두이노 UNO입니다.

AUD는 A1에 연결하였고 GND는 GND에 VCC는 5V에 연결하였습니다.

사진은 첨부파일로 올렸습니다.

사용된 소스는 아래와 같습니다.

 

int sensorValue = 0;

void setup() {
  Serial.begin(9600);
  pinMode(A1, INPUT);
}

void loop() {
  sensorValue = analogRead(A1);
  Serial.println(sensorValue, DEC);
  delay(100);
}

 

값은 아래와 같이 찍혔습니다.

 

451
525
440
336
510
466
550
434
447
480
546
519
605
462
493
455

소리를 옆에서 큰 소리로 내도 아무런 수치의 변화가 없었습니다.

아날로그 A0, A1으로 변경해보아도 똑같습니다.

연결방법이 틀렸다면 연결방법을 설명 부탁드립니다.

인터넷은 하루종일 검색해보았습니다.

부탁드립니다.

 

첨부파일

비밀번호
수정

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

댓글목록

등록된 댓글이 없습니다.

댓글 수정

이름

비밀번호

내용

/ byte

수정 취소

비밀번호 :

확인 취소

댓글 입력

이름

비밀번호

내용

/ byte

평점

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

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

관련 글 보기

follow us