====== 백라이트 제어하기 ======
컴파일 파이의 백라이트는 GPIO 에 연결되어 있습니다. 모델에 따라 연결된 GPIO포트번호는 다릅니다.
따라서 백라이트를 코멘드라인 또는 프로그래밍 언어에 의해서 On/Off 할 수 있습니다.
===== 코멘드라인 에서 제어 =====
==== CPi-A & CPi-B & CPi-S : 포트 34====
끄기
# using Bullseye
raspi-gpio set 34 op
raspi-gpio set 34 dl
# using Buster or prior OSes
gpio mode 34 output
gpio write 34 0
켜기
# using Bullseye
raspi-gpio set 34 op
raspi-gpio set 34 dh
# using Buster or prior OSes
gpio mode 34 output
gpio write 34 1
==== CPi-C : 포트 44 ====
끄기
# using Bullseye
raspi-gpio set 44 op
raspi-gpio set 44 dl
# using Buster or prior OSes
gpio mode 44 output
gpio write 44 0
켜기
# using Bullseye
raspi-gpio set 44 op
raspi-gpio set 44 dh
# using Buster or prior OSes
gpio mode 44 output
gpio write 44 1
===== C 프로그램 =====
[[http://abyz.co.uk/rpi/pigpio/pdif2.html|pigpio]] 라이브러리를 사용해서 작성한 C소스입니다.
#include
#define PIN 34 // CPi-A & CPi-B & CPi-S
// #define PIN 44 // CPi-C
void backlight_on()
{
auto instance = pigpio_start(NULL, NULL);
set_mode(instance, PIN, PI_OUTPUT);
gpio_write(instance, PIN, 1);
pigpio_stop(instance);
}
void backlight_off()
{
auto instance = pigpio_start(NULL, NULL);
set_mode(instance, PIN, PI_OUTPUT);
gpio_write(instance, PIN, 0);
pigpio_stop(instance);
}
**Note**:
''set_mode'' 펑션이 ''PI_NOT_PERMITTED''을 리턴할 수 있으므로, 아래와 같이 ''/lib/systemd/system/pigpiod.service'' 을 수정해서 사용하세요.
ExecStart=/usr/bin/pigpiod -l -x0x00FFFFFFFFFFFF
===== Backlight Dimming =====
백라이트 밝기 조정을 위해서 CPi-A, CPi-B, CPi-S는 GPIO31, CPi-C는 GPIO26핀에 PWM을 사용하여 제어 할 수 있습니다. pigpio 라이브러리를 사용하여 백라이트의 밝기를 조정합니다.
#include
#include
#include
using namespace std;
#define PIN 31 // CPi-A & CPi-B
// #define PIN 26 // CPi-C
int main(int argc, char *argv[])
{
int value = stoi(argv[1]);
auto instance = pigpio_start(NULL, NULL);
set_mode(instance, PIN, PI_OUTPUT);
set_PWM_frequency(instance, PIN, 200);
set_PWM_dutycycle(instance, PIN, value);
pigpio_stop(instance);
}
컴파일 및 실행 :
g++ backlight.cpp -lpigpiod_if2 -lpthread -o backlight
./backlight 0 # minimum brightness
./backlight 128 # medium brightness
./backlight 255 # maximum brightness
[[comfilepi:index#추가설명|상위 페이지로 이동]]