밝기를 측정할 수 있는 센서. 키트 내에는 황화카드뮴을 소재로 만들어진 cds 센서를 사용한다.
조도 센서는 극성이 없고, 빛의 양에 따라 전도율이 달라진다. 밝을 수록 전도율이 높아져 저항이 낮아지고, 어두울 수록 전도율이 낮아져 저항이 높아진다.
int led = 3;
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(A1);
Serial.println(val);
if(val < 512){
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}
delay(100);
}



불꽃에서 나오는 빛을 받으면 콜렉터(C)에서 에미터(E)로 전류가 흐르게 되어 출력값이 증가한다.
int led1 = 3;
int led2 = 4;
int val;
void setup() {
// put your setup code here, to run once:
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(A0, INPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
val = analogRead(A0);
Serial.println(val);
if(val >= 800){//불꽃 감지
digitalWrite(led1, HIGH);//red on
digitalWrite(led2, LOW);
}
else{
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);//blue on
}
}


적외선 리모컨의 적외선(Infrared, IR)은 가시광선보다 파장이 길어 눈에 보이지 않는다.
적외선 수신기 IR receiver를 사용하기 위해 IRremote 라이브러리가 필요하다.

리모콘이 문제인지 IR수신기가 문제인지 실습을 할 수가 없다.
부품 구매할 게 늘어났다.
cds 센서를 통해 밝기 인식에 따라 LED 밝기를 다르게 하는 예제
int led = 3;
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(A0);
Serial.println(val);
int brightness = map(val, 0, 1023, 255, 0);//val값은 0~1023으로 읽히고, 0~255로 반환
analogWrite(led, brightness);
delay(500);
}

