Raspberry Pi 는 전자 엔지니어 및 애호가를 위해 설계된 ARM 아키텍처 프로세서 기반 보드입니다. PI는 현재 가장 신뢰할 수있는 프로젝트 개발 플랫폼 중 하나입니다. 더 높은 프로세서 속도와 1GB RAM을 갖춘 PI는 이미지 처리 및 사물 인터넷과 같은 많은 주요 프로젝트에 사용할 수 있습니다.
중요한 프로젝트를 수행하려면 PI의 기본 기능을 이해해야합니다. 이 튜토리얼 에서는 Raspberry Pi의 모든 기본 기능을 다룰 것 입니다. 각 튜토리얼에서 PI의 기능 중 하나에 대해 설명합니다. 이 라즈베리 파이 튜토리얼 시리즈 가 끝날 무렵, 당신은 혼자서 유명한 프로젝트를 할 수 있습니다. 아래 자습서를 살펴보십시오.
- Raspberry Pi 시작하기
- Raspberry Pi 구성
- LED 깜박임
- Raspberry Pi 버튼 인터페이스
- Raspberry Pi PWM 생성
- Raspberry Pi를 사용하여 DC 모터 제어
- Raspberry Pi를 사용한 스테퍼 모터 제어
이 Raspberry Pi 시프트 레지스터 자습서 에서는 시프트 레지스터를 Pi와 인터페이스합니다. PI에는 26 개의 GPIO 핀이 있지만 3D 프린터와 같은 프로젝트를 수행 할 때는 PI에서 제공하는 출력 핀이 충분하지 않습니다. 따라서 더 많은 출력 핀이 필요합니다. PI에 더 많은 출력 핀을 추가하려면 Shift Register Chip을 추가 합니다. 시프트 레지스터 칩은 PI 보드에서 직렬로 데이터를 가져와 병렬 출력을 제공합니다. 칩은 8 비트이므로 칩은 PI에서 직렬로 8 비트를 가져온 다음 8 개의 출력 핀을 통해 8 비트 논리 출력을 제공합니다.
8 비트 시프트 레지스터의 경우 IC 74HC595 를 사용 합니다. 16 핀 칩입니다. 칩의 핀 구성은이 튜토리얼의 뒷부분에서 설명합니다.
이 튜토리얼에서는 3 개의 PI GPIO 핀을 사용하여 시프트 레지스터 칩에서 8 개의 출력을 얻습니다. 여기서 칩의 PINS는 출력 전용이므로 센서를 칩 출력에 연결할 수 없으며 PI가 읽을 것으로 기대할 수 없습니다. LED는 칩 출력에 연결되어 PI에서 전송 된 8 비트 데이터를 확인합니다.
더 진행하기 전에 Raspberry Pi GPIO 핀 에 대해 약간 논의하겠습니다.
Raspberry Pi 2 에는 40 개의 GPIO 출력 핀이 있습니다. 그러나 40 개 중 26 개의 GPIO 핀 (GPIO2 ~ GPIO27) 만 프로그래밍 할 수 있습니다. 이러한 핀 중 일부는 몇 가지 특수 기능을 수행합니다. 특별한 GPIO를 제쳐두고 17 개의 GPIO 만 남았습니다. 이 17 개의 GPIO 핀은 각각 최대 15mA 전류를 전달할 수 있습니다. 그리고 모든 GPIO 핀의 전류 합계는 50mA를 초과 할 수 없습니다 . GPIO 핀에 대해 자세히 알아 보려면 다음을 참조하십시오. Raspberry Pi로 LED 깜박임
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS와 함께 Raspberry Pi 2 Model B를 사용 하고 있습니다. 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며 필요한 것 외에 Raspberry Pi 소개에서 찾아 볼 수 있습니다.
- 연결 핀
- 220Ω 또는 1KΩ 저항기 (6)
- LED (8)
- 0.01µF 커패시터
- 74HC595 IC
- 브레드 보드
회로도:
시프트 레지스터 IC 74HC595:
여기서 사용할 SHIFT REGISTER의 PIN에 대해 이야기 해 봅시다.
핀 이름 |
기술 |
Q0-Q7 |
그것들은 출력 핀 (빨간색 직사각형)이며, 여기서 우리는 8 비트 데이터를 병렬로 얻습니다. 병렬 출력을보기 위해 8 개의 LED를 연결합니다. |
데이터 핀 (DS) |
첫 번째 데이터는 비트 단위로이 핀으로 전송됩니다. 1을 보내기 위해 DATA 핀을 하이로 풀업하고 0을 보내기 위해 DATA 핀을 풀다운합니다. |
클록 핀 (SHCP) |
이 핀의 모든 펄스는 레지스터가 DATA 핀에서 1 비트의 데이터를 가져와 저장하도록합니다. |
시프트 출력 (STCP) |
8 비트를 수신 한 후이 핀에 펄스를 제공하여 출력을 확인합니다. |
일의 흐름:
Flow Chart를 따라 PYTHON에서 십진 카운터 프로그램을 작성합니다. 프로그램을 실행하면 Raspberry Pi의 시프트 레지스터를 사용하여 LED 카운팅이 표시 됩니다.
프로그래밍 설명:
회로도에 따라 모든 것이 연결되면 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)
GPIO4, GPIO5 및 GPIO6 핀을 출력으로 설정합니다.
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
이 명령은 루프를 8 번 실행합니다.
범위 (8)의 y에 대해:
동안 1: 무한 루프에 사용됩니다. 이 명령을 사용하면이 루프 내의 명령문이 계속 실행됩니다.
프로그램에 대한 자세한 설명은 아래 코드 섹션에 나와 있습니다. 이제 SHIFT REGISTER에 데이터를 전송하는 데 필요한 모든 지침이 있습니다.