728x90
LCD, OLED, LED 매트릭스는 각각 다른 특성과 용도를 가진 디스플레이 기술입니다. 아두이노와의 연결 방법을 이해하면 이들 디스플레이를 다양한 프로젝트에 활용할 수 있습니다. 이번 글에서는 LCD, OLED, LED 매트릭스의 종류와 아두이노와의 연결 방법에 대해 알아보겠습니다.
1. LCD (Liquid Crystal Display)
1.1. 종류
- 16x2 LCD: 가장 일반적인 LCD로, 16자 x 2행을 표시할 수 있습니다. 캐릭터 기반으로 텍스트를 표시하는 데 사용됩니다.
- 20x4 LCD: 20자 x 4행을 표시할 수 있는 LCD로, 보다 많은 정보를 표시할 수 있습니다.
- LCD 128x64: 그래픽 LCD로, 128x64 픽셀의 해상도를 갖추고 있어 이미지와 그래픽을 표시할 수 있습니다.
1.2. 아두이노 연결
16x2 LCD 연결 방법
필요한 재료
- 16x2 LCD
- 아두이노 보드 (예: Arduino Uno)
- 10kΩ 저항 (대개는 가변 저항)
- 점퍼 와이어
회로 구성
- 전원 연결
- LCD VCC -> 아두이노 5V
- LCD GND -> 아두이노 GND
- 컨트롤 핀 연결
- LCD RS -> 아두이노 디지털 핀 12
- LCD E -> 아두이노 디지털 핀 11
- 데이터 핀 연결
- LCD D4 -> 아두이노 디지털 핀 10
- LCD D5 -> 아두이노 디지털 핀 9
- LCD D6 -> 아두이노 디지털 핀 8
- LCD D7 -> 아두이노 디지털 핀 7
- 대조 조정
- LCD V0 (대조) -> 가변 저항의 가운데 핀
- 가변 저항의 두 다른 핀을 5V와 GND에 연결
코드 예제
#include <LiquidCrystal.h>
// LCD 핀 설정
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup() {
lcd.begin(16, 2); // LCD의 크기 설정
lcd.print("Hello, World!"); // LCD에 메시지 출력
}
void loop() {
// 메인 루프에서 코드 작성
}
2. OLED (Organic Light Emitting Diode)
2.1. 종류
- 128x64 OLED: 128x64 픽셀의 해상도를 가진 작은 OLED 화면으로, 텍스트와 간단한 그래픽을 표시하는 데 사용됩니다.
- 128x32 OLED: 128x32 픽셀의 해상도를 가진 OLED 화면으로, 보다 작은 화면을 제공하지만 여전히 많은 정보를 표시할 수 있습니다.
2.2. 아두이노 연결
128x64 OLED 연결 방법
필요한 재료
- 128x64 OLED
- 아두이노 보드 (예: Arduino Uno)
- 점퍼 와이어
회로 구성
- 전원 연결
- OLED VCC -> 아두이노 5V
- OLED GND -> 아두이노 GND
- I2C 연결
- OLED SDA -> 아두이노 A4 (SDA)
- OLED SCL -> 아두이노 A5 (SCL)
코드 예제
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// OLED 디스플레이의 크기와 I2C 주소 설정
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
// 디스플레이 초기화
if(!display.begin(SSD1306_I2C_ADDRESS, 0x3D)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.print(F("Hello, OLED!"));
display.display();
}
void loop() {
// 메인 루프에서 코드 작성
}
3. LED 매트릭스
3.1. 종류
- 8x8 LED 매트릭스: 8x8 픽셀로 구성된 기본적인 LED 매트릭스. 단순한 그래픽 및 텍스트 표시.
- 16x16 LED 매트릭스: 16x16 픽셀로 구성된 더 큰 LED 매트릭스. 더 많은 정보와 그래픽을 표시할 수 있습니다.
3.2. 아두이노 연결
8x8 LED 매트릭스 연결 방법
필요한 재료
- 8x8 LED 매트릭스
- 아두이노 보드 (예: Arduino Uno)
- MAX7219 드라이버 모듈 (LED 매트릭스 제어용)
- 점퍼 와이어
회로 구성
- 전원 연결
- LED 매트릭스 VCC -> 아두이노 5V
- LED 매트릭스 GND -> 아두이노 GND
- MAX7219 연결
- MAX7219 VCC -> 아두이노 5V
- MAX7219 GND -> 아두이노 GND
- MAX7219 DIN -> 아두이노 디지털 핀 11
- MAX7219 CS -> 아두이노 디지털 핀 10
- MAX7219 CLK -> 아두이노 디지털 핀 13
코드 예제
#include <LedControl.h>
// MAX7219 핀 설정
#define DATA_IN 11
#define CLK 13
#define LOAD 10
#define MAX_DEVICES 1
LedControl lc = LedControl(DATA_IN, CLK, LOAD, MAX_DEVICES);
void setup() {
for (int i = 0; i < MAX_DEVICES; i++) {
lc.shutdown(i, false); // Wake up displays
lc.setIntensity(i, 8); // Set brightness level (0 is min, 15 is max)
lc.clearDisplay(i); // Clear display register
}
}
void loop() {
// 예: LED 매트릭스에 패턴을 표시
lc.setLed(0, 0, 0, true); // (디바이스, 열, 행, 상태)
delay(500);
lc.setLed(0, 1, 0, true);
delay(500);
lc.setLed(0, 0, 0, false);
lc.setLed(0, 1, 0, false);
delay(500);
}
결론
LCD, OLED, LED 매트릭스는 각각의 장점과 특성을 가지며, 아두이노와의 연결은 비교적 간단합니다. LCD는 텍스트 기반의 정보 표시에 적합하며, OLED는 더 높은 해상도와 그래픽 표현을 지원합니다. LED 매트릭스는 시각적인 패턴과 정보를 표시하는 데 유용합니다. 이러한 디스플레이 기술을 활용하여 다양한 프로젝트와 응용을 구현할 수 있습니다.
728x90
반응형
'Hardware > 아두이노' 카테고리의 다른 글
아두이노 시작하기 - 통신 (0) | 2024.07.31 |
---|---|
아두이노 시작하기 - 디스플레이 2 (0) | 2024.07.31 |
아두이노 시작하기 - 기판 및 쉴드 (0) | 2024.07.31 |
아두이노 시작하기 - 전선(Wire) (0) | 2024.07.31 |
아두이노 시작하기 - 콘덴서 (0) | 2024.07.31 |