192x64 COG LCD 공급업체로서 저는 이러한 디스플레이에 막대 그래프를 만드는 것에 대해 수많은 문의를 받았습니다. 이 블로그에서는 기본 이해부터 실제 코드 구현까지 모든 것을 다루는 192x64 COG LCD 디스플레이 막대 그래프를 만드는 방법에 대한 포괄적인 가이드를 공유하겠습니다.
192x64 COG LCD 이해
막대 그래프를 만들기 전에 192x64 COG LCD의 특성을 이해하는 것이 중요합니다. "192x64"는 디스플레이의 해상도를 나타냅니다. 즉, 가로 192픽셀, 세로 64픽셀을 의미합니다. "COG"는 Chip On Glass의 약자로, LCD 유리 기판에 집적회로를 직접 실장하는 기술입니다. 그 결과 더욱 컴팩트하고 안정적인 디스플레이가 탄생했습니다.
다른 LCD에 비해12864B LCD그리고122x32 그래픽 LCD192x64 COG LCD는 더 넓은 표시 영역을 제공하므로 막대 그래프와 같은 보다 상세하고 복잡한 시각화가 가능합니다.
전제조건
192x64 COG LCD에서 막대 그래프를 생성하려면 다음이 필요합니다.
- 192x64 COG LCD: 저희처럼 믿을 수 있는 공급업체로부터 구매하실 수 있습니다. 우리를 확인해보세요192x64 LCD자세한 내용은
- 마이크로컨트롤러: 마이크로 컨트롤러는 LCD를 제어하고 막대 그래프 데이터를 생성하는 데 사용됩니다. 널리 사용되는 선택에는 Arduino, Raspberry Pi 및 STM32가 있습니다.
- 프로그래밍 언어: C, C++, Python 등 마이크로컨트롤러와 호환되는 프로그래밍 언어를 알아야 합니다.
- LCD 드라이버 라이브러리: 대부분의 마이크로 컨트롤러에는 LCD 제어에 사용할 수 있는 라이브러리가 있습니다. 이러한 라이브러리는 LCD와의 통신 프로세스를 단순화하고 화면 지우기, 텍스트 쓰기, 도형 그리기와 같은 기본 작업을 수행합니다.
1단계: LCD를 마이크로컨트롤러에 연결
첫 번째 단계는 192x64 COG LCD를 마이크로컨트롤러에 연결하는 것입니다. 정확한 핀 연결은 사용 중인 특정 LCD와 마이크로컨트롤러에 따라 다릅니다. 그러나 대부분의 LCD에는 다음과 같은 연결이 필요합니다.
- 전원공급장치: LCD의 VCC 및 GND 핀을 마이크로컨트롤러의 해당 전원 공급 장치 핀에 연결합니다.
- 데이터 라인: LCD의 데이터 라인(보통 D0 - D7로 표시)을 마이크로컨트롤러의 해당 데이터 핀에 연결합니다.
- 제어선: LCD의 제어 라인(예: RS, RW, E)을 마이크로컨트롤러의 해당 제어 핀에 연결합니다.
연결이 완료되면 연결이 올바른지 다시 확인하세요. 잘못 연결하면 LCD에 아무것도 표시되지 않거나 문자가 깨져 표시되는 등의 문제가 발생할 수 있습니다.


2단계: LCD 초기화
LCD를 마이크로 컨트롤러에 연결한 후 LCD 드라이버 라이브러리를 사용하여 LCD를 초기화해야 합니다. 초기화에는 일반적으로 디스플레이 모드 설정, 화면 지우기, 기타 디스플레이 매개변수 구성이 포함됩니다.
다음은 Arduino IDE 및 U8g2 라이브러리를 사용하여 192x64 COG LCD를 초기화하는 방법의 예입니다.
#include <U8g2lib.h> // 192x64 COG LCD용 U8g2 라이브러리 인스턴스 생성 U8g2_SSD1306_192X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* 재설정=*/ U8X8_PIN_NONE); void setup() { // LCD 초기화 u8g2.begin(); // 화면 지우기 u8g2.clearBuffer(); // 디스플레이 업데이트 u8g2.sendBuffer(); } void loop() { // 주요 코드가 여기에 위치합니다 }
이 예에서는 U8g2 라이브러리를 사용하여 192x64 COG LCD를 제어합니다. 그만큼U8g2_SSD1306_192X64_NONAME_F_SW_I2C생성자는 특정 LCD 모델에 대한 라이브러리 인스턴스를 생성합니다. 그만큼시작하다()기능은 LCD를 초기화하고클리어버퍼()그리고sendBuffer()기능은 각각 화면을 지우고 디스플레이를 업데이트합니다.
3단계: 막대 그래프 데이터 정의
LCD에 막대 그래프를 그리기 전에 막대로 표시할 데이터를 정의해야 합니다. 이 데이터는 센서, 데이터베이스, 사용자 입력 등 다양한 소스에서 얻을 수 있습니다.
단순화를 위해 막대 값을 나타내는 정수 배열이 있다고 가정해 보겠습니다.
const int numBars = 5; int barValues[numBars] = {20, 40, 60, 80, 100};
이 예에는 5개의 막대 값을 나타내는 5개의 정수 배열이 있습니다.
4단계: 막대 그래프 그리기
막대 그래프 데이터가 있으면 LCD에 막대 그리기를 시작할 수 있습니다. 막대를 그리려면 막대가 나타내는 값과 사용 가능한 표시 영역을 기반으로 막대의 위치와 크기를 계산해야 합니다.
다음은 U8g2 라이브러리를 사용하여 192x64 COG LCD에 막대 그래프를 그리는 방법의 예입니다.
#include <U8g2lib.h> // 192x64 COG LCD용 U8g2 라이브러리 인스턴스 생성 U8g2_SSD1306_192X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* 재설정=*/ U8X8_PIN_NONE); const int numBars = 5; int barValues[numBars] = {20, 40, 60, 80, 100}; void setup() { // LCD 초기화 u8g2.begin(); } void loop() { // 화면을 지웁니다 u8g2.clearBuffer(); // 각 막대의 너비를 계산합니다. int barWidth = u8g2.getWidth() / numBars; // 각 막대를 그립니다. for (int i = 0; i < numBars; i++) { int barHeight = (barValues[i] * u8g2.getHeight()) / 100; int x = i * barWidth; int y = u8g2.getHeight() - barHeight; u8g2.drawBox(x, y, barWidth, barHeight); } // 디스플레이 업데이트 u8g2.sendBuffer(); // 짧은 시간 동안의 지연 Delay(1000); }
이 예에서는 먼저 막대 수와 LCD 너비를 기준으로 각 막대의 너비를 계산합니다. 그런 다음 각 막대를 반복하고 해당 값과 LCD 높이를 기준으로 높이를 계산합니다. 마지막으로, 우리는드로우박스()LCD에 막대를 그리는 기능입니다.
5단계: 막대 그래프 사용자 정의
기본 막대 그래프가 작동되면 이를 사용자 정의하여 시각적으로 더욱 매력적이고 유익하게 만들 수 있습니다. 막대 그래프를 사용자 정의하는 몇 가지 방법은 다음과 같습니다.
- 라벨 추가: 막대에 레이블을 추가하여 값이나 이름을 표시할 수 있습니다. 라벨을 추가하려면
drawStr()LCD 드라이버 라이브러리에서 제공하는 기능입니다. - 색상 변경: 대부분의 LCD 드라이버 라이브러리를 사용하면 막대의 색상과 디스플레이의 기타 요소를 변경할 수 있습니다. 다양한 색상을 사용하여 다양한 막대를 구별하거나 중요한 정보를 강조할 수 있습니다.
- 막대 애니메이션: 막대에 애니메이션을 적용하여 막대 그래프를 더욱 동적으로 만들 수 있습니다. 막대에 애니메이션을 적용하려면
고리()기능을 수행하고 일정한 간격으로 막대 그래프를 다시 그립니다.
결론
192x64 COG LCD에서 막대 그래프를 생성하는 것은 LCD를 마이크로컨트롤러에 연결하고, LCD를 초기화하고, 막대 그래프 데이터를 정의하고, LCD에 막대를 그리고 막대 그래프를 사용자 정의하는 등 비교적 간단한 프로세스입니다. 이 블로그에 설명된 단계를 따르면 192x64 COG LCD에 자신만의 막대 그래프를 만들 수 있습니다.
192x64 COG LCD 구입에 관심이 있거나 이러한 디스플레이에 막대 그래프를 생성하는 방법에 대해 질문이 있는 경우 언제든지 당사에 문의하여 자세한 내용을 알아보고 특정 요구 사항에 대해 논의하세요. 우리는 귀하의 요구 사항에 가장 적합한 솔루션을 찾을 수 있도록 도와드립니다.
참고자료
- U8g2 라이브러리 문서
- Arduino IDE 문서
- LCD 데이터 시트
