• 검색 결과가 없습니다.

LCD, VFD 제어하기

N/A
N/A
Protected

Academic year: 2022

Share "LCD, VFD 제어하기"

Copied!
29
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

강의내용 강의내용

Ⅰ Arduino를 이용한 캐릭터

LCD, VFD 제어하기

(2)

소개 1. 소개

- CDS와 디지털 입출력포트 그 중에서도 PWM 포트를 사용하여 LED를 통하여 아날로그 출력을 해보려고 함 .

- 이번 강좌를 통해 여러가지 센서들을 응용함에 많은 도움이 될 것임.

(3)

1. 소개

- 요즘 LCD와 관련하여 많은 제품들이 나오고 있음. 종류도 다양하고 크기도 다양함 .

- 이번 강의에서는 아두이노를 이용하여 LCD와 VFD를 제어해보려고 함.

- LCD를 제어하기 위해서는 복잡한 코딩을 하여야 하지만 친절하게도

기본적으로 헤더파일이 아두이노 프로그램에 포함되어 있기 때문에 헤더파일

선언만 해주면 간단하게 LCD를 제어할 수 있음

(4)

LCD 1. 소개

- LCD(Liquid Crystal display)는 “liquid crystal” 즉 액정이라는 아이를 이용한 빛의 조절로 우리가 tv나 모니터 등에 화려한 색체등을 볼 수 있게 하는.

- 다시 말해, 인가전압에 따른 액정의 투과도의 변화를 이용하여 각종 장치에서

발생되는 여러가지 전기적인 정보를 시각정보로 변화시켜 전달하는 전기소자

(5)

VFD 1. 소개

- VFD는 음극(Cathode), 그리드(Grid), 양극(Anode)의 3종류의 전극(3극 진공관 )성되며, 음극에서 방출된 전자를 그리드에서 조절하여 양극에 충둘시킴.

- 이때, 패턴화된 양극 위에 도포된 형광체를 저속의 전자선으로 발광시킴으로 원하는 표시를 나타내는 발광형 표시장치 .

- 간단히 말하면 발생한 열전자가 그리드를 통과해 세그먼트에 부딪치면

세그먼트의 형광물질이 빛이 나면서 표시가 됨 .

(6)

2.1 LCD 회로

2. LCD 회로구성 및 출력하기

-일반적으로 아래 사진과 같이 14개 핀으로 구성되어진 LCD이면 데이터시트 도한 거의 똑같다고 보면 됨.

- 아래는 16X4 LCD임. 16X2 또는 그이상의 LCD도 핀이 14개이면 모두 다 같음

(7)

2.2 LCD 핀 구성

2. LCD 회로구성 및 출력하기

-백라이트(GND, VCC 보통 15, 16핀)를 제외한 14개의 핀으로 구성된 LCD는 모두 다 오른쪽 데이터 시트와 동일함.

-이중에서 사용되어지는 핀은 7, 8, 9, 10번 핀을 제외한 나머지 핀은 다 사용.

-LCD를 출력할 때데이터 신호 8개를 다사용하여 8bit로 출력을 해도되지만4bit로도 출력이 얼마든지 가능하기 때문에 4개의 핀만 사용함.

-아두이노의 핀은 한정되어 있기 때문에 핀이 남으면 그만큼 다른 센서들을 연결할 수 있음

-8개보단 4개의 핀으로 제어하는 것을 추천

(8)

2.3 아두이노와 LCD 핀 연결

2. LCD 회로구성 및 출력하기

(9)

2.3 아두이노와 LCD 핀 연결 2. LCD 회로구성 및 출력하기

- LCD의 핀과 오른쪽의 아두이노 핀을 서로 연결해주면 됨

-예를 들어 LCD의 1번핀은 아두이노의 GND에 LCD의 11번 핀은 아두이노의 10번핀에 연결해주면 됨

(10)

2.3 아두이노와 LCD 핀 연결 2. LCD 회로구성 및 출력하기

#include <LiquidCrystal.h>

// LiquidCrystal display with;

// rs on pin 4

// enable on pin 9

// d4, d5, d6, d7 on pins 10, 11, 12, 13 LiquidCrystal lcd(4, 9, 10, 11, 12, 13);

<?xml:namespace prefix = 0 /><?xml:namespace prefix = 0/>

void setup() {

(11)

2.3 아두이노와 LCD 핀 연결 2. LCD 회로구성 및 출력하기

lcd.bigin(16, 4); // LCD의 행, 열 액정번호 설정. LCD의 사이즈는 16X4임.

}

void loop() {

lcd.setCursor(0,0) //LCD 1행에 맨왼쪽부터 출력 lcd.print(“hello”);

lcd.setCursor(0,1) //LCD 2행에 맨왼쪽부터 출력 lcd.print(“hi, arduino”);

(12)

2.3 아두이노와 LCD 핀 연결 2. LCD 회로구성 및 출력하기

lcd.setCursor(-4,2) //LCD 3행에 맨왼쪽부터 출력 lcd.print(“Mediaflow”);

lcd.setCursor(-4,3) //LCD 4행에 맨왼쪽부터 출력 lcd.print(“Mokwon”);

}

(13)

-LCD와 관련된 라이브러리는 LiquidCrystal.h인에 있음. 반드시 선언해 줘야 함.

-주석대로 차례대로 핀 번호를 넣어주어야 함.

-lcd.begin은 LCD의 설정해주는 부분으로 이 부분이 없으면 출력이 잘 안됨.

-setCursor(0,1)은 어디위치에 문자를 출력할 건지 위치를 정해줌. 0,1은 2번째 열에 출력을 하라는 의미임.

-LCD는 다음줄로 자동으로 넘어가지 않기 때문에 출력 위치를 정해줘야 함.

2.3 아두이노와 LCD 핀 연결

2. LCD 회로구성 및 출력하기

(14)

lcd.setCursor( 열, 행);

- 0, 0이면 첫번째 줄 맨왼쪽에 출력하라는 의미임.

-16X4에서는 0부터 시작했으니 마지막 행은 3

lcd.begin(16,4);

-LCD의 사이즈를 설정하는 것으로 이 이상넘어가버리면 출력이 되지 않거나 글시가 깨져버림.

-같은열에 다른 문을 쓰고싶다면

lcd.setCursor(0,0);

lcd.print(“ ”);

-이렇게 중간에 16칸의 빈칸을 만들고 그 위에 덮어 씌어야 글씨가 남아있지 않음

2.4 정리

2. LCD 회로구성 및 출력하기

(15)

- LiquidCrystal.h 라이브러리는 아두이노에서 기본적으로 제공해줌

- 기본적으로 16X2 LCD는 출력위치를 lcd.setCursor(0,0); 으로 하면 1번째 행 왼쪽에 출력이 됨.

- 하지만, 16X4 LCD에서 3번째 행에 lcd.setCursor(0,2);라고 출력하면 3번째 행에 출력은 되지만 4칸 뒤에 출력이 됨.

- lcd.setCursor(0,3)도 아래와 같이 출력됨.

2.4 정리

2. LCD 회로구성 및 출력하기

(16)

- 3번째 4번째 행은 시작이 0부터가 아닌 -4부터 시작을 해야지 제대로 출력됨

2.4 정리

2. LCD 회로구성 및 출력하기

(17)

- 유념할 부분은

lcd.setCursor(열, 행);

lcd.print(“16개이하의 글씨”);

- 이렇게 순서대로

출력할 위치 + 출력글자

로 사용해야 함.

- 출력할 위치를 적지 않으면 기본 0X1 즉 첫번째 행에 첫번째 칸에 출력이 됨.

2.4 정리

2. LCD 회로구성 및 출력하기

(18)

- 이것이 16X2 VFD임. 보기에는 날로 비슷하게 생긴거 같기도 하고 LCD 보단 있어보임. 바로 이것을 가지고 출력을 할 것임.

- 핀 순서는

3.1 CFD 회로

3. VFD 회로 구성 및 출력하기

(19)

3.2 VFD 핀 정보

3. VFD 회로 구성 및 출력하기

(20)

3.3 VFD 핀 순서

3. VFD 회로 구성 및 출력하기

(21)

3.3 VFD 핀 순서

3. VFD 회로 구성 및 출력하기

(22)

#include <LiquidCrystal.h>

// LiquidCrystal display with:

// rs on pin 4

// enable on pin 9

// d4, d5, d6, d7 on pins 10, 11, 12, 13

<?xml:namespace prefix = o />

void setup() {

lcd.begin(16,2); //VFD의 행, 열 액정번호 설정은 사용된 VFD으 사이즈는 16X2임 }

3.3 코딩

3. VFD 회로 구성 및 출력하기 출력 해주는 방식만 틀리지

제어 방법과 회로구성은 LCD와 똑같음

(23)

void loop() {

lcd.setCursor(0,0); // VFD 1행에 맨왼쪽부터 출력 lcd.print(“hello!”);

lcd.setCursor(0,1); // VFD 2행에 맨왼쪽부터 출력 lcd.print(“hi, arduino”);

}

3.3 코딩

3. VFD 회로 구성 및 출력하기

(24)

3.4 실행결과

3. VFD 회로 구성 및 출력하기

(25)

4. 결론

- 어떻게 응용하고 어떻게 쓰느냐에 따라 여러가지로 표현할 수 있음

- 복작해 보이기는 하지만 아두이노가 제공해주는 라이브러리를 이용해서 정말 쉽게! LCD와 VFD를 제어해 보았습니다.

(26)

5. 참고자료

- 프로토 쉴드

(27)

5. 참고자료

- LCD와 프로토쉴드를 바로 여결한 모습 파란색의 가변저항이 있어 볼륨을 달지 않아도 밝기 조절을 할 수 있음

(28)

5. 참고자료

- 핀배열이 다른 VFD는 순서대로 프로토 쉴드에 연결을 하여 사용

(29)

참조

관련 문서

• 예를 들어, 1부터 n까지의 합을 구하는 프로그램에서 n을 입력 받는 서브 프로그램, n까지 합하는 서브 프로그램, 결과 를 출력하는 서브 프로그램 등으로 기능을 분리할 수 있음.

결혼이민여성을 대상으로 자궁경부 암 검진 의도와 관련된 국외 선행연구들을 살펴보면, 이주여성 의 건강신념 중 자궁경부암 검진에 대한 문화적

도로를 설계할 때는 어떤 수학 지식이 필요한지 예를 들어

○ 산림청은 국유림 등 산림지역, 환경부는 국립공원 둘레․수변 공간, 국토 해양부는 해안가와 그린벨트 지역을 관리하고 있음.. - 조성계획, 관리단계에 있어

❏ 마을로부터 중심지로의 접근성 제고와 관련하여 일본의 작은 거점 조성ㆍ운영과 향토집락생활권 형성을 참고하여 중심지와 주변마을로 구성되는 생활권을 공간단 위로 설정하여

예를 들어 예측된 에너 지절감량이 금액으로 100만 원이고 실제 측정된 에너지절감량은 90만 원일 경우 비례적으로 감액을 적용 하면 구체적으로

시사점 ■ 미국은 아직까지 건강영향평가를 연방정부 법에 의해 정식으로 제도화하여 관리하고 있지 않지만 미국 질병관리본부(Centers for

예를 들어, 푸에르토리코 사람들은.. puertorriqueños 나 boricuas 라고