気の向くままに辿るIT/ICT
webzoit.netウェブサイトホームページ
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に接続。

 スケッチは後述の通り。

EasyWordMall Arduino UNO R3互換ボード(USBケーブル付属)

EasyWordMall Arduino Pro Mini互換ボード Atmega328 5V 16MHz

Rasbeeオリジナル FT232RL互換 3.3V/5V FTDI/USB/TTL変換アダプタ

KKHMF Arduino Nano Ver 3.0互換ボード ATmega328P CH340G 5V 16MHz

Rasbee 400穴 ブレッドボード 8.5*5.5cm 1個

HiLetgo 400穴 ブレッドボード 8.5*5.5cm 5個セット

HiLetgo 400穴 ブレッドボード 8.5*5.5cm 10個セット

Rasbee SY-170 ミニブレッドボード カラフルブレッドボード 5個

HiLetgo ジャンパーワイヤー(オス-オス) 20cmx40本 5セット

Rasbee ジャンパーワイヤー(オス-オス) 各種長さx65本

HiLetgo 5mm LED 5色x各20(計100個)

HiLetgo 金属皮膜抵抗 1/4W 41種類x20=820個

HiLetgo 37センサーモジュールアソートキット/Arduino開発スターターキット

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とした。