코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2016-01-08 11:26:47
주위의 소리를 테스트 해보고 싶은적 없나요? 그렇다면 방법이 여기 있습니다! 바로 " 사운드 센서(음향 센서) " 입니다
사운드 센서는 소리를 전기적 신호로 변환하여 입력받는 원리입니다.
사운드 센서를 이용해 주변의 소리를 응용한다면, 정말 다양한 프로젝트를 만들 수 있습니다.
사운드 센서를 이용한 " 수박쨈 " 님의 프로젝트가 kocoafab에도 있으니, 사운드 센서를 이용하여 만들어 보세요! ^^
<사운드 센서와 LED를 이용한 프로젝트>
그러나 만약 하고자 하는 것이 음성인식이라면 이야기가 달라집니다.
음성인식과 같은 멀티미디어, 신호처리 과정은 아두이노로 수행하기 버거운 작업입니다.
이 경우는 휴대폰에서 음성인식과 같은 처리를 수행하고 그 결과값만 아두이노로 전송해주는 형태로 구현하는 것이 좋을 것 같습니다.
<사운드 센서>
그럼 주변 소리에 따라 아날로그 핀으로 들어오는 전압이 변화하고, 아날로그 핀을 읽었을 때 값이 바뀌게 됩니다.
* 원하는 소리가 잘 인식되지 않는 경우 가변저항을 돌려 감도를 조절하면 됩니다.
바로 이 사운드 센서를 이용해서 엔트리로 코딩을 해 볼건데요, 주변의 소음에 따라 밝기가 변하는 모습을 볼 수 있습니다.
NO |
부품명 |
수량 |
상세설명 |
1 |
오렌지 보드 |
1 |
아두이노 호환 보드 |
2 |
사운드 센서 |
1 |
센서 |
3 |
점퍼 케이블 |
3 |
(암,수) |
4 |
LED |
1 |
LED |
부품명 | 오렌지 보드 | 사운드 센서 | 점퍼케이블 | LED |
파트 | X 1 | X 1 | X 3 | X 1 |
엔트리코드는 다음과 같습니다.
위의 엔트리 코드는 아날로그 0번 센서값(사운드 센서)을 디지털 범위(0~255)로 변환시킨뒤, 그 변환된 값을 디지털 11번 핀에 꼽혀있는 LED에 전달을 해주어서,
사운드 센서값에 따라 LED가 변하는 모습을 볼 수 있습니다.
* 보라색 값은 어떻게 만드는 것이냐구요? 바로 변수입니다.
변수 사용 설명은 엔트리를 이용한 변수 사용 을 참조해 주세요. ^^
아두이노 코드는 다음과 같습니다.
// 사운드 센서를 A0번핀에 연결합니다.
int sensorPin = A0;
// LED를 11번핀에 연결합니다.
int ledPin = 11;
void setup() {
// ledPin을 출력으로 설정합니다.
pinMode(ledPin,OUTPUT);
//시리얼 통신을 시작합니다.
Serial.begin(9600);
}
void loop() {
// 사운드 센서로부터 MIC 센서값을 읽어 들입니다.
int value = analogRead(sensorPin);
// 읽어들인 MIC 센서의 값을 0~255로 변환합니다.
int intensity = map(value,20,300,0,255);
//ledPin에 변환된 값을 넣어줍니다.
analogWrite(ledPin, intensity);
//센서값을 시리얼 모니터로 출력하여 현재 센서값을 보여줍니다.
Serial.println(value);
//1000ms 동안 대기
delay(100);
}
map(value, fromLow, fromHigh, toLow, toHigh ) 함수는 첫번째 인자값을 지정된 범위로 선형사상하여 반환해 주는 것입니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!