안녕하세요. 오늘은 조도센서 사용법에 대해 알아보겠습니다.
회로
RGB LED 모듈의 핀은 반드시 PWM에 연결해주세요
코딩하기
계속해서 변화하는 빛의 세기를 측정하는 코드를 만들어 보았습니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #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); } | cs |
이렇게 소스를 업로드 하고 동작을 하면
아래처럼 LED의 밝기가 0~255를 반복하는데, 밝기 변화에 따라 조도센서 값도
같이 비례하여 따라가는 것을 볼 수 있습니다.
빛이 밝아질수록 조도센서 값도 올라가는 것을 볼 수 있습니다.
반대로 길거리의 가로등처럼 일정값 이하로 내려가면 LED를 켜기도 할 수 있습니다.
이때는 LED를 켜고 끄기만 하므로 digitalWrite 를 쓰시면 될 것 같습니다.
마무리
이상으로 조도센서 사용법에 대해 알아보았습니다
led rgb red green blue 모듈 조도 센서 아두이노 arduino Cds sensor 코딩 예제 coding code 인투피온 intopion