Raspberry Pi 는 전자 엔지니어 및 애호가를 위해 설계된 ARM 아키텍처 프로세서 기반 보드입니다. PI는 현재 가장 신뢰할 수있는 프로젝트 개발 플랫폼 중 하나입니다. 더 높은 프로세서 속도와 1GB RAM을 갖춘 PI는 이미지 처리 및 IoT와 같은 많은 주요 프로젝트에 사용할 수 있습니다.
중요한 프로젝트를 수행하려면 PI의 기본 기능을 이해해야합니다. 이 튜토리얼 에서는 Raspberry Pi의 모든 기본 기능을 다룰 것 입니다. 각 튜토리얼에서 PI의 기능 중 하나에 대해 설명합니다. 이 라즈베리 파이 튜토리얼 시리즈가 끝나면 라즈베리 파이를 배우고 스스로 좋은 프로젝트를 만들 수 있습니다. 아래 자습서를 살펴보십시오.
- Raspberry Pi 시작하기
- Raspberry Pi 구성
- LED 깜박임
- 버튼 인터페이스
- Raspberry Pi PWM 생성
- Raspberry Pi와 LCD 인터페이스
- DC 모터 제어
- 스테퍼 모터 제어
- 인터페이싱 시프트 레지스터
- Raspberry Pi ADC 튜토리얼
- 서보 모터 제어
- 정전 식 터치 패드
이 튜토리얼에서는 Raspberry Pi 7 세그먼트 디스플레이 인터페이스 를 수행 할 것 입니다. Seven Segment 디스플레이는 디스플레이 장치에 가장 저렴합니다. 함께 쌓인 두 개의 세그먼트를 사용하여 온도, 카운터 값 등을 표시 할 수 있습니다. 7 세그먼트 디스플레이 장치를 PI의 GPIO에 연결하고 그에 따라 숫자를 표시하도록 제어합니다. 그 후 PYTHON 에서 7 개의 세그먼트 디스플레이를위한 프로그램을 작성하여 0-9에서 카운트하고 0으로 재설정합니다.
7 개의 세그먼트 전시:
7 세그먼트 디스플레이에는 다양한 유형과 크기가 있습니다. 여기서는 Seven Segment 작업에 대해 자세히 다루었습니다. 기본적으로 7 Segment, Common Anode 유형 (Common Positive 또는 Common VCC)과 Common Cathode 유형 (Common Negative 또는 Common Ground)의 두 가지 유형이 있습니다.
공통 양극 (CA): 여기에서 모든 8 개 LED의 모든 음극 단자 (음극)가 COM으로 명명 된 함께 연결됩니다 (아래 다이어그램 참조). 그리고 모든 양극 단자는 그대로 둡니다.
공통 음극 (CC): 여기에서 8 개 LED의 모든 양극 단자 (양극)는 COM으로 명명 된 함께 연결됩니다. 그리고 모든 네거티브 써멀은 홀로 남겨집니다.
이러한 CC 및 CA 7 세그먼트 디스플레이는 여러 셀을 함께 다중화하는 동안 매우 편리합니다. 튜토리얼에서는 CC 또는 Common Cathode Seven Segment Display를 사용 합니다.
우리는 이미 7 세그먼트를 8051, Arduino 및 AVR과 인터페이스했습니다. 우리는 또한 많은 프로젝트에서 7 세그먼트 디스플레이를 사용했습니다.
더 진행하기 전에 Raspberry Pi GPIO 에 대해 약간 논의하겠습니다.
Raspberry Pi 2 에는 40 개의 GPIO 출력 핀이 있습니다. 그러나 40 개 중 26 개의 GPIO 핀 (GPIO2 ~ GPIO27) 만 프로그래밍 할 수 있습니다. 아래 그림을 참조하십시오. 이러한 핀 중 일부는 몇 가지 특수 기능을 수행합니다. 특별한 GPIO를 제쳐두고 17 개의 GPIO가 남아 있습니다.
GPIO (핀 1 또는 17) + 3.3V 신호는 7 세그먼트 디스플레이를 구동하기에 충분합니다. 전류 제한을 제공하기 위해 회로도에 표시된대로 각 세그먼트에 1KΩ 저항을 사용합니다.
GPIO 핀 및 해당 전류 출력에 대해 자세히 알아 보려면 다음을 참조하십시오. Raspberry Pi로 LED 깜박임
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS와 함께 Raspberry Pi 2 Model B를 사용 하고 있습니다. 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며 필요한 것 외에 Raspberry Pi 소개에서 찾아 볼 수 있습니다.
- 연결 핀
- Common Cathode 7 세그먼트 디스플레이 (LT543)
- 1KΩ 저항기 (8 개)
- 브레드 보드
회로 및 작동 설명:
7 세그먼트 디스플레이를 Raspberry Pi에 연결하기 위해 수행되는 연결 은 다음과 같습니다. 우리는 사용하고 7 세그먼트 공통 음극을 여기:
PIN1 또는 e ------------------ GPIO21
PIN2 또는 d ------------------ GPIO20
PIN4 또는 c ------------------ GPIO16
PIN5 또는 h 또는 DP ---------- GPIO 12 // 소수점을 사용하지 않으므로 필수가 아닙니다.
PIN6 또는 b ------------------ GPIO6
PIN7 또는 ------------------ GPIO13
PIN9 또는 f ------------------ GPIO19
PIN10 또는 g ---------------- GPIO26
PIN3 또는 PIN8 ------------- 접지에 연결
따라서 8 비트 PORT로 PI의 GPIO 핀 8 개를 사용합니다. 여기서 GPIO13은 LSB (Least Significant Bit)이고 GPIO 12는 MSB (Most Significant Bit)입니다.
이제 숫자 "1"을 표시하려면 세그먼트 B와 C에 전원을 공급해야합니다. 세그먼트 B와 C에 전원을 공급하려면 GPIO6 및 GPIO16에 전원을 공급해야합니다. 따라서 'PORT'함수의 바이트는 0b00000110이되고 'PORT'의 16 진수 값은 0x06이됩니다. 두 핀이 모두 높으면 디스플레이에 "1"이 표시됩니다.
표시 할 각 숫자에 대한 값을 작성하고 해당 값을 'DISPLAY'라는 문자열에 저장했습니다 (아래 코드 섹션 확인). 그런 다음 'PORT'기능을 사용하여 디스플레이에 해당 숫자를 표시하기 위해 이러한 값을 하나씩 호출했습니다.
프로그래밍 설명:
회로도에 따라 모든 것이 연결되면 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 핀에 대해 8 개의 GPIO 핀을 출력 핀으로 설정하고 있습니다.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
중괄호 안의 조건이 참이면 루프 내부의 문이 한 번 실행됩니다. 따라서 8bit 'pin'의 bit0이 참이면 PIN13은 HIGH가되고, 그렇지 않으면 PIN13은 LOW가됩니다. bit0에서 bit7까지 8 개의 'if else'조건이 있으므로 7 세그먼트 디스플레이 내부의 적절한 LED를 High 또는 Low로 만들어 해당 번호를 표시 할 수 있습니다.
if (pin & 0x01 == 0x01): IO.output (13,1) else: IO.output (13,0)
이 명령은 루프를 10 번 실행하며 x는 0에서 9까지 증가합니다.
x 범위 (10):
아래 명령은 forever 루프로 사용되며이 명령을 사용하면이 루프 내부의 명령문이 계속 실행됩니다.
동안 1:
다른 모든 기능과 명령은 '코멘트'의 도움으로 아래 '코드'섹션에 설명되어 있습니다.
프로그램을 작성하고 실행 한 후 Raspberry Pi는 해당 GPIO를 트리거하여 7 세그먼트 디스플레이에 숫자를 표시 합니다. 이 프로그램은 디스플레이가 0-9에서 연속적으로 카운트하도록 작성되었습니다.