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

개요



적외선 거리 센서를 구입했기 때문에 시도했습니다.
물체로부터의 거리를 계측하는 센서입니다.

부품



거리 센서 : 적외선 거리 센서 모듈
43엔


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


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


배선





소스 코드



아날로그 신호를 받아 10회의 평균을 표시하도록 하고 있습니다.


#include <Arduino.h>
#include <Wire.h>
#include <TM1637Display.h>
#define SERIAL_BAUD 115200

#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
#define IR_LEN 10
int IRs[IR_LEN] = {0,0,0,0,0,0,0,0,0,0};
int IRs_idx = 0;

void setup() {
  Serial.begin(SERIAL_BAUD);
  while(!Serial) {}

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

void loop() {
  int ave = 0;
  int IR;
  IRs_idx++;
  if(! (IR_LEN > IRs_idx) )
    IRs_idx = 0;
  IRs[IRs_idx] = analogRead(A0);
  for(int i=0 ; i<IR_LEN;i++){
    ave+=IRs[i];
  }
  IR = ave/IR_LEN;

  display.showNumberDec(IR, false); 
  Serial.print("IR: ");
  Serial.print(IR);
  delay(100);
}

github

조금 감상



초기 설정이라면 5cm 에서 6cm 정도의 범위에서 감지할 수 있습니다.
그 범위 이외라면 있다 1000 이나 25 등의 최대/최소치가 되어 버리므로, 검지할 수 없습니다.
상부에 있는 가변 저항을 돌려 조정이 가능합니다.

동작 확인



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

좋은 웹페이지 즐겨찾기