1. 準備
型番 | 最大電圧 (VDC) |
最大電力 (mW) |
10Lux明抵抗 (kΩ) |
暗抵抗 (MΩ) |
M1516 | 150 | 90 | 5~10 | 0.5 |
M1527 | 150 | 100 | 10~20 | 1 |
M1537 | 150 | 100 | 20~30 | 2 |
M1547 | 150 | 100 | 30~50 | 3 |
M1558 | 150 | 100 | 50~100 | 5 |
M1569 | 150 | 100 | 100~200 | 10 |
2. 回路図
CdSセルを使った実験回路を図1に示します。
回路自体は単純で、CdSに当たる光の量が増えればCdSの抵抗が下がりArduino UNOのアナログ入力(A0)に掛る電圧が上がります。反対に光の量が減れば電圧は下がります。※電圧が上下する仕組みはオームの法則の記事をご覧ください。
アナログ入力(A0)で読み取った電圧(明るさ)によって、デジタル出力(D3)から出力するPWMのデューティー比を変化させLEDの明るさが連動して変化します。※もちろんこの回路だけではプログラムが無いので動きません。プログラムの内容については次項で説明します。
図1:CdS実験回路
3. プログラム
Arduinoではスケッチと言いますがあえて一般的なプログラムと言います。
プログラムは以下の通り僅かに数行です。
このプログラムを図2の通りArduino IDEにコピペすれば準備完了です。
void setup(){ pinMode(3,OUTPUT); } void loop(){ if (analogRead(0) < 400) { analogWrite(3,0); }else{ analogWrite(3,map(analogRead(0),400,1023,0,255)); } }
4. 動作確認
図3:CdSが感知した明るさに連動してLEDの明るさも変わります
5. まとめ
CdSさん毎日お疲れ様です。m(__)m
励みになりますのでよければクリック下さい(^o^)/