차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| comfilepi:backlight:index [2026/02/20 15:34] – 만듦 - 바깥 편집 127.0.0.1 | comfilepi:backlight:index [2026/07/14 04:36] (현재) – mfranklin | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | ====== 백라이트 제어하기 | + | ====== |
| - | 컴파일 파이의 | + | LCD 백라이트를 켜거나 끌 수 있으며, 밝기도 조절할 수 있습니다. |
| - | 따라서 백라이트를 코멘드라인 또는 프로그래밍 언어에 의해서 On/ | + | |
| + | 권장 제어 방법은 설치된 ComfilePi OS 버전에 따라 다릅니다. | ||
| - | ===== 코멘드라인 에서 제어 ===== | + | * **Bookworm 이후 버전:** 파일 기반 |
| - | ==== CPi-A & CPi-B & CPi-S : 포트 34==== | + | * **Bullseye 이전 버전:** 백라이트 GPIO 핀을 직접 제어합니다. |
| - | 끄기 | + | |
| - | < | + | ===== Bookworm 이후 버전 ===== |
| - | # using Bullseye | + | |
| - | raspi-gpio set 34 op | + | Trixie와 Bookworm은 LCD 백라이트를 제어하기 위한 파일 기반 인터페이스를 제공합니다. 이 인터페이스는 명령줄 또는 파일 입출력을 지원하는 모든 프로그래밍 언어에서 사용할 수 있습니다. |
| - | raspi-gpio set 34 dl | + | |
| - | + | 이 인터페이스는 모델별 GPIO 구현을 추상화하므로, | |
| - | # using Buster or prior OSes | + | |
| - | gpio mode 34 output | + | 또한 파일 기반 인터페이스는 밝기 값을 /// |
| - | gpio write 34 0 | + | |
| - | </code> | + | 파일의 위치는 OS 버전에 따라 다릅니다. |
| + | |||
| + | ^ OS 버전 ^ 켜기/ | ||
| + | | Trixie | '' | ||
| + | | Bookworm | ''/ | ||
| + | |||
| + | 다음 예제에서는 Trixie의 파일 경로를 사용합니다. | ||
| - | 켜기 | + | ==== 백라이트 |
| - | < | + | '' |
| - | # using Bullseye | + | |
| - | raspi-gpio set 34 op | + | |
| - | raspi-gpio set 34 dh | + | |
| - | # using Buster or prior OSes | + | <code console> |
| - | gpio mode 34 output | + | echo 1 > / |
| - | gpio write 34 1 | + | |
| </ | </ | ||
| - | ==== CPi-C : 포트 44 ==== | + | ==== 백라이트 끄기 |
| - | 끄기 | + | |
| - | < | + | '' |
| - | # using Bullseye | + | |
| - | raspi-gpio set 44 op | + | < |
| - | raspi-gpio set 44 dl | + | echo 0 > /run/cpi-backlight-fs/on |
| - | + | ||
| - | # 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 | + | 다음 명령은 밝기를 50%로 설정합니다. |
| - | gpio mode 44 output | + | |
| - | gpio write 44 1 | + | <code console> |
| + | echo 50 > / | ||
| </ | </ | ||
| - | ===== C 프로그램 | + | ===== Bullseye 이전 버전 |
| - | | + | Bookworm 이전의 ComfilePi OS에는 파일 기반 백라이트 인터페이스가 제공되지 않습니다. 이러한 |
| - | <code c> | + | GPIO 핀 번호는 ComfilePi 모델에 따라 다릅니다. |
| - | #include < | + | |
| - | #define PIN 34 // CPi-A & CPi-B & CPi-S | + | ^ 백라이트 기능 ^ CPi-A/B/S ^ CPi-C ^ |
| - | // #define PIN 44 // CPi-C | + | | 켜기/끄기 | GPIO 34 | GPIO 44 | |
| + | | 밝기 PWM | GPIO 31 | GPIO 26 | | ||
| - | void backlight_on() | + | ==== 백라이트 켜기 또는 끄기 ==== |
| - | { | + | |
| - | auto instance | + | |
| - | set_mode(instance, | + | ComfilePi 모델에 맞게 '' |
| - | gpio_write(instance, | + | |
| - | pigpio_stop(instance); | + | * '' |
| - | } | + | * '' |
| - | void backlight_off() | + | === Bullseye === |
| - | { | + | |
| - | auto instance | + | |
| - | set_mode(instance, | + | <code bash> |
| - | | + | BACKLIGHT_PIN=34 |
| + | BACKLIGHT_STATE=1 | ||
| - | pigpio_stop(instance); | + | BACKLIGHT_LEVEL=(dl dh) |
| - | } | + | |
| + | raspi-gpio set " | ||
| + | raspi-gpio set " | ||
| </ | </ | ||
| + | === Buster 이전 버전 === | ||
| - | **Note**: | + | <code bash> |
| + | BACKLIGHT_PIN=34 | ||
| + | BACKLIGHT_STATE=1 | ||
| - | '' | + | gpio mode " |
| + | gpio write " | ||
| + | </ | ||
| + | |||
| + | ==== 밝기 조절 ==== | ||
| + | |||
| + | 모델별 밝기 제어 GPIO에 PWM 신호를 출력하여 백라이트 밝기를 조절합니다. | ||
| + | |||
| + | PWM 듀티비에 따라 밝기가 결정됩니다. 듀티비를 | ||
| + | |||
| + | 다음 예제들은 모두 [[https:// | ||
| + | |||
| + | === 명령줄 예제 === | ||
| + | |||
| + | 먼저 | ||
| + | |||
| + | ComfilePi 모델에 맞게 '' | ||
| + | |||
| + | <code bash> | ||
| + | PIN=31 | ||
| + | # PIN=26 | ||
| + | |||
| + | FREQUENCY=1000 | ||
| + | BRIGHTNESS=128 | ||
| + | |||
| + | # PWM 주파수 설정 | ||
| + | pigs pfs " | ||
| - | < | + | # 밝기 설정 |
| - | ExecStart=/usr/ | + | # 128/255는 약 50% 밝기 |
| + | pigs p " | ||
| </ | </ | ||
| - | ===== Backlight Dimming ===== | + | === C# 예제 |
| - | 백라이트 밝기 조정을 위해서 CPi-A, CPi-B, CPi-S는 GPIO31, CPi-C는 GPIO26핀에 PWM을 사용하여 제어 할 수 있습니다. | + | |
| - | < | + | 먼저 '' |
| - | #include < | + | |
| - | #include < | + | < |
| - | #include < | + | using System; |
| - | + | using System.Runtime.InteropServices; | |
| - | using namespace std; | + | |
| - | + | class Backlight | |
| - | #define PIN 31 // CPi-A & CPi-B | + | |
| - | // #define PIN 26 // CPi-C | + | |
| - | + | ||
| - | int main(int argc, char *argv[]) | + | |
| { | { | ||
| - | int value = stoi(argv[1]); | + | private const string PigpioLibrary = " |
| - | + | ||
| - | auto instance | + | [DllImport(PigpioLibrary, |
| - | + | private static extern int pigpio_start(string? address, string? port); | |
| - | set_mode(instance, PIN, PI_OUTPUT); | + | |
| - | + | | |
| - | | + | private static extern void pigpio_stop(int pi); |
| - | + | ||
| - | | + | |
| - | + | private static extern int set_PWM_frequency( | |
| - | | + | int pi, |
| + | uint gpio, | ||
| + | uint frequency); | ||
| + | |||
| + | | ||
| + | private static extern int set_PWM_dutycycle( | ||
| + | int pi, | ||
| + | uint gpio, | ||
| + | uint dutyCycle); | ||
| + | |||
| + | static void Main() | ||
| + | { | ||
| + | const uint PIN = 31; // CPi-A/B/S | ||
| + | // const uint PIN = 26; // CPi-C | ||
| + | |||
| + | int pi = pigpio_start(null, null); | ||
| + | |||
| + | if (pi < 0) | ||
| + | throw new InvalidOperationException( | ||
| + | " | ||
| + | |||
| + | // PWM 주파수를 1kHz로 설정 | ||
| + | | ||
| + | |||
| + | // 0부터 255 사이의 값으로 밝기 설정 | ||
| + | // 128/255는 약 50% 밝기 | ||
| + | | ||
| + | |||
| + | pigpio_stop(pi); | ||
| + | } | ||
| } | } | ||
| </ | </ | ||
| - | 컴파일 및 실행 : | ||
| - | < | ||
| - | g++ backlight.cpp -lpigpiod_if2 -lpthread -o backlight | ||
| - | ./backlight 0 | + | === Python 예제 === |
| - | ./backlight 128 | + | |
| - | ./ | + | 먼저 '' |
| - | </ | + | |
| - | [[comfilepi: | + | <code python> |
| + | import pigpio | ||
| + | |||
| + | PIN = 31 # CPi-A/B/S | ||
| + | # PIN = 26 | ||
| + | |||
| + | pi = pigpio.pi() | ||
| + | |||
| + | # PWM 주파수를 1kHz로 설정 | ||
| + | pi.set_PWM_frequency(PIN, | ||
| + | |||
| + | # 0부터 | ||
| + | # 128/255는 약 50% 밝기 | ||
| + | pi.set_PWM_dutycycle(PIN, | ||
| + | |||
| + | pi.stop() | ||
| + | </ | ||
| + | |||
| + | [[comfilepi: | ||
| + | |||
