ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 소리 센서와 피에조 부저를 연결해서 소리를 측정하기
    Arduino/피에조 부저 2020. 10. 29. 17:51

    먼저 하드웨어를 연결해보자.

    소리 센서의 A0핀은 아두이노의 A0핀에 연결한다.

    부저의 핀으로 부저의 (+)를 아두이노의 9번핀으로 연결한다.

    아래의 그림에서 부저의 연결을 나타낸 그림이다.

    아래의 그림에서도 부저의 연결을 나타낸 그림이다.

     

    아래의 그림은 소리 센서의 연결이다.

    그리고 아두이노 GND핀과 빵판의 GND선에 연결하는데 검은색선으로 한다.

    소리 센서의 A0핀과 VCC, GND 세 선만 이용한다.

    녹색선은 A0선으로 아두이노의 A0핀에 연결한다.

    가운데 GND는 빵판의 GND에 연결한다.

    VCC핀은 아두이노의 5V선에 연결한다.

     

    소리 센서와 부저를 연결해서 부저가 내는 소리를 소리 센서가 값을 읽어
    시리얼 플로터로 출력결과를 보자.

    소스 코드

    //  소리 센서와 부저를 연결해서 부저가 내는 소리를 소리 센서가 값을 읽어
    //  시리얼 플로터로 출력결과 보기
    #define   SORI_PIN  9   //  부저의 핀으로 부저의 (+)를 아두이노의 9번핀으로 연결
    
    //  소방차 사이렌 만들기
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
      
      pinMode(SORI_PIN,OUTPUT);
    }
    
    void loop() {
      
      for (int hz = 300; hz <= 750; hz++)
      {
        tone(SORI_PIN, hz);
    
        Serial.println(analogRead(A0));
        
        delay(10);
      }
    
      for (int hz = 750; hz >= 300; hz--)
      {
        tone(SORI_PIN, hz);
    
        Serial.println(analogRead(A0));
        
        delay(10);
      }
    }

     

     

    이 부분에서 인터럽트를 활용할 수 있다.

    아래의 소스를 보자.

    소스 코드

    //  소리 센서와 부저를 연결해서 부저가 내는 소리를 소리 센서가 값을 읽어
    //  시리얼 플로터로 출력결과 보기
    //  소리 센서의 A0핀은 아두이노의 A0핀에 연결한다.
    //  인터럽트 방식
    #define   SORI_PIN  9   //  부저의 핀으로 부저의 (+)를 아두이노의 9번핀으로 연결
    
    //  소방차 사이렌 만들기
    void setup() {
      Serial.begin(9600);
      pinMode(SORI_PIN,OUTPUT);
      attachInterrupt(0,soriRead,LOW);
    }
    void loop() {
      //소방차
      for (int hz = 300; hz <= 750; hz++)
      {
        tone (SORI_PIN, hz);
        delay(10);
      }
    
      for (int hz = 750; hz >= 300; hz--)
      {
        tone (SORI_PIN, hz);
        delay(10);
      }
    }
    
    void soriRead(){
        delay(5);
       Serial.println(analogRead(A0));
    }

     

    댓글

Designed by Tistory.