본문 바로가기
AVR

[AVR] LED 실습 3. LED 잔상 실험

by hseoy 2020. 6. 4.
반응형

[LED 실습 3. LED 잔상 실험 ]

이 글에서는 AVR(Atmega128A)에서 LED제어하는 것을 실습한 내용을 다루려고 한다. 이 글은 지식을 나누고자 하는 목적이 아닌 개인 기록의 목적으로 작성했다는 점을 기억하기를 바란다.

# 실습 3. LED 잔상 실험

이 문제에서 알아야 할 것은 LED실습2와 같으므로 생략하겠다.

회로의 경우, 실습1 과 동일하다.

코드의 로직은 LED실습2와 매우 유사하다. 단지 지연 시간만 짧게 해주면 된다. 그 이유는 LED가 짧은 시간 동안 껐다 켜지게 되면 우리 눈에 LED의 "잔상"이 남아 LED가 켜진 것으로 인식하기 때문이다. 이 실습은 그것을 실험하기 위함일 듯하다. 여기서는 지연 시간을 10ms로 설정하였다.

#define F_CPU 16000000UL
#include <avr/io.h> 
#include <util/delay.h> 

int main() 
{
	DDRC = 0xFF;
	PORTC = 0x00;
	while(1) 
	{ 
		PORTC = 0xFF; 
		_delay_ms(10);
		PORTC = 0x00;
		_delay_ms(10);
	} 
}

아래 영상은 위 코드를 AVR에 업로드하여 실행한 영상이다. 보면 알겠지만 매우 짧은 주기로 LED가 반짝이는 것이 찍혔다. 그런데 직접 실행해보면 LED가 깜빡하는 것이 보이지 않는다. 이것은 위에서 말했다시피 LED가 매우 짧은 시간동안 깜빡이면서 눈에 잔상이 남아 LED가 계속해서 켜져있는 것처럼 보이는 것이다. 이거 같은 경우에는 한번 직접 실행해보기를 바란다.

 

반응형

댓글