안녕하세요. 오늘은 소리 센서를 사용하는 방법을 알아보고자 합니다. 소리 센서는 말 그대로 소리를 탐지하는 센서입니다. [그림 1 : 소리 센서] 이번 실험에서는 소리 센서로 입력받은 값을 시리얼 모니터로 출력합니다. 1. 회로 연결이번에는 회로도 없이 바로 연결된 사진을 보시겠습니다.
[표 1 : 아두이노 - 소리 센서 핀 연결] 표1에 나와있는 것처럼 각 핀들을 연결해주면 됩니다. 2. 스케치이번에는 스케치도 정말 간단합니다. const int SOUND_SENSOR_PIN = A0; int sensorValue; void setup() { Serial.begin(9600); } void loop() { sensorValue = analogRead(SOUND_SENSOR_PIN); Serial.println(sensorValue); delay(20); }
3. 결과
그림 3에서 보시는 바와 같이 시리얼 모니터를 통해 소리의 크기를 확인할 수 있습니다. [아두이노 부품] 고감도 사운드 센서 알아보기
고감도 사운드 센서
『1. 고감도 사운드 센서 알아보기』
고감도 사운드 센서는 총 4개의 핀이 달려있습니다. 'A0핀, GND핀, +핀, D0핀'은 아두이노 보드의 '아날로그 입력핀, GND핀, 5V핀, 디지털 핀'에 연결해주시면 된답니다. 만약 아날로그 입력핀만 사용할 경우, D0핀은 아두이노 보드에 연결하지 않으셔도 되며, 디지털 핀만 사용할 경우 A0핀은 아두이노 보드에 연결하지 않으셔도 된답니다.
이와 같이 고감도 사운드 센서는 아날로그 값과 디지털 값으로 모두 소리를 감지할 수 있는데요, 아날로그 값의 경우 소리의 미세한 값을 숫자로 나타낼 수 있습니다. 디지털 값의 경우 소리의 여부를 'HIGH, LOW'로 나타낸답니다.
1~2번 줄의 코드는 변수를 설정한 코드인데요, 먼저 1번 줄의 'int sensor = A0;'은 고감도 사운드 센서가 연결된 A0(아날로그 입력핀)을 sensor라는 변수에 저장하여 설정한 코드입니다. 2번 줄의 val 변수는 loop()에서 사용할 변수로 먼저 설정해 놓은 코드입니다.
『2. 고감도 사운드 센서로 LED 제어하기』
'선생님, 근데 왜 아날로그 입력값을 60~1023으로 설정하나요? 0~1023으로 설정하는 게 아닌가요?'
고감도 사운드 센서에서 아날로그 핀만 사용하였기 때문에 고감도 사운드 센서의 A0핀은 아두이노 보드의 A0핀에 연결해주시고, 나머지 GND핀은 아두이노 보드의 GND핀에, +핀은 아두이노 보드의 5V핀에 연결해주세요. D0핀은 따로 연결하지 않겠습니다.
|