CDS光センサーを付けて暗くなったらLEDを点灯させます
〔Arduinoの動かせ方入門に戻る〕
CDS光センサーを配線してボードに付属(搭載)の13番ピン接続LEDを暗くなったら点灯させます。
@まずは、下記図画面の様に配線しましょう。
CDSはアナログの0番ピンに配線(抵抗による分圧回路です)されています。
Aarduinoボード(Arduino Duemilanove 328)はUSBケーブルで接続して、arduino IDEを起動させます。
BIDEに下記のスケッチプログラムをコピーペーストして貼り付けて下さい。
スケッチをダウンロードしたい方はこちら。
(ダウンロードスケッチにはシリアル通信でIDEにCDSの値を送信する処理も付いています)
ダウンロードスケッチの保存先と開き方はこちらを参照下さい。
---------------------------------------------------------------------
void setup() {
pinMode(13,OUTPUT) ; // LED接続のピン(13番)をデジタル出力に設定
}
void loop() {
int ans ;
ans = analogRead(0) ; // CDS接続のアナログピン0番を読み取る
if (ans >= 700) { // 700がしきい値です
// 光がしきい値より暗く(大きく)なったなら処理
digitalWrite(13, HIGH) ; // LEDを点灯(HIGH(5V))で出力
} else {
// 光がしきい値より明るく(小さく)なったなら処理
digitalWrite(13, LOW) ; // LEDを消灯(LOW(0V))で出力
}
}
---------------------------------------------------------------------
CIDEツールバーの赤枠部分「Upload」ボタンをクリックしてコンパイルとarduinoボードに書込みを
行います。
D正常終了後、CDSに手をかざしたり、指でCDSを隠したりしてみて下さい、LEDが点灯すると思います。
《やさしく解説》
CDSについて
CDSセンサーは極性なしどちらに接続してもOKです。
CDSの種類や抵抗値などで読込まれるアナログ値は変わってきますが、
抵抗値は1〜6kΩぐらいを試して下さい、1kとかになると暗い光側の感度が良くなります。
また、暗くなると読込まれるアナログ値は増えます、数値が大きくなります。
手をかざさないのに最初からLEDが点灯している場合は部屋が暗すぎます、
しきい値の700を増やしてみて下さい。
読込まれるアナログ値はどの位なのかシリアル通信で送信してIDEでみれば大体のしきい値
が分かります、ダウンロードスケッチを参照して下さい。
照度センサ(フォトトランジスタ) *1)
CDSは硫化カドミウムを使用した光センサーで、光の強さに応じて電気抵抗が低下する抵抗器です。
でもぉ、硫化カドミウムは人体や環境にあまり良くないらしいですぅ。
だから、秋月電子で販売されているこちらNJL7502LのセンサはCDSの置き換えにぴったりです。
使い方はCDSと同じです、但し、NJL7502Lは極性が有り足の長い方が+側です。
また、抵抗値も10kΩ以上と大きくしないとだめですね。
(足の長い方+側をArduinoのアナログ入力ピン0番側に配線です。)
スケッチについて
pinMode(pin,mode)
接続したピンはデジタルの入力か出力かを指定します。
pin :設定したいピンの番号
mode:INPUT (デジタル入力に設定)
OUTPUT(デジタル出力に設定:13番ピン)
※ アナログ入力はModeの指定は必要ありません。
analogRead(pin)
指定したピン(0番ピン)よりアナログ値(CDS値)を読み込みます。
アナログ入力ピン(0−5番)には0〜5Vの電圧を入力します、
arduinoはこの電圧を0〜1023の範囲に変換して読み取ります。
digitalWrite(pin,mode)
指定したピン(13番ピン)へHIGH(5V)かLOW(0V)を出力します。
"digitalWrite(13,HIGH)"なら13番ピンから5Vが出力さてLEDが点灯します。
※ ボード搭載の13番ピン接続LEDではなく普通のLEDを接続して実験を行いたい人は、
こちらを参考にして下さい。
追記(*1) 2011/6/16
【きむ茶工房ガレージハウス】
Copyright (C) 2006-2020 Shigehiro Kimura All Rights Reserved.