5.8 KiB
릴레이 제어하기 - Raspberry Pi
이 수업의 이번 부분에서는 토양 수분 센서에 더해 Raspberry Pi에 릴레이를 추가하고, 토양 수분 수준에 따라 이를 제어하는 방법을 배웁니다.
하드웨어
Raspberry Pi에는 릴레이가 필요합니다.
사용할 릴레이는 Grove 릴레이로, 기본적으로 열려 있는 릴레이입니다(즉, 릴레이에 신호가 전달되지 않을 때 출력 회로가 열려 있거나 연결이 끊어져 있음). 이 릴레이는 최대 250V, 10A의 출력 회로를 처리할 수 있습니다.
이 릴레이는 디지털 액추에이터이므로 Grove Base Hat의 디지털 핀에 연결됩니다.
릴레이 연결하기
Grove 릴레이를 Raspberry Pi에 연결할 수 있습니다.
작업
릴레이를 연결하세요.
-
Grove 케이블의 한쪽 끝을 릴레이 소켓에 삽입하세요. 케이블은 한 방향으로만 들어갑니다.
-
Raspberry Pi의 전원을 끈 상태에서, Grove 케이블의 다른 쪽 끝을 Pi에 부착된 Grove Base Hat의 D5로 표시된 디지털 소켓에 연결하세요. 이 소켓은 GPIO 핀 옆에 있는 소켓 줄에서 왼쪽에서 두 번째입니다. 토양 수분 센서는 A0 소켓에 계속 연결된 상태로 둡니다.
- 이전 수업에서 이미 토양에 삽입하지 않았다면, 토양 수분 센서를 토양에 삽입하세요.
릴레이 프로그래밍하기
이제 Raspberry Pi를 프로그래밍하여 연결된 릴레이를 사용할 수 있습니다.
작업
장치를 프로그래밍하세요.
-
Raspberry Pi의 전원을 켜고 부팅이 완료될 때까지 기다리세요.
-
VS Code에서 이전 수업의
soil-moisture-sensor
프로젝트를 열어둡니다. 이 프로젝트에 코드를 추가할 것입니다. -
기존의 import 문 아래에 다음 코드를
app.py
파일에 추가하세요:from grove.grove_relay import GroveRelay
이 코드는 Grove Python 라이브러리에서
GroveRelay
를 가져와 Grove 릴레이와 상호작용할 수 있도록 합니다. -
ADC
클래스 선언 아래에 다음 코드를 추가하여GroveRelay
인스턴스를 생성하세요:relay = GroveRelay(5)
이 코드는 D5 핀(릴레이를 연결한 디지털 핀)을 사용하는 릴레이를 생성합니다.
-
릴레이가 작동하는지 테스트하려면,
while True:
루프에 다음 코드를 추가하세요:relay.on() time.sleep(.5) relay.off()
이 코드는 릴레이를 켠 후 0.5초 동안 대기하고, 릴레이를 끕니다.
-
Python 앱을 실행하세요. 릴레이는 10초마다 켜지고 꺼지며, 켜지고 꺼지는 사이에 0.5초의 지연이 있습니다. 릴레이가 켜질 때 클릭 소리가 나고, 꺼질 때 다시 클릭 소리가 납니다. 릴레이가 켜지면 Grove 보드의 LED가 켜지고, 꺼지면 LED가 꺼집니다.
토양 수분에 따라 릴레이 제어하기
이제 릴레이가 작동하므로, 토양 수분 센서의 읽기 값에 따라 릴레이를 제어할 수 있습니다.
작업
릴레이를 제어하세요.
-
릴레이를 테스트하기 위해 추가했던 3줄의 코드를 삭제하세요. 대신 다음 코드를 추가하세요:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
이 코드는 토양 수분 센서에서 토양 수분 수준을 확인합니다. 값이 450을 초과하면 릴레이를 켜고, 450 미만이면 릴레이를 끕니다.
💁 정전용량식 토양 수분 센서는 읽기 값이 낮을수록 토양에 수분이 많고, 값이 높을수록 토양에 수분이 적다는 것을 기억하세요.
-
Python 앱을 실행하세요. 토양 수분 수준에 따라 릴레이가 켜지거나 꺼지는 것을 볼 수 있습니다. 건조한 토양에서 테스트한 후, 물을 추가해 보세요.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 이 코드는 code-relay/pi 폴더에서 찾을 수 있습니다.
😀 토양 수분 센서로 릴레이를 제어하는 프로그램이 성공적으로 작동했습니다!
면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.