Raspberry Pi와 Arduino 는 Electronics Community에서 가장 인기있는 두 개의 오픈 소스 보드입니다. 그들은 전자 엔지니어뿐만 아니라 학교 학생과 애호가들에게도 인기가 있습니다. 쉽고 단순 하기 때문입니다. 심지어 일부 사람들은 Raspberry Pi와 Arduino 때문에 전자 제품을 좋아하기 시작했습니다. 이 보드는 큰 힘을 가지고 있으며 몇 가지 간단한 단계와 약간의 프로그래밍으로 매우 복잡하고 하이파이 프로젝트를 만들 수 있습니다.
우리는 매우 간단한 것부터 복잡한 것까지 수많은 Arduino 프로젝트와 튜토리얼을 만들었습니다. 또한 누구나 '스크래치'부터 학습을 시작할 수있는 일련의 Raspberry Pi 자습서를 만들었습니다. 이것은 우리 측의 전자 커뮤니티에 대한 작은 공헌이며이 포털은 전자 제품에 대한 훌륭한 학습 리소스로 입증되었습니다. 그래서 오늘 우리는 Interfacing Arduino with Raspberry Pi를 통해이 두 가지 훌륭한 보드를 함께 가져옵니다.
이 튜토리얼에서는 Raspberry Pi와 Arduino Uno 간의 직렬 통신 을 설정합니다. PI에는 26 개의 GPIO 핀과 0 개의 ADC 채널 만 있으므로 3D 프린터와 같은 프로젝트를 수행 할 때 PI 만 모든 상호 작용을 수행 할 수는 없습니다. 따라서 더 많은 출력 핀과 추가 기능이 필요합니다. PI에 더 많은 기능을 추가하려면 PI와 UNO간에 통신을 설정합니다. 이를 통해 PI 함수 인 UNO의 모든 기능을 사용할 수 있습니다.
Arduino 는 프로젝트 개발을위한 큰 플랫폼으로, Arduino Uno, Arduino Pro mini, Arduino Due 등과 같은 많은 보드를 보유하고 있습니다. 이들은 전자 엔지니어 및 애호가를 위해 설계된 ATMEGA 컨트롤러 기반 보드입니다. Arduino 플랫폼에는 많은 보드가 있지만 Arduino Uno는 프로젝트 수행의 용이성에 대해 많은 감사를 받았습니다. Arduino 기반 프로그램 개발 환경은 다른 프로그램과 비교할 때 프로그램을 작성하는 쉬운 방법입니다.
필요한 구성 요소:
여기 에서는 Raspbian Jessie OS 및 Arduino Uno와 함께 Raspberry Pi 2 Model B를 사용하고 있습니다. Raspberry Pi와 관련된 모든 기본 하드웨어 및 소프트웨어 요구 사항은 이전에 논의되었으며, 필요한 것 외에 Raspberry Pi 소개에서 찾아 볼 수 있습니다.
- 연결 핀
- 220Ω 또는 1KΩ 저항기 (2 개)
- LED
- 단추
회로 설명:
위의 회로도에서와 같이 USB 케이블을 사용하여 UNO를 PI USB 포트에 연결합니다. PI를위한 4 개의 USB 포트가 있습니다. 그들 중 하나에 연결할 수 있습니다. 직렬 통신을 초기화하는 버튼과 데이터가 전송 중임을 나타내는 LED (깜박임)가 연결됩니다.
작업 및 프로그래밍 설명:
Arduino Uno 부품:
먼저 UNO를 프로그래밍하겠습니다.
먼저 UNO를 PC에 연결 한 다음 Arduino IDE 소프트웨어에 프로그램 (아래 코드 확인 섹션)을 작성하고 프로그램을 UNO에 업로드합니다. 그런 다음 PC에서 UNO를 분리합니다. 프로그래밍 후 UNO를 PI에 연결하고 회로도에 표시된대로 LED와 버튼을 UNO에 연결합니다.
이제 여기 프로그램은 UNO의 직렬 통신을 초기화합니다. UNO에 연결된 버튼을 누르면 UNO는 USB 포트를 통해 직렬로 PI에 몇 개의 문자를 보냅니다. PI에 부착 된 LED가 깜박여 문자가 전송되었음을 나타냅니다.
라즈베리 파이 부품:
그 후에 UNO가 보내는이 데이터를 수신하려면 PI (아래 코드 확인 섹션)에 대한 프로그램을 작성해야합니다. 이를 위해 아래에 설명 된 몇 가지 명령을 이해해야합니다.
라이브러리에서 직렬 파일을 가져올 것입니다.이 기능을 사용하면 데이터를 직렬 또는 USB 포트로 송수신 할 수 있습니다.
수입 시리얼
이제 PI가 오류없이 UNO에서 데이터를 수신하기 위해 장치 포트와 비트 전송률을 명시해야합니다. 아래 명령은 ACM0 포트에서 초당 9600 비트의 직렬 통신을 활성화하고 있음을 나타냅니다.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
UNO가 연결된 포트를 찾으려면 PI의 터미널로 이동하여
ls / dev / tty *
PI에 연결된 모든 장치 목록이 표시됩니다. 이제 Arduino Uno를 USB 케이블로 Raspberry Pi에 연결하고 명령을 다시 입력하십시오. 표시된 목록에서 UNO 연결 포트를 쉽게 식별 할 수 있습니다.
아래 명령은 forever 루프로 사용되며이 명령을 사용하면이 루프 내부의 명령문이 계속 실행됩니다.
동안 1:
데이터를 직렬로 수신 한 후 PI 화면에 문자를 표시합니다.
인쇄 (ser.readline ())
따라서 UNO에 부착 된 버튼을 누르면 PI 화면에 문자가 인쇄되는 것을 볼 수 있습니다. 따라서 우리는 Raspberry Pi와 Arduino 간의 기본 통신 핸드 셰이크를 설정했습니다.