인투피온 강좌/아두이노 팁(Tip)

아두이노 조도센서 사용하기

인투피온 2021. 12. 20. 13:13

 

 

안녕하세요.

오늘은 조도센서 사용법에 대해 알아보겠습니다.

 

 

 

 

회로

 

 

조도센서.fzz
0.02MB

 

 

RGB LED 모듈의 핀은 반드시 PWM 에 연결해주세요.

 

 

 

코딩하기

 

계속해서 변화하는 빛의 세기를 측정하는 코드를 만들어보았습니다. 

 

#define BLUE 9
#define GREEN 10
#define RED 11
#define light A0

float i=0; //조도센서 값
float v=0; //LED 밝기 값

void setup() {
   Serial.begin(9600);
   pinMode(RED, OUTPUT);
   pinMode(GREEN, OUTPUT);
   pinMode(BLUE, OUTPUT);
   digitalWrite(RED, LOW);
   digitalWrite(GREEN, LOW);
   digitalWrite(BLUE, LOW);
}

void loop() {
  int redValue;
  int greenValue;
  int blueValue;


   for(v=0; v<256;v++){
      analogWrite(RED, v);
      analogWrite(GREEN, v);
      analogWrite(BLUE, v);
      
      i = analogRead(light); 
       Serial.print("light =  ");
      Serial.print(i);
      Serial.print("  Value = ");
      Serial.println(v);

       delay(30); 
   }
   for(v=255 ; v>=0 ; v--){
      analogWrite(RED, v);
      analogWrite(GREEN, v);
      analogWrite(BLUE, v);
      
      i = analogRead(light); 
      Serial.print("light =  ");
      Serial.print(i);
      Serial.print("  Value = ");
      Serial.println(v);
       
      delay(30); 
   }

 

 

이렇게 소스를 업로드하고 동작을 하면

아래처럼 LED 의 밝기가 0~255 를 반복하는데,

밝기 변화에 따라 조도센서 값도

같이 비례하여 따라가는 것을 볼 수 있습니다.

 

 

 

 

빛이 밝아질수록 조도센서 값도 올라가는 것을 볼 수 있습니다.

 

반대로 길거리의 가로등처럼 '일정값 이하로 내려가면 LED를 켜기'도 할 수 있습니다.

이 때는 LED를 켜고 끄기만 하므로 digitalWrite 를 쓰시면 될 것 같습니다.

 

 

 

마무리

 

 

 

 

이상으로 조도센서 사용법 에 대해 알아보았습니다.

 

 

 

 

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net