en-us_products:mpino_8a4t_s
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en-us_products:mpino_8a4t_s [2026/09/07 21:01] – 만듦 - 바깥 편집 127.0.0.1 | en-us_products:mpino_8a4t_s [2026/09/15 17:45] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Program the controller with Arduino IDE (Arduino C/C++) or MPINO STUDIO 2 (Arduino C/C++ & ladder logic). | Program the controller with Arduino IDE (Arduino C/C++) or MPINO STUDIO 2 (Arduino C/C++ & ladder logic). | ||
| - | {{ : | + | See the [[: |
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | {{ : | ||
| ===== Product Specifications ===== | ===== Product Specifications ===== | ||
| ^ Category | ^ Category | ||
| - | | Power | - | Supply voltage | + | | Power | - | Supply voltage |
| - | | Digital | + | | Digital |
| - | | Transistor | + | | Transistor |
| - | | Analog | + | | Analog |
| - | | Analog | + | | Analog |
| - | | Analog | + | | Analog |
| - | | Temperature | + | | Temperature |
| - | | Interrupts \\ High-Speed Counter / Encoder | + | | Interrupts \\ High-Speed Counter / Encoder |
| - | | Pulse Outputs | + | | Pulse outputs |
| - | | Communication Channels | + | | Communication Channels |
| - | | ::: | ::: | RS-232 | + | | ::: | ::: | RS-232 |
| | Memory | | Memory | ||
| | ::: | ::: | SRAM | 4KB | | | ::: | ::: | SRAM | 4KB | | ||
| | ::: | ::: | EEPROM | | ::: | ::: | EEPROM | ||
| + | |||
| + | **Markdown file:** [[https:// | ||
| - | ===== Digital | + | ===== Digital |
| + | [[: | ||
| ^ Terminal ^ Arduino Pin ^ Input Configuration ^ Terminals and Wiring Example ^ | ^ Terminal ^ Arduino Pin ^ Input Configuration ^ Terminals and Wiring Example ^ | ||
| - | | P0~P3 | D0~D3 | Digital Inputs | + | | P0~P3 | D0~D3 | 4 digital inputs, sharing |
| - | | P4~P7 | D4~D7 | Digital Inputs | + | | P4~P7 | D4~D7 | 4 digital inputs, sharing |
| The digital inputs are isolated by optocouplers and accept DC 5~24V NPN or PNP signals. Select the input type by wiring the COM terminal accordingly. | The digital inputs are isolated by optocouplers and accept DC 5~24V NPN or PNP signals. Select the input type by wiring the COM terminal accordingly. | ||
| - | ==== Example | + | ==== Example |
| Read P0~P7 with digitalRead() and display their states in the Serial Monitor every 200ms. HIGH is displayed as 1 and LOW as 0. | Read P0~P7 with digitalRead() and display their states in the Serial Monitor every 200ms. HIGH is displayed as 1 and LOW as 0. | ||
| <code cpp> | <code cpp> | ||
| - | // MPINO-8A4T-S: | + | // MPINO-8A4T-S: |
| void setup() { | void setup() { | ||
| Serial.begin(115200); | Serial.begin(115200); | ||
| Line 57: | Line 66: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 81: | Line 90: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 123: | Line 132: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 154: | Line 163: | ||
| - | ===== Transistor | + | ===== Transistor |
| + | [[: | ||
| ^ Terminal ^ Arduino Pin ^ Output Type ^ Maximum Rating ^ Terminals and Wiring Example ^ | ^ Terminal ^ Arduino Pin ^ Output Type ^ Maximum Rating ^ Terminals and Wiring Example ^ | ||
| - | | P32 | D32 | SINK output | + | | P32 | D32 | SINK outputs |
| - | | P33 | D33 | SINK output | + | | P33 | D33 | SINK outputs |
| - | | P34 | D34 | SINK output | + | | P34 | D34 | SINK outputs |
| - | | P35 | D35 | SINK output | + | | P35 | D35 | SINK outputs |
| The transistor outputs use a SINK configuration: | The transistor outputs use a SINK configuration: | ||
| - | ==== Example | + | ==== Example |
| Read P0~P3 with digitalRead() and drive P32~P35 with digitalWrite(). The mapping is P0→P32, P1→P33, P2→P34, and P3→P35. A HIGH input turns the corresponding output ON. | Read P0~P3 with digitalRead() and drive P32~P35 with digitalWrite(). The mapping is P0→P32, P1→P33, P2→P34, and P3→P35. A HIGH input turns the corresponding output ON. | ||
| <code cpp> | <code cpp> | ||
| - | // MPINO-8A4T-S: | + | // MPINO-8A4T-S: |
| void setup() { | void setup() { | ||
| for (uint8_t channel = 0; channel < 4; channel++) { | for (uint8_t channel = 0; channel < 4; channel++) { | ||
| Line 190: | Line 200: | ||
| | A2, A3 | Current input | 0~20mA or 4~20mA | ::: | | | A2, A3 | Current input | 0~20mA or 4~20mA | ::: | | ||
| | A4, A5 | Voltage input | DC 0~10V | ::: | | | A4, A5 | Voltage input | DC 0~10V | ::: | | ||
| - | | A6, A7 | NTC Temperature Sensor Inputs | + | | A6, A7 | NTC temperature sensor inputs |
| - | ==== Example | + | ==== Example |
| Use analogRead() to display the raw ADC readings (0~1023) of A0~A5 in the Serial Monitor. Voltage/ | Use analogRead() to display the raw ADC readings (0~1023) of A0~A5 in the Serial Monitor. Voltage/ | ||
| Line 214: | Line 224: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 247: | Line 257: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 280: | Line 290: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 312: | Line 322: | ||
| - | ==== Example | + | ==== Example |
| Display the raw ADC readings (0~1023) of NTC0(A6) and NTC1(A7) with analogRead(). To convert them to degrees Celsius, see the ntcRead() and ntcReadf() examples below. | Display the raw ADC readings (0~1023) of NTC0(A6) and NTC1(A7) with analogRead(). To convert them to degrees Celsius, see the ntcRead() and ntcReadf() examples below. | ||
| Line 330: | Line 340: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 364: | Line 374: | ||
| ^ Function ^ Arduino Pin ^ Points ^ Connector Pinout ^ | ^ Function ^ Arduino Pin ^ Points ^ Connector Pinout ^ | ||
| - | | PWM Outputs | + | | PWM outputs |
| | High-Speed Inputs / Interrupts | D18, D19, D24, D25 | 4 points | ::: | | | High-Speed Inputs / Interrupts | D18, D19, D24, D25 | 4 points | ::: | | ||
| | Encoder Inputs | D24, D25 | 2 points | ::: | | | Encoder Inputs | D24, D25 | 2 points | ::: | | ||
| Line 370: | Line 380: | ||
| D18 and D19 share the I²C SCL and SDA functions. These pins cannot be used as high-speed inputs while I²C communication is active. | D18 and D19 share the I²C SCL and SDA functions. These pins cannot be used as high-speed inputs while I²C communication is active. | ||
| - | ==== Example | + | ==== Example |
| Specify the PWM duty cycle with an analogWrite() value of 0~255. Writing 64, 128, and 191 to PWM0(D21), PWM1(D22), and PWM2(D23) produces approximately 25%, 50%, and 75% duty cycles, respectively. For direct frequency and duty-cycle settings, see the FDPWM() example below. | Specify the PWM duty cycle with an analogWrite() value of 0~255. Writing 64, 128, and 191 to PWM0(D21), PWM1(D22), and PWM2(D23) produces approximately 25%, 50%, and 75% duty cycles, respectively. For direct frequency and duty-cycle settings, see the FDPWM() example below. | ||
| Line 386: | Line 396: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 408: | Line 418: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 428: | Line 438: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 450: | Line 460: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 477: | Line 487: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 501: | Line 511: | ||
| - | ==== Example | + | ==== Example |
| CLK(D24) is pulled up and stays HIGH when no signal is applied. Count each HIGH→LOW transition caused by an external signal pulling it to GND with FALLING, and display the count every 500ms. Read the 32-bit value with ATOMIC_BLOCK. This software-interrupt example does not guarantee lossless counting at the maximum input frequency. | CLK(D24) is pulled up and stays HIGH when no signal is applied. Count each HIGH→LOW transition caused by an external signal pulling it to GND with FALLING, and display the count every 500ms. Read the 32-bit value with ATOMIC_BLOCK. This software-interrupt example does not guarantee lossless counting at the maximum input frequency. | ||
| Line 532: | Line 542: | ||
| - | ==== Example | + | ==== Example |
| Connect phase A to the pulled-up CLK(D24) input and phase B to DIO(D25). This x1 decoding example increments the count when DIO is LOW at the CLK falling edge (FALLING), and decrements it when DIO is HIGH. The actual rotation direction depends on the phase A/B wiring. | Connect phase A to the pulled-up CLK(D24) input and phase B to DIO(D25). This x1 decoding example increments the count when DIO is LOW at the CLK falling edge (FALLING), and decrements it when DIO is HIGH. The actual rotation direction depends on the phase A/B wiring. | ||
| Line 576: | Line 586: | ||
| | I²C | D18(SCL), D19(SDA) | '' | | I²C | D18(SCL), D19(SDA) | '' | ||
| - | ==== Example | + | ==== Example |
| Forward characters received on Serial(115200bps) to Serial1(9600bps, | Forward characters received on Serial(115200bps) to Serial1(9600bps, | ||
| Line 598: | Line 608: | ||
| - | ==== Example | + | ==== Example |
| Use Wire to scan I²C addresses 0x08~0x77 and display responding addresses in the Serial Monitor every 3 seconds. A return value of 0 from endTransmission() means that the address responded. | Use Wire to scan I²C addresses 0x08~0x77 and display responding addresses in the Serial Monitor every 3 seconds. A return value of 0 from endTransmission() means that the address responded. | ||
| Line 630: | Line 640: | ||
| - | ==== Example | + | ==== Example |
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 678: | Line 688: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 714: | Line 724: | ||
| - | ==== Example | + | ==== Example |
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 762: | Line 772: | ||
| </ | </ | ||
| - | [[https:// | + | [[:en-us_products: |
en-us_products/mpino_8a4t_s.1788782470.txt.gz · Last modified: by 127.0.0.1
