【Arduino】 PHOTORESISTOR 光可変抵抗

LESSON 026

PHOTORESISTOR 光可変抵抗

  
○ 光が当たると
 

      •  抵抗値が変化する
             CdSセル 
         
      •  起電力が発生する
         太陽電池 フォトダイオード​
         CCD​
            CIS(CMOSイメージセンサ)
           
      • スイッチ動作する(ONになる)​
          フォトトランジスタ​
          フォトサイリスタ
          ​
    等の作用があります。この光に対しての作用を利用したセンサについて説明します。
 
  今回は、CdSセル PHOTORESISTOR 光可変抵抗 を説明します。
   
○ Photoresistor(フォトレジスタ) ​

      • CdSセルは、硫化カドミウム(CdS)を主成分とする光導電素子の一種で光が当たる量によって抵抗値が変化​します。
      • CdSセルの受光部は銀色の部分が電極、茶色の部分が硫化カドミウムの化合物半導体​になります。
      • 極性は無​
      • 受光部に当たる光の量で抵抗値が変化します。​
          抵抗値は  明抵抗:10k~20kΩ(10Lux時)
                暗抵抗:1MΩ​

 よって、このCdSセルの特性を利用したセンサーです。
 

    
 光の量によってCdSの抵抗値が変化すると読み取り電圧も変化します。
  
 この時,読み取り電圧は 0~5Vの値が得られます。

 この値を 0~1023の数値に変換​し CdS値とすると​

  
   明るい場所 ⇒ CdS抵抗値:小 ⇒ 読み取り電圧:大 ⇒ CdS値:大 
   暗い場所  ⇒ CdS抵抗値:大 ⇒ 読み取り電圧:小 ⇒ CdS値:小​
 
となります。
     

○ 計算式は   $$Vr=\frac{R}{R+Rc}×1023$$​
     Vr   CdS値
     R    抵抗 [Ω]

     Rc    CdSセル の抵抗値 [Ω]    
   

目 次

    • 構成部品
    • 配線図
    • スケッチ
    • 解説
    • 結果
    • まとめ
       
構成部品

Arduino​
USBケーブル​
ブレッドボード​
CdSセル
抵抗 10kΩ
ジャンパー線 

      
配線図  
             
  5V       ⇒ CdSセル
  A0       ⇒ CdSセル + 抵抗  
  GND   ⇒  抵抗


   
    
         

スケッチ《 test021》   
   
const int analogPin = A0;
int analog;
void setup() {
  Serial.begin(9600);
}
void loop() {
  analog = analogRead(analogPin);
  Serial.println(analog);
  delay(1000);
}

  
解説
  • void setup()
      

    • void loop()

        analog = analogRead(analogPin);
       
      analog の値は CdS値 になります。
       

      ​CdS値から電圧を求めるには
      $$Vr=CdS値×\frac{5}{1023}$$​
        
      0から5ボルトの入力電圧を0から1023の数値に変換​され、アナログポートから出力されます。
      分解能は1単位あたり4.9mV​になります。

        ​  

     

まとめ

○ CdSセルは安価で使いやすいセンサです。しかし、カドミウムが含まれているために取り扱いには十分気を付けて下さい。欧州連合(EU)が規制が掛けられています。
     
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。

目次