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/10/25 08:42] (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 | + | ===== STATUS LED ===== |
| + | |||
| + | The MPINO-8A4T-S STATUS LED is an indicator mounted on the board. You can use it to show the operating state of your program. | ||
| + | |||
| + | The STATUS LED is connected to digital pin D20. In a sketch, use '' | ||
| + | |||
| + | **Note:** The STATUS LED is on the board and is separate from the external output terminals. | ||
| + | |||
| + | ==== Example · Blink the STATUS LED ==== | ||
| + | |||
| + | This example turns the STATUS LED on and off at 0.5-second intervals. | ||
| + | |||
| + | <code cpp> | ||
| + | void setup() { | ||
| + | pinMode(LED_BUILTIN, | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | digitalWrite(LED_BUILTIN, | ||
| + | delay(500); | ||
| + | digitalWrite(LED_BUILTIN, | ||
| + | delay(500); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== 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 225: | ||
| | 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 249: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 247: | Line 282: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 280: | Line 315: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 312: | Line 347: | ||
| - | ==== 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 365: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 364: | Line 399: | ||
| ^ 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 405: | ||
| 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 421: | ||
| </ | </ | ||
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 408: | Line 443: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 428: | Line 463: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 450: | Line 485: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 477: | Line 512: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 501: | Line 536: | ||
| - | ==== 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 567: | ||
| - | ==== 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 611: | ||
| | 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 633: | ||
| - | ==== 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 665: | ||
| - | ==== Example | + | ==== Example |
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 678: | Line 713: | ||
| </ | </ | ||
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 714: | Line 749: | ||
| - | ==== Example | + | ==== Example |
| - | **Related | + | **Related |
| - | === Function | + | === Function |
| - | **Function | + | **Function |
| <code cpp> | <code cpp> | ||
| Line 762: | Line 797: | ||
| </ | </ | ||
| - | [[https:// | + | [[https:// |
| + | [[: | ||
en-us_products/mpino_8a4t_s.1788782470.txt.gz · Last modified: by 127.0.0.1
