AVR

아두이노 Uno + Cds Cell 5파이 광(빛감지) 감지센서 사용해보기

by 디케 posted Aug 05, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

아두이노 Uno + Cds Cell 5파이 광(빛감지) 감지센서 사용해보기


입력센터 2개 이용해보니 특별한 어려움은 없다.
입력된 수치값을 잘 이용해서 조건을 설정해 출력을 하면 된다.

궁금한 점 : 왜 온도센서와 저항 위치는 다를까?
                저항은 왜 필요할까?
                아직 전기적인 회로부분에 대해서는 여러가지로 궁금한 점이 많다!



1. 구성물


MPU UNO 보드(아두이노 UNO 호환보드) + USB 케이블



2.jpg 

Cds Cell 5파이  - 2개

광(빛감지) 감지센서 : 광(빛)을 감지하여 회로를 ON / OFF제어,센서등, 방범등에 많이 사용

:: 최대정격 ::
- Power dissipation(at 25): 100mW
- Max Voltage: 150Vdc or AC
- Temp.Range: -30~+70℃

:: 광-전기특성 ::
- Light Resistance at 10Lux(at 25): min 20, max 50Kohm
- Gamma Value at 10~100Lux: 0.7typ

- Dark Resistance at 0 Lux(10sec after shut off 10Lux): min 2Mohm
- Peak Spectrol Response: min 550, max 650nm


1.jpg


2. 회로도

3.jpg


4.png



3. 사진 & 동영상

CAM00705.jpg





4. 프로그래밍


int analPin = 0;

int ledPin = 13;   // select the pin for the LED

int val = 0;       // variable to store the value coming from the sensor

long x=0, vcc=4840;

float th=0,ce=0;


void setup() {

  pinMode(ledPin, OUTPUT);  // declare the ledPin as an OUTPUT

  Serial.begin(9600);

}


void loop() {

  val = analogRead(analPin);    // read the value from the sensor

  digitalWrite(ledPin, HIGH);  // turn the ledPin on

  x = map(val,0,1023,0,vcc);

  th = (((float)(vcc-x)*10.0)/(float)x)*1000.0;

  ce = ((log(4.0*th - 3000.0) / (-0.024119329) + 473)-32.0)/1.8;

  

  //Serial.print(vcc-x);

  //Serial.print(", ");

  //Serial.print(x);

  //Serial.print(", ");

  //Serial.print(th);

  //Serial.print(", ");

  Serial.println(ce);

  digitalWrite(ledPin, LOW);   // turn the ledPin off

  delay(200);                  // stop the program for some time

}