Outputs
페이지: 설정 -> 출력
지원되는 출력 장치의 전체 목록은 지원되는 출력 장치를 참조하세요.
출력은 장치를 작동시키는 다양한 신호를 생성할 수 있습니다. 출력은 GPIO 핀에서 HIGH/LOW 신호, 펄스 폭 변조(PWM) 신호, 315/433 MHz 신호를 사용하여 무선 주파수로 작동하는 릴레이를 전환하거나, 펌프 및 모터를 구동하거나, Linux 또는 Python 명령을 실행하는 등의 작업을 수행할 수 있습니다.
사용자 정의 출력~
AoT에는 사용자 정의 출력을 AoT 시스템에서 생성하고 사용할 수 있는 사용자 정의 출력 가져오기 시스템이 있습니다. 사용자 정의 출력은 [기어 아이콘] -> 구성 -> 사용자 정의 출력 페이지에서 업로드 및 가져오기 할 수 있습니다. 가져온 후에는 설정 -> 출력 페이지에서 사용할 수 있습니다.
작동하는 모듈을 개발한 경우 새 GitHub 이슈 생성 또는 풀 리퀘스트를 고려해 보세요. 해당 모듈이 기본 제공 세트에 포함될 수 있습니다.
적절한 형식의 예는 AoT/aot/outputs 디렉토리에 있는 기본 제공 모듈을 열어 확인할 수 있습니다. 또한 AoT/aot/outputs/examples 디렉토리에는 사용자 정의 출력 예제가 포함되어 있습니다.
새로운 측정값/단위가 필요한 출력의 경우 [기어 아이콘] -> 구성 -> 측정값 페이지에서 추가할 수 있습니다.
출력 옵션~
| 설정 | 설명 |
|---|---|
| 핀 (GPIO) | 출력 신호로 사용할 GPIO 핀입니다. BCM 번호 체계를 사용합니다. |
| WiringPi 핀 | 출력 신호로 사용할 GPIO 핀입니다. WiringPi 번호 체계를 사용합니다. |
| 켜기 상태 | 장치를 켜기 위한 GPIO 신호 상태입니다. HIGH는 3.3볼트 신호를 보내고, LOW는 0볼트 신호를 보냅니다. 출력이 3.3볼트 신호로 회로를 완성하여 장치가 켜진다면 HIGH로 설정하세요. 0볼트 신호로 장치가 켜진다면 LOW로 설정하세요. |
| 프로토콜 | 315/433 MHz를 통해 전송할 때 사용할 프로토콜입니다. 기본값은 1이며, 작동하지 않을 경우 숫자를 증가시켜 보세요. |
| UART 장치 | 장치에 연결된 UART 장치입니다. |
| 전송 속도 (Baud Rate) | UART 장치의 전송 속도입니다. |
| I2C 주소 | 장치의 I2C 주소입니다. |
| I2C 버스 | 장치가 연결된 I2C 버스입니다. |
| 출력 모드 | 지원되는 경우 출력 모드입니다. |
| 유량 | 부피를 분배하기 위한 유량 (ml/min)입니다. |
| 펄스 길이 | 315/433 MHz를 통해 전송할 펄스 길이입니다. 기본값은 189 ms입니다. |
| 비트 길이 | 315/433 MHz를 통해 전송할 비트 길이입니다. 기본값은 24비트입니다. |
| 사용자 권한으로 실행 | Linux 명령을 실행할 사용자를 선택합니다. |
켜기/끄기 (GPIO)~
켜기/끄기 (GPIO) 출력은 GPIO 핀을 HIGH (3.3볼트) 또는 LOW (0볼트)로 전환합니다. 이는 릴레이와 같은 전기 기계식 스위치를 제어하여 전기 장치를 켜고 끄는 데 유용합니다.
릴레이는 소형 전압 신호(예: 마이크로프로세서에서 발생)를 사용하여 훨씬 더 큰 전압을 활성화할 수 있는 전기 기계식 또는 솔리드 스테이트 장치로, 저전압 시스템이 고전압의 위험에 노출되지 않도록 합니다.
출력 탭에서 출력을 추가하고 구성하세요. 출력은 시스템의 다른 부분에서 사용되기 전에 올바르게 설정되어야 합니다.
유선 릴레이를 설정하려면 "GPIO 핀"(BCM 번호 체계 사용)을 HIGH (5볼트) 및 LOW (0볼트)로 전환할 핀으로 설정하세요. 이는 릴레이 및 기타 장치를 활성화하는 데 사용됩니다. 켜기 트리거는 장치를 켜는 신호 상태(HIGH 또는 LOW)로 설정해야 합니다. 예를 들어, 릴레이가 코일의 전위가 0볼트일 때 활성화된다면 켜기 트리거를 "LOW"로 설정하세요. 반대로 릴레이가 코일의 전위가 5볼트일 때 활성화된다면 "HIGH"로 설정하세요.
펄스 폭 변조 (PWM)~
펄스 폭 변조(PWM)는 특정 주파수(Hz)에서 펄싱 신호에 메시지를 인코딩하는 변조 기술입니다. 부하에 공급되는 전압(및 전류)의 평균 값은 전원과 부하 사이의 스위치를 빠른 속도로 켜고 끔으로써 제어됩니다. 스위치가 꺼져 있는 시간에 비해 켜져 있는 시간이 길수록 부하에 공급되는 총 전력이 높아집니다.
PWM 스위칭 주파수는 부하(전력을 사용하는 장치)에 영향을 미칠 수 있는 주파수보다 훨씬 높아야 합니다. 즉, 부하가 인식하는 결과 파형은 가능한 한 매끄러워야 합니다. 전원 공급 스위칭 속도는 부하와 응용 프로그램에 따라 크게 달라질 수 있습니다. 예를 들어:
인용
전기 스토브에서는 분당 여러 번 스위칭해야 하고, 램프 디머에서는 120 Hz, 모터 드라이브에서는 몇 kHz에서 수십 kHz, 오디오 앰프 및 컴퓨터 전원 공급 장치에서는 수십 또는 수백 kHz에 이릅니다.
듀티 사이클은 '켜짐' 시간과 정기적인 간격 또는 '주기' 시간의 비율을 설명합니다. 낮은 듀티 사이클은 대부분의 시간 동안 전원이 꺼져 있기 때문에 낮은 전력을 의미합니다. 듀티 사이클은 0%는 항상 꺼짐, 50%는 절반의 시간 동안 꺼짐 및 절반의 시간 동안 켜짐, 100%는 항상 켜짐으로 표현됩니다.
펄스 폭 변조 (PWM) 옵션~
| 설정 | 설명 |
|---|---|
| 라이브러리 | PWM 신호를 생성하는 방법을 선택합니다. 하드웨어 핀은 최대 30 MHz PWM 신호를 생성할 수 있으며, 기타 (비하드웨어 PWM) 핀은 최대 40 kHz PWM 신호를 생성할 수 있습니다. 다양한 Pi 보드의 하드웨어 핀은 아래 표를 참조하세요. |
| 핀 (GPIO) | BCM 번호 체계를 사용하여 PWM 신호를 출력할 GPIO 핀입니다. |
| 주파수 (헤르츠) | PWM 신호의 주파수입니다. |
| 신호 반전 | 출력 컨트롤러에 반전된 듀티 사이클을 전송합니다. |
| 듀티 사이클 | 켜짐 시간과 꺼짐 시간의 비율을 백분율(0-100)로 표현한 값입니다. |
비하드웨어 PWM 핀~
비하드웨어 PWM 핀을 사용할 때는 특정 주파수만 사용할 수 있습니다. 허용되는 주파수(Hz)는 40000, 20000, 10000, 8000, 5000, 4000, 2500, 2000, 1600, 1250, 1000, 800, 500, 400, 250, 200, 100, 50 Hz입니다. 이 목록에 없는 주파수를 설정하려고 하면, 가장 가까운 주파수가 대신 사용됩니다.
하드웨어 PWM 핀~
하드웨어 PWM 핀을 사용할 때는 정확한 주파수를 설정할 수 있습니다. 동일한 PWM 채널은 여러 GPIO에서 사용할 수 있습니다. 동일한 PWM 채널을 공유하는 모든 GPIO 핀은 가장 최근에 설정된 주파수와 듀티 사이클을 사용합니다.
| BCM 핀 | PWM 채널 | 라즈베리 파이 버전 |
|---|---|---|
| 12 | 0 | A 및 B 모델 제외 모든 모델 |
| 13 | 1 | A 및 B 모델 제외 모든 모델 |
| 18 | 0 | 모든 모델 |
| 19 | 1 | A 및 B 모델 제외 모든 모델 |
| 40 | 0 | 컴퓨트 모듈 전용 |
| 41 | 1 | 컴퓨트 모듈 전용 |
| 45 | 1 | 컴퓨트 모듈 전용 |
| 52 | 0 | 컴퓨트 모듈 전용 |
| 53 | 1 | 컴퓨트 모듈 전용 |
DC 팬 제어를 위한 회로도~
아래는 AoT의 PWM 출력을 사용하여 직류(DC) 팬을 제어할 수 있는 하드웨어 회로도입니다.
PWM 출력으로 12볼트 DC 팬(예: PC 팬) 제어

교류(AC) 변조를 위한 회로도~
아래는 AoT의 PWM 출력을 사용하여 교류(AC)를 변조할 수 있는 하드웨어 회로도입니다.
PWM 출력으로 교류(AC)를 1% 듀티 사이클로 변조

PWM 출력으로 교류(AC)를 50% 듀티 사이클로 변조

PWM 출력으로 교류(AC)를 99% 듀티 사이클로 변조

연동 펌프(Peristaltic Pump)~
AoT는 두 가지 연동 펌프 출력 모듈을 지원합니다. 일반 연동 펌프 출력(Generic Peristaltic Pump Output)과 Atlas Scientific EZO-PMP 연동 펌프입니다.
일반 연동 펌프~
일반 연동 펌프 출력을 사용하여 모든 연동 펌프를 이용해 액체를 분배할 수 있습니다. 가장 기본적인 분배 기능은 분배 시작, 분배 중지, 또는 일정 시간 동안 분배하는 것입니다. 펌프 속도가 측정된 경우, 이 값을 "최고 속도(ml/min)" 설정에 입력하면 출력 컨트롤러가 단순히 시간 대신 특정 부피를 분배할 수 있습니다. 특정 부피를 분배하려면 출력 모드를 설정하고 "원하는 유량(ml/min)"을 지정해야 합니다.
펌프의 유량을 측정하려면 먼저 펌프 호스에서 모든 공기를 제거하세요. 그런 다음 펌프가 60초 동안 분배하도록 지시하고 분배된 액체를 수집합니다. 완료되면 분배된 액체의 양을 밀리리터 단위로 측정하여 "최고 속도(ml/min)" 설정에 입력하세요. 펌프의 유량이 설정되면 이제 특정 부피를 분배할 수 있습니다.
이 출력 모듈은 GPIO 핀을 HIGH 또는 LOW로 전환하여 연동 펌프를 켜고 끄는 방식으로 작동합니다. 이는 펌프의 전원 공급 장치와 직렬로 릴레이를 사용하거나 GPIO를 펌프의 입력 신호로 직접 사용하는 방식으로 가장 쉽게 구현할 수 있습니다(지원되는 경우). 릴레이를 사용할 때는 펌프의 빠른 전환을 가능하게 하는 회로를 설계하는 것이 중요합니다. 펌프가 분배하는 부피는 시간에 따라 달라지므로, 펌프 전환 속도가 빠를수록 분배 정확도가 높아집니다. 많은 연동 펌프는 DC 전압으로 작동하며 AC-DC 변환기가 필요합니다. 이러한 변환기는 전원이 공급되거나 제거될 때 에너지가 활성화되거나 비활성화되는 데 시간이 걸릴 수 있으며, 이는 분배 정확도에 영향을 미칠 수 있습니다. 이를 해결하려면 AC 전원이 아닌 DC 전원을 전환하여 이러한 잠재적 지연을 제거해야 합니다.
Atlas Scientific 연동 펌프~
Atlas Scientific 연동 펌프는 I2C 또는 직렬 통신을 통해 특정 부피의 액체를 정확히 분배할 수 있는 연동 펌프와 마이크로컨트롤러가 결합된 장치입니다. 이 펌프는 보정, 켜기, 끄기, 특정 속도로 분배 등의 명령을 포함한 여러 명령을 수락할 수 있습니다. Atlas Scientific 연동 펌프는 좋은 옵션이지만, 일반 연동 펌프보다 비용이 더 많이 듭니다.
연동 펌프 옵션~
| 설정 | 설명 |
|---|---|
| 출력 모드 | "최고 속도"는 펌프가 가능한 가장 빠른 속도로 액체를 분배합니다. "유량 지정"은 "유량 (ml/min)" 옵션에 설정된 속도로 액체를 분배합니다. |
| 유량 (ml/min) | "출력 모드" 옵션에서 "유량 지정"을 선택한 경우, 액체가 분배되는 속도입니다. |
| 최고 속도 (ml/min) | 펌프가 액체를 분배하는 속도(ml/min)입니다. |
| 최소 작동 시간 (초/분) | 펌프가 매 60초 동안 켜져 있어야 하는 최소 지속 시간(초)입니다. 이 옵션은 "출력 모드"에서 "유량 지정"을 선택한 경우에만 사용됩니다. |
무선 315/433 MHz~
일부 315/433 MHz 무선 릴레이를 사용할 수 있습니다. 송신기의 핀(BCM 번호 체계 사용), 펄스 길이, 비트 길이, 프로토콜, 켜기 명령, 끄기 명령을 설정해야 합니다. 켜기 및 끄기 명령을 확인하려면 315/433 MHz 수신기를 Pi에 연결한 후 아래 스크립트를 실행하세요. 이때 17을 수신기가 연결된 핀(BCM 번호 체계 사용)으로 바꾸고, 리모컨의 버튼(켜기 또는 끄기)을 눌러 해당 버튼과 연관된 숫자 코드를 감지합니다.
433 MHz 무선 릴레이는 SMAKN 433MHz RF 송신기/수신기 및 Etekcity 무선 원격 제어 전기 콘센트와 성공적으로 테스트되었습니다(이슈 88 참조). 현재 코드로 작동하지 않는 315/433 MHz 송신기/수신기 및 무선 릴레이가 있는 경우, 하드웨어 세부 정보를 포함하여 새 이슈를 제출하세요.
Linux 명령~
출력을 켜거나 끄거나 듀티 사이클을 설정할 때 터미널 명령을 실행하는 옵션입니다. 명령은 'root' 사용자로 실행됩니다. Linux 명령 출력을 생성하면 출력 사용 방법을 보여주는 예제 코드가 제공됩니다.
Python 명령~
Python 명령 출력은 Linux 명령 출력과 유사하게 작동하지만 Python 3 코드를 실행합니다. Python 명령 출력을 생성하면 출력 사용 방법을 보여주는 예제 코드가 제공됩니다.
출력 참고 사항~
무선 및 명령(Linux/Python) 출력: 무선 프로토콜은 315/433 MHz 장치와의 단방향 통신만 허용하므로, 무선 릴레이는 켜지기 전까지는 꺼진 상태로 간주되며, 추가되었을 때 빨간색(꺼짐)으로 표시됩니다. 무선 릴레이가 AoT 외부(예: 리모컨)에서 켜지거나 꺼진 경우, AoT는 릴레이의 상태를 확인할 수 없으며 마지막 상태를 표시합니다. 예를 들어, AoT가 무선 릴레이를 켜고 리모컨으로 릴레이를 끄면, AoT는 여전히 릴레이가 켜져 있다고 가정합니다.