【초보자용 전자 공작】초음파 센서로 거리를 측정해 본다

이 기사는 IoTLT Advent Calendar 2019의 5 일째 기사입니다.

안녕하세요! 이와테 현립 대학의 sasakisan입니다!
지난해 IoTLT의 어드벤트 캘린더는
이와테의 추운 겨울은 가스 센서로 몸을 보호합시다.
라는 소재로 썼습니다.

올해는 절찬 졸업 연구로 하드 모드이므로 이번은 빨리 할 수 ​​있는 초보자용의 전자 공작을 해 나가려고 생각합니다.
소재는 「초음파 센서로 거리를 측정해 본다」입니다.
여러분은 평상시 거리를 측정할 때는 메이저 등을 사용하죠?
이번은 메이저가 아니라 초음파로 거리를 측정할 수 있도록 해 갑니다!

사용하는 것


  • M5Stack


  • 초음파 센서(HC-SR04)


  • 점퍼선 4개
  • 브레드 보드

  • 초음파 센서의 구조



    거리를 측정할 수 있는 센서의 구조는 몇 가지 있습니다만, 이번에는 초음파를 사용한 거리 센서를 사용합니다.
    초음파를 사용하는 거리 센서에는 센서가 2개 붙어 있습니다. 한쪽이 초음파를 냅니다. 이 때 거리를 측정하고 싶은 것에 초음파가 닿아 튀어 온 것이 다른 한쪽의 센서에 해당합니다. 되돌아온 시간에 거리를 측정할 수 있습니다.



    회로



    아래 표와 같이 점퍼와 브레드보드를 ​​연결해 갑니다.
    (M5Stack과 초음파 센서의 표기와 표의 표기를 대응시켜 쓰고 있습니다)


    M5Stack
    초음파 센서


    5V
    Vcc

    G
    Gnd

    2
    Trig

    5
    Echo





    프로그램



    M5Stack의 환경 구축을 하고 있지 않은 분은 여기 를 봐 주세요.

    다음은 프로그램과 설명입니다.
    #include <M5Stack.h>
    
    #define TRIG 2
    #define ECHO 5
    
    int times;
    int distance;
    
    void setup() {
      M5.begin();
    
      pinMode(TRIG, OUTPUT);
      pinMode(ECHO, INPUT);
    
      // 文字サイズ
      M5.Lcd.setTextSize(10);
    }
    
    void loop() {
      // 画面を黒くする
      M5.Lcd.fillScreen(BLACK);
    
      // 超音波を発生させる
      digitalWrite(TRIG, HIGH);
      delayMicroseconds(10);
      digitalWrite(TRIG, LOW);
    
      // 超音波を受け取る
      times = pulseIn(ECHO, HIGH);
      distance = (int)(times * 0.017);
    
      // ディスプレイに表示させる
      M5.Lcd.setCursor(0, 0);
      M5.Lcd.print(distance);
      delay(500);
    }
    

    움직여 보자





    이렇게 거리가 표시되고 거리가 바뀔 때마다 디스플레이의 숫자가 바뀌면 성공입니다!

    요약



    이번에는 초보자용의 기사를 썼습니다만, 센서가 있으면 매우 간단하게 시험할 수 있으므로 꼭 봐 주세요.

    좋은 웹페이지 즐겨찾기