Raspberry Pi 는 전자 엔지니어 및 애호가를 위해 설계된 ARM 아키텍처 프로세서 기반 보드입니다. PI는 현재 가장 신뢰할 수있는 프로젝트 개발 플랫폼 중 하나입니다. 더 높은 프로세서 속도와 1GB RAM을 갖춘 PI는 이미지 처리 및 IoT와 같은 많은 주요 프로젝트에 사용할 수 있습니다.
중요한 프로젝트를 수행하려면 PI의 기본 기능을 이해해야합니다. 이 튜토리얼 에서는 Raspberry Pi의 모든 기본 기능을 다룰 것 입니다. 각 튜토리얼에서 PI의 기능 중 하나에 대해 설명합니다. 이 Raspberry Pi 튜토리얼 시리즈가 끝나면 혼자서 유명 프로젝트를 수행 할 수 있습니다. 아래 자습서를 살펴보십시오.
- Raspberry Pi 시작하기
- Raspberry Pi 구성
- LED 깜박임
- 버튼 인터페이스
- PWM 생성
- DC 모터 제어
- 스테퍼 모터 제어
- 인터페이싱 시프트 레지스터
- Raspberry Pi ADC 튜토리얼
- 서보 모터 제어
- 정전 식 터치 패드
이 튜토리얼에서는 Raspberry Pi를 사용하여 16x2 LCD 디스플레이를 제어합니다. LCD를 PI의 GPIO (범용 입력 출력) 핀에 연결하여 문자를 표시합니다. GPIO를 통해 LCD에 적절한 명령을 보내고 필요한 문자를 화면에 표시하는 프로그램을 PYTHON으로 작성합니다. 이 화면은 센서 값, 인터럽트 상태를 표시하고 시간을 표시하는 데 유용합니다.
시장에는 다양한 유형의 LCD가 있습니다. 그래픽 LCD는 16x2 LCD보다 복잡합니다. 그래서 여기에서 우리는 16x2 LCD 디스플레이를 사용합니다. 원한다면 16x1 LCD를 사용할 수도 있습니다. 16x2 LCD는 총 32 자, 첫 번째 줄에는 16 자, 두 번째 줄 에는 16 자입니다. JHD162는 16x2 LCD 모듈 문자 LCD입니다. 우리는 이미 16x2 LCD와 8051, AVR, Arduino 등을 인터페이스했습니다.이 링크를 따라 가면 모든 16x2 LCD 관련 프로젝트를 찾을 수 있습니다.
더 진행하기 전에 PI GPIO에 대해 조금 논의 할 것입니다.
Raspberry Pi 2 에는 40 개의 GPIO 출력 핀이 있습니다. 그러나 40 개 중 26 개의 GPIO 핀 (GPIO2 ~ GPIO27) 만 프로그래밍 할 수 있습니다. 이러한 핀 중 일부는 몇 가지 특수 기능을 수행합니다. 특별한 GPIO를 제쳐두고 17 개의 GPIO가 남아 있습니다.
보드에는 + 5V (핀 2 또는 4) 및 + 3.3V (핀 1 또는 17) 전원 출력 핀이 있으며 다른 모듈과 센서를 연결하기위한 것입니다. + 5V 레일을 통해 16 * 2 LCD 에 전원 을 공급합니다. + 3.3v의 제어 신호를 LCD에 보낼 수 있지만 LCD를 작동하려면 + 5V로 전원을 공급해야합니다. LCD는 + 3.3V에서 작동하지 않습니다.
GPIO 핀 및 해당 전류 출력에 대해 자세히 알아 보려면 다음을 참조하십시오. Raspberry Pi로 LED 깜박임
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS와 함께 Raspberry Pi 2 Model B를 사용 하고 있습니다. 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며 필요한 것 외에 Raspberry Pi 소개에서 찾아 볼 수 있습니다.
- 연결 핀
- 16 * 2 LCD 모듈
- 1KΩ 저항기 (2 개)
- 10K 냄비
- 1000µF 커패시터
- 브레드 보드
회로 및 작동 설명:
회로도에서 볼 수 있듯이 PI의 GPIO 핀 10 개를 16 * 2 LCD의 제어 및 데이터 전송 핀에 연결 하여 LCD 디스플레이 가있는 Interfaced Raspberry Pi가 있습니다. GPIO 핀 21, 20, 16, 12, 25, 24, 23, 18을 BYTE로 사용하고 데이터를 LCD로 전송하는 'PORT'기능을 생성했습니다. 여기서 GPIO 21은 LSB (Least Significant Bit)이고 GPIO18은 MSB (Most Significant Bit)입니다.
16x2 LCD 모듈에는 16 개의 핀이 있으며 전원 핀, 대비 핀, 제어 핀, 데이터 핀 및 백라이트 핀의 5 개 범주로 나눌 수 있습니다. 다음은 이에 대한 간략한 설명입니다.
범주 |
핀 번호. |
핀 이름 |
함수 |
전원 핀 |
1 |
VSS |
접지 핀, 접지에 연결 |
2 |
VDD 또는 Vcc |
전압 핀 + 5V |
|
대비 핀 |
삼 |
V0 또는 VEE |
대비 설정, 가변 저항을 통해 Vcc에 연결됩니다. |
제어 핀 |
4 |
RS |
레지스터 선택 핀, RS = 0 명령 모드, RS = 1 데이터 모드 |
5 |
RW |
읽기 / 쓰기 핀, RW = 0 쓰기 모드, RW = 1 읽기 모드 |
|
6 |
이자형 |
활성화, LCD를 활성화하려면 하이에서 로우 펄스가 필요합니다. |
|
데이터 핀 |
7-14 |
D0-D7 |
데이터 핀, LCD 또는 명령 지침에 표시 할 데이터를 저장합니다. |
백라이트 핀 |
15 |
LED + 또는 A |
백라이트 + 5V에 전원을 공급하려면 |
16 |
LED- 또는 K |
백라이트 접지 |
핀 및 16 진수 명령과 함께 작동하는 LCD를 이해하려면이 기사를 살펴 보는 것이 좋습니다.
LCD로 데이터를 전송 하는 과정에 대해 간략하게 설명합니다.
1. E는 높게 설정되고 (모듈 활성화) RS는 낮게 설정됩니다 (LCD에 명령을 내립니다).
2. 화면을 지우는 명령으로 데이터 포트에 값 0x01을 부여합니다.
3. E는 높게 설정되고 (모듈 활성화) RS는 높게 설정됩니다 (LCD에 데이터 제공 중).
4. 문자에 대한 ASCII 코드가 표시되어야 함을 증명합니다.
5. E가 낮게 설정 됨 (LCD에 데이터 전송이 완료되었음을 알립니다)
6.이 E 핀이 로우가되면 LCD는 수신 된 데이터를 처리하고 해당 결과를 표시합니다. 따라서이 핀은 데이터를 전송하기 전에 하이로 설정되고 데이터를 전송 한 후 접지로 내려갑니다.
말했듯이 우리는 캐릭터를 차례로 보낼 것입니다. 문자는 ASCII 코드에 의한 LCD에 부여됩니다 (정보 교환을위한 미국 표준 코드). ASCII 코드 표는 아래와 같습니다. 예를 들어 "@"문자를 표시하려면 16 진수 코드 "40"을 전송해야합니다. LCD에 0x73 값을 주면 "s"가 표시됩니다. 이와 같이 LCD에 적절한 코드를 보내“ CIRCUITDIGEST ” 문자열을 표시합니다.
프로그래밍 설명:
회로도에 따라 모든 것이 연결되면 PI를 켜서 PYHTON에 프로그램을 작성할 수 있습니다.
PYHTON 프로그램 에서 사용할 몇 가지 명령에 대해 이야기하겠습니다.
라이브러리에서 GPIO 파일을 가져올 것입니다. 아래 기능을 사용하면 PI의 GPIO 핀을 프로그래밍 할 수 있습니다. 또한 "GPIO"의 이름을 "IO"로 변경하고 있으므로 프로그램에서 GPIO 핀을 참조 할 때마다 'IO'라는 단어를 사용합니다.
RPi.GPIO를 IO로 가져 오기
때때로 우리가 사용하려는 GPIO 핀이 다른 기능을 수행 할 때도 있습니다. 이 경우 프로그램을 실행하는 동안 경고를 받게됩니다. 아래 명령은 PI가 경고를 무시하고 프로그램을 진행하도록 지시합니다.
IO.setwarnings (False)
PI의 GPIO 핀을 보드의 핀 번호 또는 기능 번호로 참조 할 수 있습니다. 보드의 'PIN 29'와 마찬가지로 'GPIO5'입니다. 그래서 우리는 여기서 핀을 '29'또는 '5'로 나타낼 것이라고 말합니다.
IO.setmode (IO.BCM)
LCD의 Data 및 Control 핀에 대해 10 개의 GPIO 핀을 출력 핀으로 설정하고 있습니다.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
while 1: 명령은 forever 루프로 사용되며이 명령을 사용하면이 루프 내의 명령문이 계속 실행됩니다.
다른 모든 기능과 명령은 '코멘트'의 도움으로 아래 '코드'섹션에 설명되어 있습니다.
프로그램을 작성하고 실행 한 후 Raspberry Pi는 문자를 하나씩 LCD에 보내고 LCD 는 화면에 문자를 표시합니다.