====== Getting Started with Arduino IDE ====== This guide explains how to install Arduino IDE and the ILOGICS boards, upload the first program to an MPINO or MPAINO product, and check its digital I/O. ===== 1. Install Arduino IDE and the ILOGICS Boards ===== {{ :guide:arduino-ide-setup-flow-en.svg?1000 |Install Arduino IDE and the ILOGICS SDK, then select the board and port }} {{ :guide:arduino-ide-setup-flow-en-mobile.svg?350 |Install Arduino IDE and the ILOGICS SDK, then select the board and port }} - Install the Windows Arduino IDE from the [[https://www.arduino.cc/en/software|official Arduino download page]]. - Download and run ''ARDUINO SDK INSTALL'' from the [[https://www.ilogics.net/en-us/resources/downloads/software/3|ILOGICS Arduino SDK download page]]. - Close Arduino IDE and start it again. At the top left of Arduino IDE, **Verify (✓)** compiles the code and **Upload (→)** transfers it to the product on the selected port. The ILOGICS SDK configures digital I/O directions automatically. These examples do not need a separate ''pinMode()'' call. ===== 2. Connect the Product and Find the COM Port ===== Disconnect output loads before the first upload. Check the product page for the power specification and R (relay) or T (transistor) output type. ==== All MPAINO Models ==== - Connect the PC to the CPU module's **USB download port** with a USB cable. - In Windows **Device Manager → Ports (COM & LPT)**, note the COM number shown for ''Silicon Labs CP210x USB to UART Bridge(COMx)''. - If the port does not appear, install the [[https://www.ilogics.net/en-us/resources/downloads/driver/2|CP210x USB driver]] and reconnect the cable. ==== MPINO-16A8R ==== - Connect the PC to the product's **USB download port** with a **USB A-to-B cable**. - In Device Manager, note the COM number shown for ''Silicon Labs CP210x USB to UART Bridge(COMx)''. - If the port does not appear, install the [[https://www.ilogics.net/en-us/resources/downloads/driver/2|CP210x USB driver]] and reconnect the cable. ==== Other MPINO Models ==== - Connect the PC to the product's download port with an **MP Download Cable**. - In Device Manager, note the COM number shown for ''USB Serial Port(COMx)''. - If the port does not appear, install the [[https://www.ilogics.net/en-us/resources/downloads/driver/1|FTDI driver for the MP Download Cable]] and reconnect it. ===== 3. Select the Board and Port ===== Find the board name in the [[:en-us_products:mpino_series#mpino_series_specifications|MPINO Series specifications]] or the [[:en-us_products:mpaino#mpaino_series_specifications|MPAINO Series specifications]]. Open **Select other board and port…** from the board selector at the top of Arduino IDE, then search for the same name. The product name in the figure is an example of the selection method. {{ :guide:arduino-ide-board-selection.svg?480 |Example of searching for and selecting an ILOGICS board in Arduino IDE }} {{ :guide:arduino-ide-board-selection-mobile.svg?350 |Board-selection example for a narrow screen }} ^ No. ^ Selection ^ | **1** | In the **BOARDS** search field, enter the board name shown in the product-family table. | | **2** | Select the result with the exact same name. R and T products grouped together use the common board name containing ''R(T)''. | In **PORTS**, select the COM number found in Device Manager. {{ :guide:arduino-ide-port-selection.svg?480 |Example of selecting and applying a CP210x COM port in Arduino IDE }} {{ :guide:arduino-ide-port-selection-mobile.svg?350 |CP210x COM-port example for a narrow screen }} {{ :guide:arduino-ide-mpino-port-selection.svg?480 |Example of selecting the MP Download Cable COM port in Arduino IDE }} {{ :guide:arduino-ide-mpino-port-selection-mobile.svg?350 |MP Download Cable COM-port example for a narrow screen }} ^ No. ^ Selection ^ | **1** | Under **PORTS**, choose the same COM number shown in Device Manager. ''COM1'' and ''COM3'' in the figures are examples. | | **2** | Select **OK** to apply the board and port. | You can also select the same items from **Tools → Board** and then **Tools → Port**. ===== 4. Blink the First Output ===== Find the first I/O numbers for your model in the product-family table, then use the example below with the same numbers. Open **File → New Sketch**, enter the code, and save it with **Ctrl + S**. Select **Verify (✓)** and wait for ''Done compiling.'', then select **Upload (→)**. A relay output can be checked by its operating sound. To check a transistor output, switch off power and connect a test load according to the output-wiring section on the product page. ==== All MPAINO Models · Output 64 ==== // first MPAINO output const uint8_t OUTPUT_CHANNEL = 64; void setup() {} void loop() { digitalWrite(OUTPUT_CHANNEL, HIGH); delay(500); digitalWrite(OUTPUT_CHANNEL, LOW); delay(500); } ==== MPINO Models with Input 0 and Output 32 ==== Use this example with MPINO-8A4R(T)-S, MPINO-8A4R-SU, MPINO-8A8R(T)-S, and MPINO-16A16R. // first output on these MPINO models const uint8_t OUTPUT_CHANNEL = 32; void setup() {} void loop() { digitalWrite(OUTPUT_CHANNEL, HIGH); delay(500); digitalWrite(OUTPUT_CHANNEL, LOW); delay(500); } ==== MPINO-8A8R and MPINO-16A8R8T · Relay Output 62 ==== To test transistor output O(39) on MPINO-16A8R8T, check the transistor-output wiring on its product page and change ''OUTPUT_CHANNEL'' to ''39''. // relay output R(62) const uint8_t OUTPUT_CHANNEL = 62; void setup() {} void loop() { digitalWrite(OUTPUT_CHANNEL, HIGH); delay(500); digitalWrite(OUTPUT_CHANNEL, LOW); delay(500); } ==== MPINO-16A8R · Output 39 ==== // relay output R(39) const uint8_t OUTPUT_CHANNEL = 39; void setup() {} void loop() { digitalWrite(OUTPUT_CHANNEL, HIGH); delay(500); digitalWrite(OUTPUT_CHANNEL, LOW); delay(500); } ===== 5. Control the Output with the First Input ===== Switch off power before wiring the input and COM. Turn the input on and off and check that the output follows it. Use the **Digital Inputs** and **Output** sections of your product page to identify the terminals and COM. ==== All MPAINO Models · Input 0 → Output 64 ==== // first MPAINO input const uint8_t INPUT_CHANNEL = 0; const uint8_t OUTPUT_CHANNEL = 64; void setup() {} void loop() { const bool inputOn = digitalRead(INPUT_CHANNEL); digitalWrite(OUTPUT_CHANNEL, inputOn); } ==== MPINO Models with Input 0 and Output 32 ==== // first input on these MPINO models const uint8_t INPUT_CHANNEL = 0; const uint8_t OUTPUT_CHANNEL = 32; void setup() {} void loop() { const bool inputOn = digitalRead(INPUT_CHANNEL); digitalWrite(OUTPUT_CHANNEL, inputOn); } ==== MPINO-8A8R and MPINO-16A8R8T · Input 22 → Relay Output 62 ==== // input I(22) const uint8_t INPUT_CHANNEL = 22; const uint8_t OUTPUT_CHANNEL = 62; void setup() {} void loop() { const bool inputOn = digitalRead(INPUT_CHANNEL); digitalWrite(OUTPUT_CHANNEL, inputOn); } ==== MPINO-16A8R · Input 22 → Output 39 ==== // input I(22) const uint8_t INPUT_CHANNEL = 22; const uint8_t OUTPUT_CHANNEL = 39; void setup() {} void loop() { const bool inputOn = digitalRead(INPUT_CHANNEL); digitalWrite(OUTPUT_CHANNEL, inputOn); } ===== 6. If Something Goes Wrong ===== ^ Symptom ^ What to check ^ | The model is missing from the board results | Confirm that ''ARDUINO SDK INSTALL'' ran, then restart Arduino IDE. Search for the board name exactly as shown in the product-family table. | | No COM port appears in Device Manager | Use section 3 to check the connection and driver for your product. MPINO-16A8R does not use the MP Download Cable. | | Verify reports an error | Check that the selected board matches the product and the code was entered correctly. Start with the first error shown in the output panel. | | Upload fails | Confirm that Device Manager and Arduino IDE show the same COM number. Check the cable connection and product power. | | Upload succeeds but the output does not change | Recheck the first output number in the product-family table and the R/T output type on the product page. A transistor output needs a wired test load to show its state. | | The output does not follow the input | Recheck the first input number in the product-family table and the input-to-COM wiring on the product page. | ===== Next Documents ===== * [[en-us_guide:wiring|First wiring and I/O check]] * [[en-us_commands:builtin|ILOGICS Built-in Commands]] * [[:en-us_safety|Safety and Installation Notes]]