気の向くままに辿るIT/ICT/IoT
IoT・電子工作

Arduinoでレーザーとフォトレジスタによる光遮断検知回路を作る

ホーム前へ次へ
Arduinoって?

Arduinoでレーザーとフォトレジスタによる光遮断検知回路を作る

Arduinoでレーザーとフォトレジスタによる光遮断検知回路を作る

2017/11/09

 Arduinoを使って37センサーキットに入っていたレーザーモジュールと別途購入したフォトレジスタで検知回路を自作してみるページ。

 もちろん、光センサは、やはり、37センサー・モジュールキットにあるフォトレジスタでも良いのですが、今回、手に取ったものが、たまたま違うものだっただけの話。

 後段リンクにある先日作った常夜灯・街路灯原理にも使えるCdSを含むフォトレジスタには、明るくなると抵抗値が下がる性質があり、レーザーは強力な光(光線)であるため、レーザーで照射した時とそうでない時におけるフォトレジスタの抵抗値の違いを利用した回路ということになります。

 この回路は、物体の有無検知や、今回のようなLEDに加え、メロディやブザーを鳴らせば、異物や人、動物などの侵入検知による事故防止装置、防犯装置やその一部としても使えるでしょう。

 光を直視したくないのでその点は考慮が必要も位置決めさえできれば、レーザー光は数メートルなど比較的遠くまで照射できるため、近接センサより広い範囲で検知可能な点がメリットと言えるでしょう。

[2017/11/22]

 同じ光でも、そのままでは肉眼で直接見ることができない赤外線版が、赤外線LEDとフォトトランジスタによる透過型センサ回路37センサーキットに入っていたフォトインタラプタ

レーザー検知回路

 必要なものは以下の通り。

 今回使ったのは、ArduinoボードにNano、フォトレジスタはCdS搭載4ピンタイプの光センサ。

 Amazonマーケットプレイス激安店で揃えれば、単価割りすると800〜900円程度、検証という意味では、使い回しがきくと考えれば、レーザーと光センサで300〜400円といったところかと。

 ちなみに動画でレーザー光を遮るのに使っているのは、白い消しゴム。

 配線・接続は、レーザーモジュール、フォトレジスタ共にVCC/+をArduinoボードの5V、-(マイナス)をGND、レーザーモジュールの出力用S(ignal)ピンを任意のデジタルピン、今回使ったフォトレジスタはアナログ、デジタルの2系統出力を持つ4ピンなので何れかをArduinoボードの任意のアナログピンか、デジタルピンに、また、任意の出力用デジタルピンから抵抗〜LEDアノード、LEDカソードをGNDに接続。

 スケッチは後述の通り。

const int lazer = 5;
const int led = 7;
 
void setup() {
  Serial.begin(9600);
  pinMode(lazer, OUTPUT);
  pinMode(led, OUTPUT);
}
 
void loop() {
  digitalWrite(lazer, HIGH);
  int val = analogRead(0);
  Serial.println(val);
  if(val >= 100){
    digitalWrite(led, HIGH);
  } else {
    digitalWrite(led, LOW);  
  }
}

 今回は、フォトレジスタからのアナログ入力ピンはA0、レーザーモジュールの出力信号はD5、LED点灯・消灯用HIGH/LOW(ON/OFF制御用)の出力ピンはD7とし、こんなスケッチにしてみました。

 Arduino IDEのシリアルモニタでA0の入力値を確認できるのでLEDの点灯・消灯用の閾(しきい)値は、一度確認後に決めるとよい、周囲の明るさ、レーザーと光センサの距離等々、今回の環境では、レーザー照射時30前後、照射しない時300前後で閾値は大雑把に100としました。

ホーム前へ次へ