본문 바로가기
Arduino(아두이노) 키트 강좌

Step.6-Arduino Uno 조도센서를 사용해 LED 밝기 조절하기

by 오마이엔지니어 2015. 5. 22.
반응형

Arduino Uno 로 CDS 조도센서를 이용해 LED 밝기를 조절하는 프로젝트 입니다
조도센서는 흔히 주변의 밝기를 측정할수 있는 센서를 말합니다
조도센서는 광(빛) 에너지를 받아 움직이는 전자가 발생하여 전도율이 변하는 광전효과를 가지는 소자를 사용하는데
(Cds)황화카드뮴 을 소자로 사용한 경우 Cds 조도센서 라고 일컫습니다
Cds 조도센서는 작고 저렴하기 때문에 자동으로 켜지는 가로등 등 여러분야에서 사용되고 있습니다

 


사용된 부품

Arduino Uno R3 (Italy)

CDS 조도센서

Blue LED

10K (Ohm) 저항

1K (Ohm) 저항

점퍼케이블

 

사용된 키트

Arduino Starter kit (클릭)
지니어스 키트 Starter Pack (클릭)


구성 배선도 

 

 

사용된 예제소스 

CDS LED.txt


/*
 Photo Resistor 사용해서 LED 조절하기

 This sketch was written by SparkFun Electronics,
 with lots of help from the Arduino community.
 This code is completely free for any use.
*/

const int sensorPin = 0;      //포토레지스터와 연결된 핀 번호 저장하는 변수 선언
const int ledPin = 9;         //LED와 연결된 핀 번호 저장하는 변수 선언

//전역변수 선언
//전역변수 : 모든 위치에서 사용할 수 있는 변수
int lightLevel;
 
void setup()
{
 //아날로그 입력핀은 설정하지 않음
 
 pinMode(ledPin, OUTPUT);    //LED 핀을 출력용으로 설정
}

void loop()
{
  lightLevel = analogRead(sensorPin);   //아날로그 값을 읽음

  manualTune();  //LED 밝기 조절 함수

  analogWrite(ledPin, lightLevel);   //lighLevel 만큼 LED가 밝혀짐
}

/*
 LED 밝기 조절 함수
*/
void manualTune()
{
  //밝기 정하기
  lightLevel = map(lightLevel, 500, 1023, 0, 255);    //500 ~ 1023범위에 있는 lightLevel를 0~255범위로 바꾼다.
  lightLevel = constrain(lightLevel, 0, 255);       //만약 위 함수에서 바뀌지 않으면 이 함수에서 바뀜


주의사항
배선시 조도센서 쪽에 연결된 저항이 10K (Ohm)

LED쪽에 연결된 저항이 1K (Ohm) 입니다
막약 배선후 LED가 점등되고 조도센서에 빛을 가려도 LED 밝기가 조절되지 않는다면

전압을 5V가 아닌 3.3V로 바꿔서 배선해 보시기 바랍니다

 

프로젝트 동영상


CDS LED.txt
0.0MB
반응형

댓글