LCD(Liquid Crystal Display)
I2C 통신으로 4개의 배선으로 16*2 LCD를 제어하는 모듈입니다.
I2C주소는 대부분 [0x27]이지만 간혹 다른 경우가 있으므로 주소 확인 후 사용을 권장합니다.
사양 및 필요 하드웨어
- 작동전압 : 5V
- 16*2 LCD I2C MODULE
- Arduino UNO
- UNO cable
- F-M Cable (4ea)
라이브러리
- Wire (기본 라이브러리이므로 설치할 필요 없습니다.)
- LiquidCrystal I2C
라이브러리 설치방법 링크를 통해 설치 방법을 확인하세요.
연결
I2C LCD | Arduino UNO |
GND | GND |
VCC | 5V |
SDA | A4 |
SCL | A5 |
주소 확인 방법
하단 코드 업로드 후 시리얼 모니터 실행 시 주소확인 가능합니다.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
//사용 전에 lcd를 초기화 해줍니다.
lcd.init();
//lcd의 백라이트를 작동합니다.
lcd.backlight();
//lcd의 위치를 (0,0)으로 지정합니다.(좌상단 기준)
lcd.setCursor(0, 0);
//출력할 문구를 작성합니다.
lcd.print("Gongzipsa");
//lcd의 위치를 (0,1)로 지정합니다.
lcd.setCursor(0, 1);
//val 값을 출력합니다.
int val = 1004;
lcd.print(val);
}
void loop(){}
예제 코드
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
//사용 전에 lcd를 초기화 해줍니다.
lcd.init();
//lcd의 백라이트를 작동합니다.
lcd.backlight();
//lcd의 위치를 (0,0)으로 지정합니다.(좌상단 기준)
lcd.setCursor(0, 0);
//출력할 문구를 작성합니다.
lcd.print("Gongzipsa");
//lcd의 위치를 (0,1)로 지정합니다.
lcd.setCursor(0, 1);
//val 값을 출력합니다.
int val = 1004;
lcd.print(val);
}
void loop(){}
예제 코드 결과
추가사항
가변저항을 조절하여 lcd 글씨의 밝기를 조절 가능합니다.
구매 링크
액티브 버저(Active Buzzer)와 패시브 버저(Passive Buzzer)는 외관상으로는 구분하기 어려울 수 있습니다. 하지만 몇 가지 힌트를 통해 구분할 수 있는 방법이 있습니다.
1. 레이블 및 마킹
- 액티브 버저: 보통 "Active" 또는 특정 주파수(예: "5V 12kHz")가 표시된 라벨이 붙어 있을 수 있습니다.
- 패시브 버저: "Passive" 또는 주파수 표시가 없는 경우가 많습니다.
2. 핀 구성
- 액티브 버저: 일반적으로 두 개의 핀을 가지고 있으며, 전압을 공급하면 바로 소리가 납니다.
- 패시브 버저: 액티브 버저와 동일하게 두 개의 핀을 가지고 있지만, 단순히 전압을 공급해도 소리가 나지 않으며, 외부에서 주파수 신호를 공급해야 소리가 납니다.
3. 전자 회로
- 액티브 버저: 내부에 발진 회로가 내장되어 있어, 전압을 공급하면 자동으로 소리가 나옵니다.
- 패시브 버저: 내부에 발진 회로가 없고, 외부에서 주파수 신호를 입력해야 작동합니다.
4. 테스트 방법
가장 확실한 방법은 테스트를 통해 구분하는 것입니다.
- 액티브 버저: 전원을 연결하면 바로 소리가 납니다.
- 패시브 버저: 전원을 연결해도 소리가 나지 않으며, 주파수 신호를 입력해야 소리가 납니다.
이와 같은 방법으로 액티브 버저와 패시브 버저를 구분할 수 있습니다. 외관만으로는 완벽하게 구분하기 어려울 수 있으므로, 라벨이나 테스트를 통해 확인하는 것이 가장 좋습니다.