본문 바로가기

IoT/Arduino

조도센서의 이용

 

 

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