우리 모두 알고 있듯이 Raspberry Pi 는 ARM 마이크로 프로세서를 기반으로 한 멋진 개발 플랫폼입니다. 높은 계산 능력으로 전자 애호가 또는 학생의 손에서 놀라운 일을 해결할 수 있습니다. 이 모든 것은 현실 세계와 상호 작용하는 방법을 알고 있어야만 가능합니다. 실시간 세계에서 특정 매개 변수를 감지하여 디지털 세계로 전송할 수있는 센서가 많이 있습니다. 우리는 많은 센서로 많은 Raspberry Pi 프로젝트를 다루었습니다. Raspberry Pi는 마이크로 컨트롤러 기능을 갖춘 내장형 Wi-Fi가있는 포켓 크기의 컴퓨터이기 때문에 IoT 프로젝트의 장점이기도합니다.
이 튜토리얼에서는 Raspberry pi와 IR 센서를 인터페이스하는 방법을 배웁니다 . 이 센서는 라인 추종자 로봇, 엣지 회피 로봇 등과 같은 소형 로봇에서 가장 일반적으로 사용됩니다. 간단히 말하면 앞에있는 물체의 존재를 감지하고 흰색과 검은 색을 구별 할 수 있습니다. 멋지죠?
이 센서를 Raspberry Pi와 인터페이스하는 방법을 알아 보겠습니다. 이 프로젝트에서는 IR 센서 앞에 물체가 없으면 적색 LED가 켜져 있고 IR 센서 앞에 무언가를 놓으면 적색 LED가 꺼지고 녹색 LED가 켜집니다. 이 회로는 보안 경보 회로 역할도 할 수 있습니다.
필요한 재료:
- Raspberry Pi 3 (모든 모델)
- IR 센서 모듈
- 녹색 및 적색 LED 조명
- 브레드 보드
- 전선 연결
IR 센서 모듈:
IR 센서 (적외선 센서) 는 앞에있는 물체의 존재를 감지하는 모듈입니다. 물체가 있으면 3.3V를 출력으로 제공하고 존재하지 않으면 0V를 제공합니다. 이것은 한 쌍의 IR 쌍 (송신기와 수신기) 을 사용하여 가능하며, 송신기 (IR LED) 는 앞에있는 물체가있는 경우 반사되는 IR 광선을 방출합니다. 이 IR 광선은 수신기 (포토 다이오드)에 의해 다시 수신 되고 출력은 op-amp 링크 LM358을 사용하여 증폭 된 후 하이가됩니다. 여기에서 IR 센서 모듈 회로에 대해 자세히 알아볼 수 있습니다.
이 프로젝트에 사용 된 IR 센서는 위와 같습니다. 모든 IR 센서와 마찬가지로 각각 5V, Gnd 및 Out의 세 개의 핀이 있습니다. 모듈은 Raspberry Pi의 5V 핀에 의해 전원이 공급되고 출력 핀은 Raspberry Pi의 GPIO14에 연결됩니다. 모듈 상단의 전위차계를 사용하여 IR 센서의 범위를 조정할 수 있습니다.
회로도 및 설명:
Raspberry Pi와 IR 센서 를 연결하는 회로도 는 다음과 같습니다. 보시다시피 회로도는 매우 간단합니다. 우리는 Raspberry Pi의 5V 및 접지 핀에서 IR 모듈에 직접 전원을 공급했습니다. IR 모듈의 출력 핀은 GPIO14에 연결됩니다. 또한 물체의 상태를 표시하기 위해 두 개의 LED (녹색 및 빨간색)를 사용했습니다. 이 두 LED는 각각 GPIO3 및 GPIO2에 연결됩니다.
Raspberry Pi의 GPIO 핀은 3.3V이므로 전류 제한 저항은 필수가 아닙니다. 그러나 원하는 경우 LED의 접지 핀과 Raspberry Pi 사이에 470ohm 값의 저항을 추가 할 수 있습니다. 전체 회로는 라즈베리 파이의 마이크로 USB 포트를 통해 5V 모바일 충전기로 전원이 공급됩니다.
참고: 센서를 연결할 때 센서의 접지가 MCU 또는 MPU (여기서는 Raspberry Pi)의 접지에 연결되어 있는지 확인하십시오. 그래야만 의사 소통을 할 수 있습니다.
Raspberry Pi 프로그래밍:
여기에서는 RPi를 프로그래밍하기 위해 Python 프로그래밍 언어를 사용합니다. Raspberry Pi를 프로그래밍하는 방법에는 여러 가지가 있습니다. 이 튜토리얼에서는 가장 많이 사용되는 Python 3 IDE를 사용합니다. 완전한 파이썬 프로그램은 이 튜토리얼의 끝에 제공됩니다. 여기에서 Raspberry Pi의 프로그램 및 실행 코드에 대해 자세히 알아보세요.
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)
3 개의 핀을 입력 / 출력 핀으로 설정합니다. 두 개의 출력 핀은 LED를 제어하고 입력 핀은 IR 센서의 신호를 읽습니다.
IO.setup (2, IO.OUT) #GPIO 2-> 출력으로 적색 LED IO.setup (3, IO.OUT) #GPIO 3-> 출력으로 녹색 LED IO.setup (14, IO.IN) #GPIO 14-> IR 센서 입력
이제 우리는 물체가 멀리있을 때 녹색 LED를 끄고 적색 LED를 켜야합니다. GPIO14 핀을 확인하면됩니다.
if (IO.input (14) == True): # 객체가 멀리 있습니다.IO.output (2, True) # 빨간색 LED 켜짐 IO.output (3, False) # 녹색 LED 꺼짐
마찬가지로 우리는 물체가 가까이있을 때 녹색 LED를 켜고 적색 LED를 꺼야합니다.
if (IO.input (14) == False): # 객체가 IO에 가깝습니다.output (3, True) # 녹색 LED 켜짐 IO.output (2, False) # 빨간색 LED 꺼짐
아래 명령은 forever 루프로 사용되며이 명령을 사용하면이 루프 내부의 명령문이 계속 실행됩니다.
동안 1:
일:
파이썬 코드를 생성했으면 실행 명령을 사용하여 실행하십시오. 프로그램이 오류없이 실행되면 다음 화면이 표시됩니다.
아래 그림과 같이 센서 앞에 물체가 없을 때도 빨간색 LED가 높아야합니다.
이제 IR LED에 가까이 가져 가면 빨간색 LED가 꺼지고 녹색이 켜집니다. 완전한 작업은 아래 주어진 비디오 에서 찾을 수 있습니다.
프로젝트를 이해하고 유용한 것을 만들 수 있기를 바랍니다. 질문이 아래 댓글 섹션이나 포럼에 게시 된 경우.