Skip to content

Commit 5e97aa9

Browse files
committed
docs : text LCD
- 액정을 사용한 출력장치 - 16칸 2줄 - print, write, clear, setCursor
1 parent 3a8bb50 commit 5e97aa9

File tree

1 file changed

+174
-3
lines changed

1 file changed

+174
-3
lines changed

부품&연결방법/text_LCD.md

+174-3
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,190 @@
1-
# 📌
1+
# 📌 text LCD
2+
3+
LCD : 액정(Liquid Crystal)을 이용해 문자 출력
4+
5+
- 16핀 = 제어3 + 데이터8 + 전원5
6+
7+
![image](https://user-images.githubusercontent.com/54584063/84368010-00237780-ac10-11ea-9829-c7f1031a516a.png)
8+
9+
![image](https://user-images.githubusercontent.com/54584063/84368372-732cee00-ac10-11ea-90c8-1ce365ad7b56.png)
10+
11+
- 제어핀
12+
13+
- 4. RS : 데이터 제어(RS=HIGH), 명령 제어(RS=LOW)
14+
15+
- 5. R/W : 읽기(R/W=HIGH), 쓰기(R/W=LOW)
16+
17+
- 6. E : enable(처리시작)하도록 신호
218

319
### ✔ 연결방법
420

21+
![image](https://user-images.githubusercontent.com/54584063/84368828-0bc36e00-ac11-11ea-8167-861e4b184fd8.png)
22+
23+
- Vss : 그라운드 연결
24+
25+
- Vcc : 전원 연결
26+
27+
- RS : 출력핀
28+
29+
- R/W : write로만 사용 -> GND
30+
31+
- 상위 4비트만 출력핀에 연결
32+
33+
- LED 백라이트 전원 연결
534

635
<br><br>
736

8-
###
37+
### ✔ 제어 방법
38+
39+
1. **"LiquidCrystal"**라이브러리
40+
41+
2. 객체 생성
42+
43+
LiquidCrystal lcd(44, 45, 46, 47, 48, 49);
44+
45+
3. 라이브러리 초기화
46+
47+
lcd.begin(열, 행)
48+
49+
lcd.begin(16, 2) : 16열 2행
50+
51+
52+
<br><br>
53+
54+
### ✔ 출력 함수
55+
56+
- lcd.write()
57+
58+
- lcd.print()
59+
60+
- lcd.clear() : 화면 지움
61+
62+
- lcd.setCursor(col, row) : 커서 위치
63+
64+
16열 2행 = (0,0) ~ (15,1)
65+
66+
- 🔎 write / print
67+
68+
print(1) : 1, write(1) : 아스키코드
969

1070

1171
<br><br>
1272

1373
### ✔ LAB
1474

75+
- Hello World 표시
76+
77+
```c
78+
#include <LiquidCrystal.h>
79+
80+
// 핀번호 (RS, E, DB4, DB5, DB6, DB7)
81+
LiquidCrystal lcd(44, 45, 46, 47, 48, 49); // LCD연결
1582

83+
void setup() {
84+
lcd.begin(16, 2);
85+
lcd.print("Hello World!");
86+
}
87+
88+
void loop(){}
89+
```
90+
- 임의의 위치 표시
91+
92+
```c
93+
#include <LiquidCrystal.h>
94+
95+
LiquidCrystal lcd(44, 45, 46, 47, 48, 49);
96+
97+
void setup(){
98+
lcd.begin(16, 2); // LCD 초기화
99+
lcd.setCursor(0,0);
100+
lcd.write('1');
101+
102+
lcd.setCursor(5,0);
103+
lcd.write('2');
104+
105+
lcd.setCursor(0, 1);
106+
lcd.write('3');
107+
108+
lcd.setCursor(5,1);
109+
lcd.write('4');
110+
}
111+
112+
void loop(){}
113+
```
114+
- 사용자 정의 문자
115+
116+
![image](https://user-images.githubusercontent.com/54584063/84373409-7f687980-ac17-11ea-8b58-9126ee7c8ea1.png)
117+
118+
- void createChar(위치, 문자데이터)
119+
120+
```js
121+
#include <LiquidCrystal.h>
122+
// 핀 번호 (RS, E, DB4, DB5, DB6, DB7)
123+
LiquidCrystal lcd(44, 45, 46, 47, 48, 49); // LCD 연결
124+
// 사용자 정의 문자 데이터
125+
byte user1[8] = { B00000, B10001, B00000, B00000, B10001, B01110, B00000, B00000 };
126+
byte user2[8] = { B00000, B10001, B01010, B10001, B00000, B10001, B01110, B00000 };
127+
void setup() {
128+
lcd.createChar(0, user1); // 사용자 정의 문자 1 생성
129+
lcd.createChar(1, user2); // 사용자 정의 문자 2 생성
130+
lcd.begin(16, 2); // LCD 크기 설정
131+
lcd.clear(); // LCD 화면 지우기
132+
lcd.write(byte(0)); // 사용자 정의 문자 1 출력
133+
lcd.setCursor(0, 1); // 두 번째 행으로 이동
134+
lcd.write(byte(1)); // 사용자 정의 문자 2 출력
135+
}
136+
void loop() { }
137+
138+
```
16139

17140
<br><br>
18141

19-
### 🔎 정리
142+
### ✔ Text LCD 내부구조
143+
144+
![image](https://user-images.githubusercontent.com/54584063/84373698-e6862e00-ac17-11ea-8f62-7fa22979ce86.png)
145+
146+
- 하나의 모듈 = LCD panel + 제어기(controller)
147+
148+
- 데이터 버스로 데이터 이동 : 전송된 문자 데이터 지정된 방식으로 출력
149+
150+
- DD RAM
151+
152+
: LCD화면과 1:1 대응
153+
- CG RAM
154+
155+
: LCD에 Display
156+
157+
- CG ROM
158+
159+
: LCD화면에 display될 글자데이터 저장하고 있는 ROM
160+
161+
- controller
162+
163+
: display 문자코드를 받아서 DDRAM 에 write, display변경 명령 처리, 주기적으로 DDRAM 데이터 읽어서
164+
그에 따른 글자를 ROM에서 읽어와 display하는 일 수행
165+
166+
- Power회로
167+
168+
: High level 신호를 만드는 Boost DC-DC converter; 필요한 여러가지의 전압을 만들어 전압분배회로 등의
169+
전원 회로
170+
171+
172+
<br><br>
173+
174+
### 🔎 정리
175+
176+
- text LCD
177+
178+
- 액정을 사용한 출력장치
179+
180+
- 162
181+
182+
- "LiquidCrystal" 라이브러리
183+
184+
- 단점
185+
186+
- 고정된 위치
187+
188+
- 문자 출력
189+
190+
- 흑백

0 commit comments

Comments
 (0)