====== 백라이트 제어하기 ====== 컴파일 파이의 백라이트는 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#추가설명|상위 페이지로 이동]]