라즈베리파이 - LED 밝기 제어 시도 // PWM, fd

_·2020년 6월 3일
0

raspberrypi

목록 보기
3/4

PWM(Pulse Width Modulation) ::

  • 펄스 폭 변조를 의미하는데, 한 주기에 있는 HIGH와 LOW 값의 비율로 출력되는 디지털 신호의 폭을 조절해서 값을 출력하는 방법.

이 신호를 이용하여 LED의 밝기나 모터 속도 등을 제어할 수 있다고 한다.

duty :: PWM에서 한 주기동안 HIGH가 차지하고 있는 비율.

duty cycle :: 신호가 시스템이 살아 있는 특정 기간(period)의 백분율.


gpio를 파일 디스크립터로 직접 접근하여 LED의 밝기를 조절해 보았다.

duty가 1, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100% 일때의 사진을 찍었는데, 눈으로 볼 때랑 카메라로 찍히는거랑 보이는 게 다르다.. 눈으로 직접 보면 LED 밝기의 차이가 눈에 보이는데, 카메라로 사진 촬영하면 LED 전체가 밝아 보인다.

붉은 LED의 빛이 뒤에 검은 지갑으로 비춰지는 정도로 그나마 사진에서 구별이 된다.

이정도면 성공한것으로 보인다.

아직 과제로 나오지는 않았지만, 과제로 나오면 fd 여는 것 말고 FILE*를 사용하여 구현하게 될 것 같다.


freq : 10000 [Hz]
duty : 0 [%]


freq : 10000 [Hz]
duty : 1 [%]


freq : 10000 [Hz]
duty : 5 [%]


freq : 10000 [Hz]
duty : 10 [%]


freq : 10000 [Hz]
duty : 20 [%]


freq : 10000 [Hz]
duty : 30 [%]


freq : 10000 [Hz]
duty : 40 [%]


freq : 10000 [Hz]
duty : 50 [%]


freq : 10000 [Hz]
duty : 60 [%]


freq : 10000 [Hz]
duty : 70 [%]


freq : 10000 [Hz]
duty : 80 [%]


freq : 10000 [Hz]
duty : 90 [%]


freq : 10000 [Hz]
duty : 100 [%]


profile
_

0개의 댓글