사용자 도구

사이트 도구


products:mpaino_8a8r

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
products:mpaino_8a8r [2026/09/12 15:37] – 바깥 편집 127.0.0.1products:mpaino_8a8r [2026/11/01 00:49] (현재) – 바깥 편집 127.0.0.1
줄 5: 줄 5:
 선택한 I/O모듈과 옵션 모듈이 한 개의 제품으로 조립되어 출고됩니다. 사용자가 모듈을 추가/제거할 수 없습니다. 선택한 I/O모듈과 옵션 모듈이 한 개의 제품으로 조립되어 출고됩니다. 사용자가 모듈을 추가/제거할 수 없습니다.
  
-[[products:mpaino_x|아날로그 입력 X모듈 상세 안내 — DIP 설정·배선·프로그램 예제 →]] +[[products:mpaino_x|아날로그 입력 X모듈 상세설명]] \\ 
-[[products:mpaino_f|PT100 입력 F모듈 상세 안내 — 결선·채널·프로그램 예제 →]] +[[products:mpaino_y|아날로그 출력 Y모듈 상세설명]] \\ 
-[[products:mpaino_y|아날로그 출력 Y모듈 상세 안내 — DIP 설정·배선·프로그램 예제 →]] +[[products:mpaino_f|PT100Ω 온도센서 입력 F모듈 상세설명]] \\ 
-[[products:mpaino_k|고속펄스 출력 K모듈 상세 안내 — 채널·Timer·프로그램 예제 →]]+[[products:mpaino_k|고속펄스 출력 K모듈 상세설명]]
  
 MPAINO-8A8R은 디지털 입력 8점과 릴레이 출력 8점을 제공하며 RS-232, RS-485, UART, I²C 통신을 사용할 수 있습니다. MPAINO-8A8R은 디지털 입력 8점과 릴레이 출력 8점을 제공하며 RS-232, RS-485, UART, I²C 통신을 사용할 수 있습니다.
  
 Arduino IDE(Arduino C/C++) 또는 MPINO STUDIO 2(Arduino C/C++ & 래더로직)로 프로그램할 수 있습니다. Arduino IDE(Arduino C/C++) 또는 MPINO STUDIO 2(Arduino C/C++ & 래더로직)로 프로그램할 수 있습니다.
 +
 +[[:products:mpaino#mpaino_series_사양표|MPAINO Series 사양표]]에서 MPAINO-8A8R의 보드 이름과 기본 핀번호를 확인할 수 있습니다.
 +
 +
 +
 +
  
 \\ \\
줄 30: 줄 36:
 |  릴레이 출력  |  8점 \\ (절연·무전압 접점)  |  D64~D67 / COM2 \\ D68~D71 / COM3  | 연결 전압: DC 0~30V 또는 AC 0~250V \\ 최대 허용전류: 5A/1점, 8A/1COM \\ 4점/1COM  | |  릴레이 출력  |  8점 \\ (절연·무전압 접점)  |  D64~D67 / COM2 \\ D68~D71 / COM3  | 연결 전압: DC 0~30V 또는 AC 0~250V \\ 최대 허용전류: 5A/1점, 8A/1COM \\ 4점/1COM  |
 |  고속 입력·인터럽트  |  2점 \\ (절연)  |  D0(INT0), D1(INT1) / COM0  | 최대 8kHz \\ 디지털 입력과 공유  | |  고속 입력·인터럽트  |  2점 \\ (절연)  |  D0(INT0), D1(INT1) / COM0  | 최대 8kHz \\ 디지털 입력과 공유  |
-| ::: |  2점 \\ (비절연)  |  SDA(D20·INT2), SCL(D21·INT3)  | 최대 50kHz \\ 4.7kΩ 풀업 내장 \\ I²C 통신과 공유  |+| ::: |  2점 \\ (비절연)  |  SDA(D20·INT2), SCL(D21·INT3)  | 최소 50kHz 이상 \\ 4.7kΩ 풀업 내장 \\ I²C 통신과 공유  |
 |  통신 채널  |  1채널 \\ (비절연)  |  I²C  | SDA(D20), SCL(D21) \\ ''Wire'' 사용  | |  통신 채널  |  1채널 \\ (비절연)  |  I²C  | SDA(D20), SCL(D21) \\ ''Wire'' 사용  |
 | ::: |  1채널 \\ (비절연)  |  RS-232  | ''Serial1'' 사용  | | ::: |  1채널 \\ (비절연)  |  RS-232  | ''Serial1'' 사용  |
줄 42: 줄 48:
 ===== 디지털 입력 ===== ===== 디지털 입력 =====
  
 +[[:guide:wiring#디지털_입력_한_채널_확인|처음 결선할 때는 디지털 입력 한 채널 확인 절차를 참고해주시기 바랍니다. →]]
 ^ 그룹 ^ 단자 ^ 입력 구성 ^ 단자대 및 결선 예시 ^ ^ 그룹 ^ 단자 ^ 입력 구성 ^ 단자대 및 결선 예시 ^
 | COM0 | D0~D3 | 절연 디지털 입력 4점 \\ D0·D1은 INT0·INT1 겸용 |  {{:products:mpaino-input-io8.svg?740|MPAINO-8A8R 디지털 입력 단자대와 NPN·PNP 결선}}  | | COM0 | D0~D3 | 절연 디지털 입력 4점 \\ D0·D1은 INT0·INT1 겸용 |  {{:products:mpaino-input-io8.svg?740|MPAINO-8A8R 디지털 입력 단자대와 NPN·PNP 결선}}  |
줄 48: 줄 55:
 디지털 입력은 포토커플러로 절연되어 있으며 DC 5~24V의 NPN 또는 PNP 방식 스위치·센서를 연결할 수 있습니다. 입력 방식은 각 COM 단자의 결선 방향으로 선택합니다. 디지털 입력은 포토커플러로 절연되어 있으며 DC 5~24V의 NPN 또는 PNP 방식 스위치·센서를 연결할 수 있습니다. 입력 방식은 각 COM 단자의 결선 방향으로 선택합니다.
  
-  * 입력 단자에 DC 5~24V가 들어오는 구성: 해당 COM을 GND에 연결합니다. +  * 입력 단자에 DC 5~24V가 들어오는 구성: 해당 COM을 GND에 연결해주시기 바랍니다. 
-  * 입력 단자에 GND가 들어오는 구성: 해당 COM을 DC 5~24V에 연결합니다.+  * 입력 단자에 GND가 들어오는 구성: 해당 COM을 DC 5~24V에 연결해주시기 바랍니다.
  
 아날로그 출력 또는 고속펄스 출력 옵션인 YK, Y2K, K2, Y3, Y4 모듈이 포함되어도 프로그램에서는 디지털 입력 D0~D7을 동일하게 사용합니다. 해당 구성에서는 INT0·INT1을 사용할 수 없습니다. 아날로그 출력 또는 고속펄스 출력 옵션인 YK, Y2K, K2, Y3, Y4 모듈이 포함되어도 프로그램에서는 디지털 입력 D0~D7을 동일하게 사용합니다. 해당 구성에서는 INT0·INT1을 사용할 수 없습니다.
줄 75: 줄 82:
  
 === 함수 예제 · 연속 판독 필터: IdigitalRead() === === 함수 예제 · 연속 판독 필터: IdigitalRead() ===
 +
 +**상세 설명:** [[commands:reference:idigitalread|IdigitalRead()]]
  
 **함수 원형** **함수 원형**
줄 97: 줄 106:
  
 === 함수 예제 · 채터링 방지: Ibounce(), IbounceOn(), IbounceOff() === === 함수 예제 · 채터링 방지: Ibounce(), IbounceOn(), IbounceOff() ===
 +
 +**상세 설명:** [[commands:ibounce|Ibounce()]] · [[commands:reference:ibounceon|IbounceOn()]] · [[commands:reference:ibounceoff|IbounceOff()]]
  
 **함수 원형** **함수 원형**
줄 139: 줄 150:
  
 === 함수 예제 · 입력 토글: Ialt() === === 함수 예제 · 입력 토글: Ialt() ===
 +
 +**상세 설명:** [[commands:reference:ialt|Ialt()]]
  
 **함수 원형** **함수 원형**
줄 171: 줄 184:
 ===== 릴레이 출력 ===== ===== 릴레이 출력 =====
  
 +[[:guide:wiring#릴레이_출력_한_채널_확인|처음 결선할 때는 릴레이 출력 한 채널 확인 절차를 참고해주시기 바랍니다. →]]
 ^ 그룹 ^ 출력 단자 ^ 접점 구성 ^ 단자대 및 결선 예시 ^ ^ 그룹 ^ 출력 단자 ^ 접점 구성 ^ 단자대 및 결선 예시 ^
 | COM2 | D64~D67 | 릴레이 출력 4점이 COM2 공유 |  {{:products:mpaino-output-relay8.svg?740|MPAINO-8A8R 출력 단자대와 부하 결선}}  | | COM2 | D64~D67 | 릴레이 출력 4점이 COM2 공유 |  {{:products:mpaino-output-relay8.svg?740|MPAINO-8A8R 출력 단자대와 부하 결선}}  |
줄 202: 줄 216:
  
 ^ 단자 ^ 구성 ^ 최대 입력 주파수 ^ 함께 사용할 수 없는 기능 ^ 엔코더 결선 ^ ^ 단자 ^ 구성 ^ 최대 입력 주파수 ^ 함께 사용할 수 없는 기능 ^ 엔코더 결선 ^
-| D0(INT0), D1(INT1) / COM0 | 절연 입력 | 8kHz | YK·Y2K·K2·Y3·Y4 옵션 구성 |  {{:products:mpaino-encoder.svg?430|MPAINO-8A8R I2C 단자대와 엔코더 결선}}  | +| D0(INT0), D1(INT1) / COM0 | 절연 입력 | 최대 8kHz | YK·Y2K·K2·Y3·Y4 옵션 구성 |  {{:products:mpaino-encoder.svg?430|MPAINO-8A8R I2C 단자대와 엔코더 결선}}  | 
-| SDA(D20·INT2), SCL(D21·INT3) | 비절연 입력, 4.7kΩ 풀업 내장 | 50kHz | I²C 통신 | ::: |+| SDA(D20·INT2), SCL(D21·INT3) | 비절연 입력, 4.7kΩ 풀업 내장 | 최소 50kHz 이상 | I²C 통신 | ::: |
  
 엔코더는 SDA(D20)를 A상, SCL(D21)을 B상으로 사용하여 연결할 수 있습니다. SDA·SCL을 엔코더 또는 인터럽트 입력으로 사용하면 같은 단자에서 I²C 통신을 동시에 사용할 수 없습니다. 엔코더는 SDA(D20)를 A상, SCL(D21)을 B상으로 사용하여 연결할 수 있습니다. SDA·SCL을 엔코더 또는 인터럽트 입력으로 사용하면 같은 단자에서 I²C 통신을 동시에 사용할 수 없습니다.
줄 209: 줄 223:
 ==== 예제 프로그램 · 펄스 카운트 ==== ==== 예제 프로그램 · 펄스 카운트 ====
  
-I²C 단자의 SDA(D20)는 4.7kΩ 풀업 입력입니다. 이 예제는 I²C 통신과 동시에 사용하지 않습니다. 현재 코어의 digitalPinToInterrupt() 인수 2는 디지털 입력 2가 아니라 SDA에 배정된 인터럽트 논리 번호입니다. SDA가 HIGH에서 LOW로 바뀌는 FALLING 에지를 계수합니다. 소프트웨어 ISR 예제이며 최대 주파수에서 무손실을 보장하지 않습니다.+I²C 단자의 SDA(D20)는 4.7kΩ 풀업 입력입니다. 이 예제는 I²C 통신과 동시에 사용하지 않습니다. MPAINO 보드 패키지의 digitalPinToInterrupt() 인수 2는 디지털 입력 2가 아니라 SDA에 배정된 인터럽트 논리 번호입니다. SDA가 HIGH에서 LOW로 바뀌는 FALLING 에지를 계수합니다. 소프트웨어 ISR 예제이며 최대 주파수에서 무손실을 보장하지 않습니다.
  
 <code cpp> <code cpp>
줄 234: 줄 248:
 ==== 예제 프로그램 · 엔코더 입력 ==== ==== 예제 프로그램 · 엔코더 입력 ====
  
-I²C 단자의 SDA(D20)는 4.7kΩ 풀업 입력입니다. 이 예제는 I²C 통신과 동시에 사용하지 않습니다. 현재 코어의 digitalPinToInterrupt() 인수 2는 디지털 입력 2가 아니라 SDA에 배정된 인터럽트 논리 번호입니다. SDA에 A상, SCL에 B상을 연결하고 A상 하강 시 B상이 HIGH이면 증가, LOW이면 감소합니다. 방향은 A·B상 연결에 따라 바뀝니다. SCL은 디지털 모듈 논리 번호와 겹치므로 실제 핀 상태를 직접 읽습니다.+I²C 단자의 SDA(D20)는 4.7kΩ 풀업 입력입니다. 이 예제는 I²C 통신과 동시에 사용하지 않습니다. MPAINO 보드 패키지의 digitalPinToInterrupt() 인수 2는 디지털 입력 2가 아니라 SDA에 배정된 인터럽트 논리 번호입니다. SDA에 A상, SCL에 B상을 연결하고 A상 하강 시 B상이 HIGH이면 증가, LOW이면 감소합니다. 방향은 A·B상 연결에 따라 바뀝니다. SCL은 디지털 모듈 논리 번호와 겹치므로 실제 핀 상태를 직접 읽습니다.
  
 <code cpp> <code cpp>
줄 279: 줄 293:
  
 <code cpp> <code cpp>
-// MP 다운로드 케이블의 Serial 모니터 ↔ RS-232 Serial1+// USB 다운로드 포트의 Serial 모니터 ↔ RS-232 Serial1
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
줄 298: 줄 312:
  
 <code cpp> <code cpp>
-// MP 다운로드 케이블의 Serial 모니터 ↔ RS-232 Serial2+// USB 다운로드 포트의 Serial 모니터 ↔ RS-485 Serial2
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
줄 317: 줄 331:
  
 <code cpp> <code cpp>
-// MP 다운로드 케이블의 Serial 모니터 ↔ RS-232 Serial3+// USB 다운로드 포트의 Serial 모니터 ↔ UART Serial3
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
줄 371: 줄 385:
  
 === 함수 예제 · Modbus RTU Slave: ImodbusRTUMem(), ImodbusRTUAdr(), ImodbusRTUInit(), ImodbusRTU() === === 함수 예제 · Modbus RTU Slave: ImodbusRTUMem(), ImodbusRTUAdr(), ImodbusRTUInit(), ImodbusRTU() ===
 +
 +**상세 설명:** [[commands:reference:imodbusrtumem|ImodbusRTUMem()]] · [[commands:reference:imodbusrtuadr|ImodbusRTUAdr()]] · [[commands:reference:imodbusrtuinit|ImodbusRTUInit()]] · [[commands:reference:imodbusrtu|ImodbusRTU()]]
  
 **함수 원형** **함수 원형**
줄 383: 줄 399:
 입력 0 상태를 M[0], 동작 시간(초)을 D[0]에 넣어 상대 기기에서 읽습니다. RS-485(Serial2), 국번 1, 9600bps, 8N1로 설정하고, M[0]은 FC01·시작 주소 0·1비트, D[0]은 FC03·시작 주소 0·1워드로 읽습니다. 주소는 실제 전송 주소(0부터) 기준입니다. 통신 함수는 loop()마다 호출하며 출력은 제어하지 않습니다. 입력 0 상태를 M[0], 동작 시간(초)을 D[0]에 넣어 상대 기기에서 읽습니다. RS-485(Serial2), 국번 1, 9600bps, 8N1로 설정하고, M[0]은 FC01·시작 주소 0·1비트, D[0]은 FC03·시작 주소 0·1워드로 읽습니다. 주소는 실제 전송 주소(0부터) 기준입니다. 통신 함수는 loop()마다 호출하며 출력은 제어하지 않습니다.
  
-M과 D는 코어가 제공하는 공유 전역 메모리입니다. 이 스케치는 단독 실행하며, 다른 프로토콜과 함께 사용할 때는 메모리를 중복 할당하지 않습니다.+M과 D는 코어가 제공하는 공유 전역 메모리입니다. 이 스케치는 단독 실행하며, 다른 프로토콜과 함께 사용할 때는 메모리를 중복 할당하지 않아야 합니다.
  
 <code cpp> <code cpp>
줄 415: 줄 431:
  
 === 함수 예제 · Modbus RTU Master: ImodbusRTUmasterInit(), ImodbusRTUmaster() === === 함수 예제 · Modbus RTU Master: ImodbusRTUmasterInit(), ImodbusRTUmaster() ===
 +
 +**상세 설명:** [[commands:reference:imodbusrtumasterinit|ImodbusRTUmasterInit()]] · [[commands:reference:imodbusrtumaster|ImodbusRTUmaster()]]
  
 **함수 원형** **함수 원형**
줄 455: 줄 473:
  
 === 함수 예제 · LS산전 Cnet SLave: ICnetMem(), ICnetAdr(), ICnetInit(), ICnet() === === 함수 예제 · LS산전 Cnet SLave: ICnetMem(), ICnetAdr(), ICnetInit(), ICnet() ===
 +
 +**상세 설명:** [[commands:reference:icnetmem|ICnetMem()]] · [[commands:reference:icnetadr|ICnetAdr()]] · [[commands:reference:icnetinit|ICnetInit()]] · [[commands:reference:icnet|ICnet()]]
  
 **함수 원형** **함수 원형**
줄 465: 줄 485:
 </code> </code>
  
-입력 0 상태를 M[0], 동작 시간(초)을 D[0]에 넣어 HMI에서 읽습니다. 상대 기기는 LS산전 Cnet, RS-232, 국번 1, 9600bps, 8N1로 설정합니다. 비트는 %MX00000(M[0]), 워드는 %DW0(D[0])을 읽습니다. 통신 함수는 loop()마다 호출하며 출력은 제어하지 않습니다.+입력 0 상태를 M[0], 동작 시간(초)을 D[0]에 넣어 HMI에서 읽습니다. 상대 기기는 LS산전 Cnet, RS-232, 국번 1, 9600bps, 8N1로 설정해주시기 바랍니다. 비트는 %MX00000(M[0]), 워드는 %DW0(D[0])을 읽습니다. 통신 함수는 loop()마다 호출하며 출력은 제어하지 않습니다.
  
-M·D·R은 코어가 제공하는 공유 전역 메모리이며, 이 예제는 R을 사용하지 않습니다. Modbus 예제와는 단독 실행하며, 다른 프로토콜과 함께 사용할 때는 메모리를 중복 할당하지 않습니다.+M·D·R은 코어가 제공하는 공유 전역 메모리이며, 이 예제는 R을 사용하지 않습니다. Modbus 예제와는 단독 실행하며, 다른 프로토콜과 함께 사용할 때는 메모리를 중복 할당하지 않아야 합니다.
  
 <code cpp> <code cpp>
줄 500: 줄 520:
  
 ===== 옵션 모듈 ===== ===== 옵션 모듈 =====
 +
 +제품에 아래 옵션 모듈을 추가할 수 있습니다. 선택한 구성으로 조립되어 출고됩니다. \\
 +사용자가 I/O모듈 및 옵션 모듈을 추가하거나 제거할 수 없습니다.
 +
 +^ 코드 ^ 기능 ^ 모듈당 점수 ^ 최대 구성 ^ 핵심 특징 ^
 +| [[products:mpaino_x|X · 상세 안내]] | 아날로그 입력 | 4점 | 최대 5개, 20점 | ADS1118 \\ DC 0~5V·0~10V·0(4)~20mA·NTC 입력 선택 |
 +| [[products:mpaino_f|F · 상세 안내]] | PT100Ω 온도센서 입력 | 4점 | 최대 5개, 20점 | ADS1118 \\ 2선식 또는 3선식 PT100Ω 입력 |
 +| [[products:mpaino_y|Y · 상세 안내]] | 아날로그 출력 | 3점 | 최대 4개, 12점 | PWM 평활 \\ DC 0~5V·0~10V·0(4)~20mA 출력 선택 |
 +| [[products:mpaino_k|K · 상세 안내]] | 고속펄스 출력 | 6점 | 최대 2개, 12점 | MCU PWM 신호 직접 출력 |
 +
 +아날로그 입력과 PT100Ω 온도센서 입력의 합이 최대 20점을 초과할 수 없습니다. \\
 +아날로그 출력과 고속펄스 출력의 합이 최대 12점을 초과할 수 없습니다. \\
 +옵션 모듈을 추가할 경우, 커스텀 제작으로 진행되어 교환이나 환불이 어렵습니다.
  
 출고 시 해당 옵션 모듈이 포함된 제품에서 사용하는 예제입니다. 예제에 표시한 모듈 구성과 실제 출고 구성을 일치시킵니다. 출고 시 해당 옵션 모듈이 포함된 제품에서 사용하는 예제입니다. 예제에 표시한 모듈 구성과 실제 출고 구성을 일치시킵니다.
줄 505: 줄 538:
 ==== 예제 프로그램 · 아날로그 입력 (X 모듈 장착 시) ==== ==== 예제 프로그램 · 아날로그 입력 (X 모듈 장착 시) ====
  
-X 모듈 1개를 실제 장착하고 Analog Input Module → X를 선택한 구성입니다. analogRead(0~3)은 첫 X 모듈의 ADS1118 원시값(0~32767)을 읽습니다. 채널별 DIP와 배선을 입력 신호에 맞춥니다.+X 모듈 1개를 실제 장착하고 Analog Input Module → X를 선택한 구성입니다. analogRead(0~3)은 첫 X 모듈의 ADS1118 원시값(0~32767)을 읽습니다. 채널별 DIP와 배선을 입력 신호에 맞춰야 합니다.
  
 <code cpp> <code cpp>
줄 525: 줄 558:
  
 === 함수 예제 · 입력 범위 환산: IanalogRead(), IanalogReadf() === === 함수 예제 · 입력 범위 환산: IanalogRead(), IanalogReadf() ===
 +
 +**상세 설명:** [[commands:reference:ianalogread|IanalogRead()]] · [[commands:reference:ianalogreadf|IanalogReadf()]]
  
 **함수 원형** **함수 원형**
줄 556: 줄 591:
  
 === 함수 예제 · 4~20mA 범위 환산: IanalogRead2(), IanalogRead2f() === === 함수 예제 · 4~20mA 범위 환산: IanalogRead2(), IanalogRead2f() ===
 +
 +**상세 설명:** [[commands:reference:ianalogread2|IanalogRead2()]] · [[commands:reference:ianalogread2f|IanalogRead2f()]]
  
 **함수 원형** **함수 원형**
줄 589: 줄 626:
  
 === 함수 예제 · 이동 평균: analogReadAvg(), analogRead2Avg() === === 함수 예제 · 이동 평균: analogReadAvg(), analogRead2Avg() ===
 +
 +**상세 설명:** [[commands:reference:analogreadavg|analogReadAvg()]] · [[commands:reference:analogread2avg|analogRead2Avg()]]
  
 **함수 원형** **함수 원형**
줄 638: 줄 677:
  
 === 함수 예제 · NTC 온도 변환: ntcRead(), ntcReadf() === === 함수 예제 · NTC 온도 변환: ntcRead(), ntcReadf() ===
 +
 +**상세 설명:** [[commands:reference:ntcread|ntcRead()]] · [[commands:reference:ntcreadf|ntcReadf()]]
  
 **함수 원형** **함수 원형**
줄 669: 줄 710:
  
 === 함수 예제 · PT100 입력값 읽기: pt100Read() === === 함수 예제 · PT100 입력값 읽기: pt100Read() ===
 +
 +**상세 설명:** [[commands:reference:pt100read|pt100Read()]]
  
 **함수 원형** **함수 원형**
줄 676: 줄 719:
 </code> </code>
  
-F 모듈 1개를 실제 장착하고 Temperature Sensor Input Module → F를 선택합니다. 0~3은 첫 F 모듈 채널입니다. F 모듈 채널 0~3의 입력값을 Serial 모니터에 표시합니다.+F 모듈 1개가 실제로 장착된 제품에서 Temperature Sensor Input Module → F를 선택해주시기 바랍니다. 0~3은 첫 F 모듈 채널입니다. F 모듈 채널 0~3의 입력값을 Serial 모니터에 표시합니다.
  
 <code cpp> <code cpp>
줄 697: 줄 740:
 ==== 예제 프로그램 · 아날로그 출력 (Y 모듈 장착 시) ==== ==== 예제 프로그램 · 아날로그 출력 (Y 모듈 장착 시) ====
  
-Y 모듈 1개를 실제 장착하고 Analog Output Module → Y를 선택합니다. analogWrite(0~2, 값)의 값은 0~65535입니다. 채널 0에 중간값 32768을 출력하며 출력 전압·전류 범위는 모듈 DIP 설정에 따릅니다.+Y 모듈 1개가 실제로 장착된 제품에서 Analog Output Module → Y를 선택해주시기 바랍니다. analogWrite(0~2, 값)의 값은 0~65535입니다. 채널 0에 중간값 32768을 출력하며 출력 전압·전류 범위는 모듈 DIP 설정에 따릅니다.
  
 <code cpp> <code cpp>
줄 713: 줄 756:
  
 === 함수 예제 · 출력 범위 환산: IanalogWrite(), IanalogWritef() === === 함수 예제 · 출력 범위 환산: IanalogWrite(), IanalogWritef() ===
 +
 +**상세 설명:** [[commands:reference:ianalogwrite|IanalogWrite()]] · [[commands:reference:ianalogwritef|IanalogWritef()]]
  
 **함수 원형** **함수 원형**
줄 738: 줄 783:
 ==== 예제 프로그램 · PWM 출력 (K 모듈 장착 시) ==== ==== 예제 프로그램 · PWM 출력 (K 모듈 장착 시) ====
  
-K 모듈 1개를 실제 장착하고 High-Speed Pulse Output Module → K를 선택하며 Y 모듈은 None입니다. Arduino analogWrite()는 20~25, 내장 PWM 계열은 0~5, GPIO 제어는 130~135를 사용합니다. 첫 K 출력에 약 50% 듀티를 출력합니다.+K 모듈 1개가 실제로 장착된 제품에서 High-Speed Pulse Output Module → K를 선택해주시기 바랍니다. Y 모듈은 None입니다. Arduino analogWrite()는 20~25, 내장 PWM 계열은 0~5, GPIO 제어는 130~135를 사용합니다. 첫 K 출력에 약 50% 듀티를 출력합니다.
  
 <code cpp> <code cpp>
줄 754: 줄 799:
  
 === 함수 예제 · 듀티값 지정: PWM() === === 함수 예제 · 듀티값 지정: PWM() ===
 +
 +**상세 설명:** [[commands:reference:pwm|PWM()]]
  
 **함수 원형** **함수 원형**
줄 774: 줄 821:
  
 === 함수 예제 · 주파수·듀티 설정: FDPWM() === === 함수 예제 · 주파수·듀티 설정: FDPWM() ===
 +
 +**상세 설명:** [[commands:reference:fdpwm|FDPWM()]]
  
 **함수 원형** **함수 원형**
줄 794: 줄 843:
  
 === 함수 예제 · 지정 개수 펄스 출력: NPWM_BEGIN(), NPWM() === === 함수 예제 · 지정 개수 펄스 출력: NPWM_BEGIN(), NPWM() ===
 +
 +**상세 설명:** [[commands:reference:npwm_begin|NPWM_BEGIN()]] · [[commands:reference:npwm|NPWM()]]
  
 **함수 원형** **함수 원형**
줄 816: 줄 867:
  
 === 함수 예제 · 채널 출력 정지·재개: PWMOFF() === === 함수 예제 · 채널 출력 정지·재개: PWMOFF() ===
 +
 +**상세 설명:** [[commands:reference:pwmoff|PWMOFF()]]
  
 **함수 원형** **함수 원형**
줄 843: 줄 896:
  
 === 함수 예제 · PWM 타이머 정지·초기화: PWM_RESET() === === 함수 예제 · PWM 타이머 정지·초기화: PWM_RESET() ===
 +
 +**상세 설명:** [[commands:reference:pwm_reset|PWM_RESET()]]
  
 **함수 원형** **함수 원형**
줄 869: 줄 924:
  
 CPU 모듈의 STATUS LED는 D128로 제어합니다. CPU 모듈의 STATUS LED는 D128로 제어합니다.
 +
 +CPU 모듈의 STATUS LED를 사용자 프로그램의 동작 표시등으로 사용할 수 있습니다. 이 LED는 외부 부하 출력 단자가 아닙니다.
 +
 +제어하려면 먼저 ''pinMode(LED_BUILTIN, OUTPUT)''으로 출력 모드를 설정해야 합니다. ''digitalWrite(LED_BUILTIN, HIGH)''이면 LED가 켜지고, ''digitalWrite(LED_BUILTIN, LOW)''이면 꺼집니다.
 +
 +==== 예제 · STATUS LED 점멸 ====
 +
 +다음 예제는 CPU 모듈의 STATUS LED를 500ms마다 켜고 끕니다.
 +
 +<code cpp>
 +void setup() {
 +  pinMode(LED_BUILTIN, OUTPUT);
 +}
 +
 +void loop() {
 +  digitalWrite(LED_BUILTIN, HIGH);
 +  delay(500);
 +  digitalWrite(LED_BUILTIN, LOW);
 +  delay(500);
 +}
 +</code>
  
 ==== 예제 프로그램 · 상태 LED ==== ==== 예제 프로그램 · 상태 LED ====
  
 입력 0의 상태를 CPU 모듈 STATUS LED(LED_BUILTIN, 논리 번호 128)에 표시합니다. 입력 0의 상태를 CPU 모듈 STATUS LED(LED_BUILTIN, 논리 번호 128)에 표시합니다.
 +
 +**출력 설정:** 아래 입력 상태 표시 예제를 사용할 때도 ''setup()''에 ''pinMode(LED_BUILTIN, OUTPUT);''을 추가해야 합니다.
  
 <code cpp> <code cpp>
줄 887: 줄 965:
 ===== 개발 환경 설정 ===== ===== 개발 환경 설정 =====
  
-  - 컴퓨터와 CPU 모듈의 다운로드 포트를 USB 케이블로 연결합니다. +  - 컴퓨터와 CPU 모듈의 다운로드 포트를 USB 케이블로 연결해주시기 바랍니다. 
-  - 장치 관리자에서 다운로드 포트의 COM 번호를 확인합니다. +  - 장치 관리자에서 다운로드 포트의 COM 번호를 확인해주시기 바랍니다. 
-  - Arduino IDE의 도구 → 포트에서 확인한 COM 번호를 선택합니다. +  - Arduino IDE의 도구 → 포트에서 확인한 COM 번호를 선택해주시기 바랍니다. 
-  - 도구 → 보드에서 ''MPAINO-8A8R(T)''을 선택합니다. +  - 도구 → 보드에서 ''MPAINO-8A8R(T)''을 선택해주시기 바랍니다. 
-  - 도구 → 프로그래머에서 ''AVR ISP''를 선택하고 프로그램을 업로드합니다.+  - Arduino IDE 상단에서 **검증(✓)**을 누르고 오류가 없으면 **업로드(→)**를 눌러 프로그램을 전송해주시기 바랍니다.
  
 [[https://www.ilogics.net/ko-kr/resources/downloads/manual/15|MPAINO 사용설명서 다운로드]] [[https://www.ilogics.net/ko-kr/resources/downloads/manual/15|MPAINO 사용설명서 다운로드]]
줄 912: 줄 990:
 |  [[https://www.ilogics.net/docs/_media/products:mpaino-8a8r-dimension-rear.svg|{{ :products:mpaino-8a8r-dimension-rear.svg?nolink&360 }}]]  |  | |  [[https://www.ilogics.net/docs/_media/products:mpaino-8a8r-dimension-rear.svg|{{ :products:mpaino-8a8r-dimension-rear.svg?nolink&360 }}]]  |  |
  
-[[products:mpaino|← MPAINO Series 비교표로 돌아가기]]+[[https://www.ilogics.net/ko-kr/products/mpaino-8a8r|MPAINO-8A8R 가격 및 구매하기]]
  
 +[[products:mpaino|← MPAINO Series 비교표로 돌아가기]]
  
products/mpaino_8a8r.1789195021.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki