거리 센서를 사용해 보았습니다.

개요



거리 센서를 구입했기 때문에 시도했습니다.

부품



거리 센서 : HC-SR04
83엔

※ 참고로 했다 SwitchScience 에 의하면 이것에는 일부 결함이 있는 것 같고, 그쪽이 좋을지도 모릅니다.

디스플레이 : TM1637이 내장된 7세그 LED
73엔


컴퓨터 : Arduino UNO 호환 기계
699엔


배선




Trigger를 10마이크로초 이상 UP시키면, 40kHz로 8회 거리를 측정해, 그 결과를 Echo에 주파수로 돌려주는 사양인 것 같습니다.

소스 코드



#include <Arduino.h>
#include <TM1637Display.h>
#include <Wire.h>

#define SERIAL_BAUD 115200
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
int Trig = 5;
int Echo = 4;

void setup() {
  Serial.begin(SERIAL_BAUD);
  while(!Serial) {}
   pinMode(Trig,OUTPUT);
   pinMode(Echo,INPUT);

  Wire.begin();
  uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
  display.setBrightness(0x0f);
  display.setSegments(data);
  delay(1000);
}

void loop() {
  int Duration;
  float Distance;
    digitalWrite(Trig,LOW);
    delayMicroseconds(1);
    digitalWrite(Trig,HIGH);
    delayMicroseconds(11);
    digitalWrite(Trig,LOW);
    Duration = pulseIn(Echo,HIGH);
    if (Duration>0) {
      Distance = Duration/2;
      Distance = Distance*340*100/1000000; // 340m/s = 34000cm/s = 0.034cm/us 
      Serial.print(Distance);
      Serial.println(" cm");
      display.showNumberDec((unsigned int)(Distance*100), false);
//      analogWrite(11, (unsigned int)(100-Distance));//ビープ音
    }
  delay(100);
}

github

동작 확인



gif 동영상으로 올려도 알기 어려웠기 때문에, Youtube에서 확인하실 수 있으면 다행입니다.
IMAGE ALT TEXT HERE

좋은 웹페이지 즐겨찾기