Arduinoに測距センサGP2Y0A710K0Fを接続する

測距センサGP2Y0A710K0F

シャープの測距センサGP2Y0A710K0Fは、赤外線等を用いて1m〜5.5mまでの距離の測定を行うことが可能なセンサである。出力電圧は距離に反比例して出力される。

Arduinoに接続する

測距センサGP2Y0A710K0Fは、本体背面に刻印されている文字を読める向きから見て左から、黄(GND), 青(Vcc), 黒(Vcc), 白(Vo), 赤(GND)の順序でピンが配置されている。Vccが青、GNDが赤と通常と逆となっていることに注意が必要である。付属の説明書には、電源ライン安定化のためVcc-GNDライン間に、10μF以上のバイパスコンデンサを付加して使用することを奨励する記述がある。

GP2Y0A710K0Fブレッドボード接続図

上の図では、SE-10のVoutはアナログ入力のA0に入力されている。以下のプログラムは距離センサの出力電圧から距離への変換を行った上で、シリアル通信によりその数値の送信を行っている。

void setup() {
  // シリアル通信速度
  Serial.begin(9600);
}

void loop() {
  int a_in;
  a_in = analogRead(0);
  int dist = (6762/(a_in-9))-4;
  Serial.println(String(dist));

  delay(1000);
}

距離センサの出力電圧から距離への変換は以下の式で行う。

(6762/(a_in-9))-4

Arduinoに人感センサ(焦電型赤外線センサ)SE-10を接続する

人感センサ(焦電型赤外線センサ)SE-10

人感センサSE-10は、焦電型赤外線センサを搭載した人体や動物に反応するセンサである。電源を入れて数秒後からセンサ前面周辺を監視し、人体などの35度程度の物体が動くとALARM信号がLOWの状態へと変化する。検知角度は120度である。

Arduinoに接続する

焦電型赤外線センサSE-10は正面から見て左から赤(+B),茶(GND),黒(ALARM)となっており、Arduinoで接続する場合は以下のように接続を行う。赤(+B)と黒(ALARM)との間には10KΩ程度のプルアップ抵抗を入れる。

SE-10ブレッドボード接続図

SE-10のALARM信号は、上の図ではデジタル入力のPin2に入力されている。以下のプログラムは、人感センサーが反応(ALARM信号がLOW)すれば、LEDを点灯させると同時にシリアル通信にて1を送信する処理を行っている。

const int ledPin = 13;
const int pirPin = 2;

void setup() {
  // put your setup code here, to run once:
  // シリアル通信速度
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if (digitalRead(pirPin) == LOW) {
    digitalWrite(ledPin, HIGH);
    Serial.println("1");
    
  } else {
    digitalWrite(ledPin, LOW);
    Serial.println("0");
  }
  delay(1000);
}