• 검색 결과가 없습니다.

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)

참조

관련 문서

§ 병목 프로세스의 처리능력을 향상시키면 전체 프로세스의 처리능력을 증가시킬 수 있으나 병목구간이 다른 과업/자원으로 옮겨갈 수도 있다. §

• 음악 이외의 영역에서의 이러한 분석적/합성적 관점 으로서의 원자이론, 즉 물질에 내재한 요소들 간의 상호관계에 대한 전망은 음악의 영역에서도 제시된

예를 들어 링크모델은 위와 같은 모델 속성을 가지고 있으면서, 추가로 다음과 같은 링크속성을 더 가지고 있습니다...

입력을 받는 라인을 통해 전류를 공통부로 빼주는 역할을 하며 주로 사용하는 곳은 LED의 + -극을 동시에 컨트롤해야 하는 경우에 많이 쓰인다. 회로에 연결을 하는

 칩의 인접한 핀은 축젂기처럼 동작하여 칩의 최고 동작속도를 제한한다..  젂하와

부저에는 내부에 전자석과 진동을 일으키는 판으로 이루어져 있으며, 전자석이 진동판을 아주 빠르 게 흔들어 소리를 발생 시키는 원리를 가지고 있다.. 그래서 부저에

중도 장애 이거나 행동 문제가 많은 경우 영유아의 강점이나 지도점을 어떤 시각에서 찾아야할지 예를

피해자의 법정대리인이 피의자이거나 법정대리인의 친족이 피의자인 때에는 피해 자의 친족은 독립하여 고소할 수 있다(제226조). 22) 예를 들어