Raspberry Pi 는 전자 엔지니어 및 애호가를 위해 설계된 ARM 아키텍처 프로세서 기반 보드입니다. PI는 현재 가장 신뢰할 수있는 프로젝트 개발 플랫폼 중 하나입니다. 더 높은 프로세서 속도와 1GB RAM을 갖춘 PI는 이미지 처리 및 사물 인터넷과 같은 많은 주요 프로젝트에 사용할 수 있습니다.
중요한 프로젝트를 수행하려면 PI의 기본 기능을 이해해야합니다. 이것이 우리가 여기있는 이유이며, 이 튜토리얼에서 Raspberry Pi의 모든 기본 기능을 다룰 것 입니다. 각 튜토리얼 시리즈에서는 PI의 기능 중 하나에 대해 설명합니다. 튜토리얼 시리즈가 끝날 무렵에는 혼자서 유명한 프로젝트를 수행 할 수 있습니다. Raspberry Pi 및 Raspberry Pi 구성 시작하기를 확인하십시오.
PI에서 프로젝트를 설계하려면 PI와 사용자 간의 통신을 설정 하는 것이 매우 중요합니다. 통신을 위해 PI는 사용자로부터 입력을 받아야합니다. PI 시리즈의 두 번째 자습서 에서는 사용자로부터 입력을 가져 오기 위해 Raspberry Pi에 버튼을 인터페이스합니다.
여기에서는 버튼을 하나의 GPIO 핀에 연결하고 LED를 Raspberry Pi의 다른 GPIO 핀에 연결합니다. 사용자가 버튼을 눌렀을 때 LED를 계속 깜박이도록 PYTHON에 프로그램을 작성합니다. GPIO를 켜고 끄면 LED가 깜박입니다.
프로그래밍을 시작하기 전에 LINUX와 PYHTON에 대해 조금 이야기 해 봅시다.
리눅스:
LINUX는 Windows와 같은 운영 체제입니다. Windows OS가 할 수있는 모든 기본 기능을 수행합니다. 이들의 주요 차이점은 Linux는 Windows가 아닌 오픈 소스 소프트웨어라는 것입니다. 기본적으로 Linux는 무료이지만 Windows는 그렇지 않습니다. Linux OS는 무료로 다운로드하여 운영 할 수 있지만 정품 Windows OS를 다운로드하려면 비용을 지불해야합니다.
그리고 그들 사이의 또 다른 주요 차이점은 Linux OS는 코드를 수정하여 '수정'할 수 있지만 Windows OS는 수정할 수 없으므로 법적 문제로 이어질 수 있습니다. 따라서 누구나 Linux OS를 가져 와서 자신의 OS를 만들기 위해 자신의 요구 사항에 맞게 수정할 수 있습니다. 그러나 Windows에서는이 작업을 수행 할 수 없습니다. Windows OS에는 OS 편집을 중지 할 수있는 제한이 있습니다.
여기서는 Linux에 대해 이야기합니다. JESSIE LITE (Raspberry Pi OS)는 Raspberry Pi 소개 부분에서 설치 한 LINUX 기반 OS이기 때문입니다. PI OS는 LINUX를 기반으로 생성되므로 LINUX 운영 명령에 대해 조금 알아야합니다. 다음 자습서에서 이러한 Linux 명령에 대해 설명합니다.
파이썬:
LINUX와 달리 PYTHON은 C, C ++, JAVA 등과 같은 프로그래밍 언어입니다. 이러한 언어는 응용 프로그램 개발에 사용됩니다. 운영 체제에서 실행되는 프로그래밍 언어를 기억하십시오. OS없이 프로그래밍 언어를 실행할 수 없습니다. 따라서 OS는 독립적이고 프로그래밍 언어는 종속적입니다. Linux와 Windows 모두에서 PYTHON, C, C ++ 및 JAVA를 실행할 수 있습니다.
이러한 프로그래밍 언어로 개발 된 애플리케이션은 게임, 브라우저, 앱 등이 될 수 있습니다. PI에서 프로그래밍 언어 PYTHON을 사용하여 프로젝트를 설계하고 GPIO를 조작합니다.
더 진행하기 전에 PI GPIO에 대해 조금 논의하겠습니다.
GPIO 핀:
위 그림과 같이 PI 용 출력 핀은 40 개입니다. 그러나 두 번째 그림을 보면 40 개의 핀 출력이 모두 우리의 용도로 프로그래밍 될 수 없다는 것을 알 수 있습니다. 프로그래밍 할 수있는 GPIO 핀은 26 개뿐입니다. 이 핀은 GPIO2에서 GPIO27 로 이동 합니다.
이 26 개의 GPIO 핀은 필요에 따라 프로그래밍 할 수 있습니다. 이 핀 중 일부는 몇 가지 특수 기능도 수행합니다. 이에 대해서는 나중에 설명하겠습니다. 특수 GPIO를 제쳐두고 17 개의 GPIO가 남아 있습니다 (연녹색 Cirl).
이러한 17 개의 GPIO 핀 각각은 최대 15mA 전류를 전달할 수 있습니다. 그리고 모든 GPIO의 전류 합은 50mA를 초과 할 수 없습니다. 따라서 각 GPIO 핀에서 평균적으로 최대 3mA를 끌어낼 수 있습니다. 따라서 당신이 무엇을하고 있는지 알지 못한다면 이러한 것들을 조작해서는 안됩니다.
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS와 함께 Raspberry Pi 2 Model B를 사용 하고 있습니다. 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며 필요한 것 외에 Raspberry Pi 소개에서 찾아 볼 수 있습니다.
- 연결 핀
- 220Ω 또는 1KΩ 저항
- LED
- 단추
- 브레드 보드
회로 설명:
회로도에서 볼 수 있듯이 LED를 PIN35 (GPIO19)에 연결하고 버튼을 PIN37 (GPIO26)에 연결합니다. 앞서 언급했듯이 이러한 핀 중 하나에서 15mA 이상을 끌어 올 수 없으므로 전류를 제한하기 위해 220Ω 또는 1KΩ 저항을 LED와 직렬로 연결합니다.
작동 설명:
모든 것이 연결되면 Raspberry Pi를 켜서 PYHTON으로 프로그램을 작성하고 실행할 수 있습니다. (PYTHON 사용법을 알려면 PI BLINKY로 이동하십시오.)
PYHTON 프로그램에서 사용할 몇 가지 명령에 대해 이야기하겠습니다.
라이브러리에서 GPIO 파일을 가져올 것입니다. 아래 기능을 사용하면 PI의 GPIO 핀을 프로그래밍 할 수 있습니다. 또한 "GPIO"의 이름을 "IO"로 변경하고 있으므로 프로그램에서 GPIO 핀을 참조 할 때마다 'IO'라는 단어를 사용합니다.
RPi.GPIO를 IO로 가져 오기
때때로 우리가 사용하려는 GPIO 핀이 다른 기능을 수행 할 때도 있습니다. 이 경우 프로그램을 실행하는 동안 경고를 받게됩니다. 아래 명령은 PI가 경고를 무시하고 프로그램을 진행하도록 지시합니다.
IO.setwarnings (False)
PI의 GPIO 핀을 보드의 핀 번호 또는 기능 번호로 참조 할 수 있습니다. 핀 다이어그램에서 보드의 'PIN 37'은 'GPIO26'입니다. 그래서 우리는 여기서 핀을 '37'또는 '26'으로 나타낼 것이라고 말합니다.
IO.setmode (IO.BCM)
GPIO26 (또는 PIN37)을 입력 핀으로 설정합니다. 이 핀으로 버튼 누름을 감지합니다.
IO.setup (26, IO.IN)
동안 1: 무한 루프에 사용됩니다. 이 명령을 사용하면이 루프 내의 명령문이 계속 실행됩니다.
프로그램이 실행되면 버튼을 누를 때마다 GPIO19 (PIN35)에 연결된 LED가 깜박입니다. LED에서 손을 떼면 다시 OFF 상태가됩니다.