void setup()
{
pinMode(A3, INPUT);
Serial.begin(9600);
}
void loop()
{
int light=analogRead(A3);
Serial.println(light);
}
가장 기본적인 조도 센서의 사용
저항은 10k옴을 연결하고
+는 그대로 사용하도록 한다.
또한 아날로그 입력으로 아날로그 핀을 통해 연속적인 값을 받는다.
여기서 조도센서가 감지하는 빛의 양은 54~974의 범위를 가졌다.
이를 이용해 LED를 부착하면 다음과 같이 구성을 할 수 있다.
void setup()
{
pinMode(A3, INPUT);
pinMode(6, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int light=analogRead(A3); //54 ~ 974
Serial.println(light);
if (light < 200)
{digitalWrite(6, 1);
}
else
digitalWrite(6, 0);
}
들어오는 빛의 양을 따라 LED가 켜지고 꺼지게 구성한 결과.
void setup()
{
pinMode(A3, INPUT);
pinMode(6, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int light=analogRead(A3); //54 ~ 974
int lightin = map(light, 974, 54, 0, 255);
Serial.println(lightin);
analogWrite(6, lightin);
}
map 함수를 통해 조도 54~974의 밝기 범위를 0~255까지 매핑하고
그것을 통해 아날로그 LED 밝기를 제어하게 만들었다
* 여기서 map 함수의 2,3번째 인자는 어두움에 따라 밝아짐을 나타내기 위해
54와 974를 역으로 바꿔 974, 54와 같이 나타내었다.
혹은 0, 255 를 서로 교환해 54, 974, 255, 0 과 같이 나타낼 수도 있을 것이다.
'IoT > Arduino' 카테고리의 다른 글
버튼과 서보모터, LED의 연계 (0) | 2020.12.28 |
---|---|
서보모터의 활용 (0) | 2020.12.28 |
가변저항의 이용 (0) | 2020.12.24 |