반응형
소프트박스에서 소리센서 데이터 확인하기
소리센서는 사운드 센서라고도 하는데. 주변에서 흔히 볼 수 있는 마이크를 생각하면 된다. 소리가 발생할 경우 소리 센서는 소리의 크기와 지속시간에 따른 아날로그 신호를 출력한다. 소리로 전등을 켜고 끄거나 또는 주차 중인 차 안에 설치하여 주변에 소리가 발생할 경우 카메라가 동작하는 기능들은 사운드 센서를 사용해서 구현할 수 있는 기능들이다. 주변에서 응용 범위가 많은 사운드 센서를 실습해 보자.
사운드 센서 사진
센서 핀 연결
소리센서 아날로그 데이터 확인하는 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
int blueled = 7;
int threshold = 250; //Change This
int volume;
void setup() {
Serial.begin(9600); // For debugging
pinMode(blueled, OUTPUT);
}
void loop() {
volume = analogRead(A2); // Reads the value from the Analog PIN A0
//데이터 값 출력
Serial.println(volume);
//delay(100);
if(volume >= threshold){
digitalWrite(blueled, HIGH); //Turn ON Led
}
else{
digitalWrite(blueled, LOW); // Turn OFF Led
}
}
|
cs |
소리센서 디지털 데이터 확인하는 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
int blueled = 7;
int soundpin = 11; //Change This
int volume;
void setup() {
Serial.begin(9600); /* PC모니터로 결과를 쉽게 확인하기위해 시리얼 통신을 정의해 줍니다.*/
pinMode(soundpin, INPUT); // 11번 핀으로 데이터를 값을 받습니다.
}
void loop() {
/*조건문인 IF문을 사용하여 소리를 감지하면 LED를 켠다. */
if (digitalRead(soundpin) == HIGH)
{
digitalWrite(blueled, HIGH); //Turn ON Led;
Serial.println("sori!");
}
else
{
digitalWrite(blueled, LOW);
Serial.println("cm");
}
delay(100);
}
|
cs |
소리의 크기에 반응하는 디스플레이 화면을 만드는 예제
void setup() {
Serial.begin(9600); // 시리얼 통신을 시작, 통신 속도는 9600
}
void loop() {
int a = analogRead(A0); // 정수형 변수 a를 선언하고 A0핀에 입력되는 신호를 대입
if (a > 150) { // 만약 a가 150보다 크다면
Serial.print(a); // 시리얼 모니터에 a의 값을 출력
delay(100); // 0.1초 대기
}
//이 밑 부분은 ++를 표시해주는 코드입니다.
if (150 < a && a < 200 ) {
Serial.println(" ++");
}
if (201 < a && a < 250 ) {
Serial.println(" +++++");
}
if (251 < a && a < 300 ) {
Serial.println(" ++++++++");
}
if (351 < a && a < 400 ) {
Serial.println(" +++++++++++");
}
if (401 < a && a < 450 ) {
Serial.println(" ++++++++++++++");
}
if (451 < a && a < 500 ) {
Serial.println(" +++++++++++++++++");
}
if (501 < a && a < 550 ) {
Serial.println(" ++++++++++++++++++++");
}
if (551 < a && a < 600 ) {
Serial.println(" +++++++++++++++++++++++");
}
if (601 < a && a < 650 ) {
Serial.println(" +++++++++++++++++++++++++++");
}
if (651 < a && a < 700 ) {
Serial.println(" ++++++++++++++++++++++++++++++");
}
if (701 < a && a < 750 ) {
Serial.println(" +++++++++++++++++++++++++++++++++");
}
if (751 < a && a < 800 ) {
Serial.println(" ++++++++++++++++++++++++++++++++++++");
}
if (801 < a && a < 900 ) {
Serial.println(" +++++++++++++++++++++++++++++++++++++++");
}
if (901 < a && a < 1023 ) {
Serial.println(" ++++++++++++++++++++++++++++++++++++++++++");
}
}
반응형
'소프트박스 코딩' 카테고리의 다른 글
소프트박스에서 RGB LED로 컬러 불 켜기 (0) | 2018.11.07 |
---|---|
소프트박스에서 스피커로 소리 내보기 (0) | 2018.11.07 |
소프트박스에서 조이스틱 데이터 확인하기 (0) | 2018.11.07 |
소프트박스에서 초음파센서 데이터 확인하기 (0) | 2018.11.07 |
소프트박스에서 진동센서 데이터 확인하기 (0) | 2018.11.07 |