LCD Display장치

 본 프로젝트에서는 16문자 x 2줄 Text를 표시할 수 있고, I2C방식 Interface모듈이 부착되어 있는 다음과 같은 LCD디스플레이 장치를 사용한다.
 

 

 

 

 

LCD 라이브러리 설치
 - 아두이노와 LCD장치간 연결( I2C방식통신)을 하기 위해서는 전용 라이브러리를 추가로 설치해 주어야 한다.
 - IDE 스케치 메뉴 -> 라이브러리 포함하기 -> 라이브러리관리하기 화면에서  "LiquidCrystal I2C" 를 검색하여 설치한다.

 

아두이노와 연결

 


- I2C방식통신을 위해서 위와 같이 전원선과 아날로그 4번핀/5번핀에  연결해야 하나

- 프로토타이핑 보드에서는 편리를 위해 우측과 같이 별도의 핀으로 구성되어 있으므로 여기에 표시된 핀번호끼리 연결해도 되며 아날로그 4번핀/5번핀에 다른 I2C방식 장치를 추가로 연결할 수 있다.    


 

테스트프로그램

3 line: LiquidCrystal_I2C lcd(0x27,16,2);   0x27 Adress에 연결되는 16문자 2줄 짜리 I2C방식 LCD장치를  lcd라는 이름으로 선언
8 line:  lcd.backlight();  : 백라이트 켜기 
9 line: lcd.setCursor(col,line) 로 커서의 위치를 지정한다 ( 숫자는 0부터 시작함에 주의 )    
         예 ) (0,0) : 첫째 줄 첫째 문자,     (2,1) : 둘째 줄 세번째 문자,
10 line: lcd.print("Hello, everyone!"); 현재 커서위치에 지정하는 문자열을 출력

  
-lcd.clear();  : lcd 문자 모두 지우기

 

LCD화면에 문자가 표시 되지 않을 경우 
 - LCD 밝기 조절 볼륨을 돌려 화면 밝기을 조절 해 본다.  

 - LCD I2C장치의 Address는 통상 0x27  또는 0x3F 이므로 Address를 0x27 대신 0x3F를  지정한 후  다시 프로그램 업로드하여 테스트해 본다   (장치 제조사별로 다른 Address를 사용하는 경우도 있는데 아래의 장치 Address  Scan 프로그램으로 현재연결된 장치의 Address를 알아 낼 수 있다. )

참조: 장치 Address scan 프로그램 
 - 다음 소스코드를 아두이노로 업로드하여 실행시키고 툴->시리얼모니터화면에  표시되는 메세지를 보면 현재 연결된 장치의 Adress를 확인할 수 있다. 

4x4 키패드 입력장치

-가로로 4줄, 세로로 4줄의 접점 즉 8개의 전선을 이용하여 16가지 입력 구분을 할 수 있는 간이 입력장치이다.  

 

 

1이라는 문자 위치의 버튼을 누르면 8번과 4번전선의 핀,  2 버튼을 을 누르면 8번핀과 3번핀이 연결되므로
8개 핀이 어떻게 연결되는지 check하면 16개 버튼중 어느 버튼을 눌렀는지 확인할 수 있다 

 

keypad 라이브러리 설치 
 - keypad 기능 사용을 위한 전용 라이브러리를 추가로 설치해 주어야 한다.
 - IDE 스케치 메뉴 -> 라이브러리 포함하기 -> 라이브러리관리하기 화면에서  "keypad" 를 검색하여 설치

 

아두이노와 연결
 
아래 그림과 같이 D5번~D12번  S표시 핀에 차례로 연결한다.  (키패드 정면에서 맨왼쪽이 5번핀이 되도록)

 

 

테스트프로그램

 

2~8 line: 가로4줄 X 세로 4줄 키패드상의 버튼을 눌렀을 때 선택할 문자를 정의한다.
9~10 line : 가로줄과 세로줄의 연결핀들을 정의한다.
11 line :  myKeypad 라는 이름으로 4 x 4 키패드 장치를 선언하여 사용한다.
17 line : 시리얼통신을 시작한다. 여기에서 지정하는 9600이라는 통신속도와 시리얼 모니터  에서 선택하는 속도가 일치해야만 정상적으로 문자들이 표시된다.  
21 line :  mykeypad라는 장치에서 한글자를 읽어 keypressed라는 변수에 저장한다.
22~24 line: 읽어 들인 문자가 있을 경우 serial장치 즉, 시리얼모니터화면에 표시한다. 이와 같이 프로그램작동 중 변수의 내용을 확인해 볼 필요가 있을 경우 통상 이 방법을 많이 사용한다.

피에조 부저
-얇은 금속판을 주기적으로 떨리게하여서 소리를 출력하는 부품으로 수동형(Passive형)과 능동형 (Active형)이있다.

 

 

 

 


-Passive형 : 떨림판과 자석만 있어 아두이노의 tone이라는 함수를  통해 특정 주파수 신호를 보내면 그 주파수에 해당하는 소리가 나게 된다.
-Active형: 떨림판과 자석 이외에 내장된 진동 회로가 있어 외부에서 전원만 인가해 주면 자동으로 소리가 나는 방식. 사용이 간편하지만 미리 지정된 주파수 소리만  낼수 있다.
 -본 키트에서는 Passive형을 사용하므로 원하는 주파수의  소리가 나게 할 수 있다   

 

아두이노와의 연결

 

 

 

테스트 프로그램  

10 line : tone(포트,주파수,길이)함수 : 지정 포트로 지정 주파수 신호를 길이(1/1000초단위)로 출력하여 소리가 나도록 한다.
9~12 line : 배열의 순서대로 주파수 숫자를 가져와서 1초씩 소리나도록 tone함수를 호출한다  
13 line : noTone(포트)함수 : 지정하는 포트의  출력 끄기


참고자료 : 음계별 주파수

음계별 주파수는 다음과 같고, 소리의 길이를 조절할 수 있으므로 악보만 있으면 원하는 곡조의 음악을 피에조 부저로 소리나게 할 수 있다.

 

+ Recent posts