홀 센서 는 자기장과 접촉 할 때 출력에서 전기 신호를 생성하는 센서입니다. 센서의 출력에서 전기 신호의 아날로그 값은 자기장의 강도에 따라 달라집니다. 홀 센서는 요즘 어디에나 있으며 휴대 전화에서 스위치에 이르기까지 모든 종류의 장치에서 자동차 및 기타 자동차 산업 기반 제품의 속도, 위치 및 거리를 측정하는 데 사용됩니다. 홀 센서의 이러한 다재다능 함은 제조업체와 전기 엔지니어에게 필수품이되게합니다. 그래서 오늘 Raspberry Pi 기반 프로젝트에서 홀 센서 를 사용하는 방법을 보여 드리겠습니다.
Arduino와의 홀 센서 인터페이스를 포함하여 다른 홀 센서 기반 프로젝트를 언제든지 확인할 수 있습니다.
필수 구성 요소
이 프로젝트를 빌드하려면 다음 구성 요소 / 부품이 필요합니다.
- 라즈베리 파이 2 또는 3
- SD 카드 (최소 8GB)
- 홀 효과 센서
- 점퍼 와이어
- 브레드 보드
- LAN 케이블
- 전원
사용할 수있는 일부 선택적 부품은 다음과 같습니다.
- 감시 장치
- 키보드 및 마우스
- HDMI 케이블
- Wi-Fi 동글
이 튜토리얼은 Raspbian stretch OS를 기반으로하므로 평소대로 진행하기 위해 Raspbian stretch OS로 Raspberry Pi를 설정하는 데 익숙하고 putty와 같은 터미널 소프트웨어를 사용하여 raspberry pi에 SSH로 연결하는 방법을 알고 있다고 가정합니다.. 이와 관련하여 문제가있는 경우이 웹 사이트에 도움이 될 수있는 수많은 Raspberry Pi 자습서가 있습니다.
처음으로 Raspbian stretch OS를 설치하는 사람들에게 내가 발견 한 한 가지 문제는 대부분의 사람들이 ssh를 통해 Raspberry Pi에 들어가는 것입니다. ssh는 원래 OS에서 비활성화되어 있으며 활성화하려면 모니터가 필요하거나 raspberry pi의 구성 옵션 아래에 있거나 Windows 또는 Linux 컴퓨터를 사용하여 ssh 라는 빈 파일을 만들고 빈 파일을 다음 위치에 복사해야합니다. SD 카드의 루트 디렉토리. 복사하려면 SD 카트를 컴퓨터의 SDd 카드 슬롯에 삽입해야합니다.
두 번째 방법을 사용하는 것은 헤드리스 모드에서 파이를 실행하는 사람들에게 더 적합합니다. 모든 부품이 준비되면 제작을 진행할 수 있습니다.
회로도:
Raspberry Pi와 함께 홀 효과 센서 를 사용 하려면 아래 회로도에 따라 구성 요소를 연결하십시오.
이 튜토리얼에 사용 된 홀 센서는 출력에서 아날로그 및 디지털 값을 모두 제공 할 수 있습니다. 그러나 튜토리얼을 단순화하기 위해 아날로그 출력을 사용하려면 ADC를 Raspberry Pi에 연결해야하므로 디지털 값을 사용하기로 결정했습니다.
Python 코드 및 작업 설명:
이 홀 센서 프로젝트 의 파이썬 코드 는 매우 간단합니다. 우리가해야 할 일은 홀 센서에서 출력을 읽고 그에 따라 LED를 켜거나 끄는 것입니다. 자석이 감지되면 LED가 켜지고 그렇지 않으면 꺼집니다.
퍼티를 사용하여 Raspberry Pi 및 SSH의 전원을 켭니다 (나처럼 헤드리스 모드로 연결된 경우). 대부분의 프로젝트에서 평소처럼 각 프로젝트에 대한 모든 것이 저장되는 홈 디렉토리 내에 디렉토리를 생성하므로이 프로젝트를 위해 hall 이라는 디렉토리를 생성합니다. 이것은 일을 정리하기위한 개인적인 취향 일뿐입니다.
다음을 사용하여 디렉토리를 만듭니다.
mkdir 홀 센서
방금 만든 새 디렉터리로 디렉터리를 변경하고 편집기를 열어 python 스크립트를 만듭니다.
cd 홀 센서
뒤에;
나노 hallsensorcode.py
편집기가 열리면 프로젝트 코드를 입력합니다. 핵심 개념을 보여주기 위해 코드를 간략하게 분석하고 그 후에 완전한 파이썬 코드 를 사용할 수있게 될 것입니다.
라즈베리 파이 GPIO 핀과 상호 작용하는 Python 스크립트를 작성할 수 있는 RPI.GPIO 라이브러리 를 가져 와서 코드를 시작합니다.
RPi.GPIO를 gpio로 가져 오기
다음으로 코드의 자유로운 흐름 실행을 허용하기 위해 GPIO 경고를 사용하고 비활성화 할 Rpi의 GPIO에 대한 번호 지정 구성을 설정합니다.
gpio.setmode (gpio.BCM) gpio.setwarnings (False)
그런 다음 선택한 BCM 번호에 따라 LED와 홀 센서의 디지털 출력이 연결된 GPIO 핀 을 선언합니다.
홀핀 = 2 ledpin = 3
다음으로 GPIO 핀을 입력 또는 출력으로 설정합니다. LED가 연결된 핀이 출력으로 설정되고 홀 센서가 연결된 핀이 입력으로 설정됩니다.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
이를 통해 홀 센서의 출력 을 지속적으로 평가하고 자석이 감지되면 LED를 켜고 자석이 감지 되지 않으면 LED를 끄는 while 루프 인 코드의 주요 부분을 작성합니다.
while True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print ("자석 감지 됨") else: gpio.output (ledpin, False) print ("자기장이 감지되지 않음")
데모 비디오 가 포함 된 완전한 파이썬 코드 는 프로젝트가 끝날 때 제공됩니다.
코드를 복사하여 저장하고 using 입력 후 편집기를 종료합니다.
CTRL + X 다음에 y .
저장 후 연결을 다시 한 번 살펴보고 다음을 사용하여 python 스크립트를 실행합니다.
sudo 파이썬 hallsensorcode.py
스크립트가 실행되면 자석이나 자석이 홀 센서에 가까이 가면 아래 이미지와 같이 LED가 켜집니다.
스마트 홈용 리드 스위치부터 자전거 용 속도계에 이르기까지이 튜토리얼을 기반으로 구축 할 수있는 몇 가지 멋진 기능이 있습니다. 아래 댓글 섹션에서 빌드하려는 프로젝트를 자유롭게 공유하십시오.
모두 이전 홀 센서 기반 프로젝트를 확인합니다.
- Arduino 및 Processing Android App을 사용하는 DIY 속도계
- PIC 마이크로 컨트롤러를 사용하는 디지털 속도계 및 주행 거리계 회로
- Arduino 및 프로세싱을 사용하는 가상 현실
- Arduino를 사용한 자기장 강도 측정