초급 예제

누구나 쉽게 따라해볼 수 있는 쉬운 예제들입니다. 가볍게 도전~!

고감도 사운드 센서 제어하기

2014-08-06 17:27:20

개요 & 부품목록



출처 : 사운드 센서 모듈 -  fasttech
사운드 센서는 음향 센서라고도 하며, 


출처 : 마이크 - shure 

우리가 알고 있는 마이크와 같이
소리를 전기적 신호로 변환하여 입력받는 원리입니다.
주변에 소리를 응용하면 정말 다양한 프로젝트를 만들 수 있습니다.
대표적으로는 

출처 : LoL Shield Audio Spectrum VU Meter -  instructables
사운드 센서로 주변 소리나 음악을 전기적 신호로 변환하여 LED에 연결하면
음악에 반응하는 화려한 조명을 만들 수 있겠습니다.

그럼 기본적인 사운드 센서 사용법에 대해 알아보고 
자신만의 프로젝트를 시작해 봅시다.

 

미리보기 동영상

 

 

 

부품목록

본 학습에는 총 6종류의 부품이 필요합니다.
 

NO    

부품명                                                                         

수량     

상세설명

1

아두이노 우노

1

아두이노

2

사운드 센서

1

센서

3

점퍼 케이블

3

저항

4

브레드보드

1

브레드보드

 
부품명 브레드보드 아두이노 UNO 점퍼케이블 사운드 센서
파트 X 1  X 1  X 3  X 1

 

 

하드웨어 Making

 

회로도

 

 

브레드보드 레이아웃


 

 

 

소프트웨어 Coding

아래의 코드를 아두이노에 업로드 합니다.
 

/* 출처 : www.arduino.cc */
int sensorPin = 0;// 사운드 센서를 0번핀에 연결합니다.
int ledPin = 11;// LED를 11번핀에 연결합니다.
void setup() {
  pinMode(ledPin,OUTPUT);// ledPin을 출력으로 설정합니다.
  Serial.begin(9600); //시리얼 통신을 시작합니다.
}
void loop() {
  int value = analogRead(sensorPin); // 사운드 센서로부터 센서값을 읽어 들입니다.
  int intensity = map(value,20,300,0,255);// 읽어들인 값으로 LED의 밝기를 구하고, LED의 밝기를 새로고침 합니다.
  
  analogWrite(ledPin, intensity);
  delay(10);//10ms 동안 대기
   Serial.println(value);//센서값을 시리얼 모니터로 출력하여 현재 센서값을 보여줍니다.
   delay(100);//100ms 동안 대기
}

 

소프트웨어 & 하드웨어 설명

int intensity = map(value,20,300,0,255);// 읽어들인 값으로 LED의 밝기를 구하고, LED의 밝기를 새로고침 합니다.


센서로부터 읽어들인 값 (일반적으로 0 - 1023 의 수치값을 지님) 을 intensity 로 명명하고 ,
이를 다시 LED의 밝기값(0-255)의 값으로 새고로침 하였습니다.
또한 시리얼 모니터를 통해 센서로 부터 들어오는 최소값과 최대값을 확인하여
map()함수를 통해 최소 20 최대 300의 값으로 제한하였습니다.

 

 

 

 

kocoafabeditor

항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!

사운드 센서, 아두이노

민상기 2015-11-24 01:34:32

옛날글이라 확인하실지 모르겠지만 저는 LED의 밝기말구 측정되는 소음의정도를 LCD에표시하고 싶은데 어떻게 고쳐야 하나요?

kocoafab 2019-01-07 14:09:29

아래 링크에서 LCD 사용 하는 법을보시고 Serial.prinln(value); 부분 대신에 lcd.print(value); 를 넣어주시면 됩니다.

https://kocoafab.cc/tutorial/view/80(일반 LCD)
https://kocoafab.cc/tutorial/view/733(I2C LCD)

남소미 2019-11-18 01:12:38

사운드 센서가 측정한 값의 단위는 어떻게 되는 건가요? dB가 아니라면 측정한 값을 dB로 바꿔 계산할 수 있나요..?