ja-jp_products:mpino_8a4r_s
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| ja-jp_products:mpino_8a4r_s [2026/09/07 21:53] – 만듦 - 바깥 편집 127.0.0.1 | ja-jp_products:mpino_8a4r_s [2026/10/30 12:06] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== MPINO-8A4R-S ====== | ====== MPINO-8A4R-S ====== | ||
| - | MPINO-8A4R-Sは、デジタル入力8点と独立COM付きリレー出力4点を備えた一体型の産業用Arduinoです。 1枚のPCBに、電圧・電流アナログ入力、NTC温度センサ入力、PWM、高速入力、RS-232通信を搭載しています。 | + | MPINO-8A4R-Sは、デジタル入力8点と独立COM付きリレー出力4点を備えた一体型の産業用Arduinoです。1枚のPCBに、電圧・電流アナログ入力、NTC温度センサ入力、PWM、高速入力、RS-232通信を搭載しています。 |
| Arduino IDE(Arduino C/ | Arduino IDE(Arduino C/ | ||
| + | |||
| + | [[: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| {{ : | {{ : | ||
| 行 10: | 行 16: | ||
| ^ 区分 | ^ 区分 | ||
| - | | 電源 | + | | 電源 |
| - | | デジタル入力 | + | | デジタル入力 |
| - | | リレー出力 | + | | リレー出力 |
| - | | アナログ入力 | + | | アナログ入力 |
| - | | アナログ入力 | + | | アナログ入力 |
| - | | アナログ入力 | + | | アナログ入力 |
| - | | 温度センサ入力 | + | | 温度センサ入力 |
| - | | 割り込み \\ 高速カウンタ・エンコーダ | + | | |
| - | | | + | | |
| - | | 通信チャネル | + | | STATUS LED | 1点 | D20 | プログラムの状態を表示(変数: |
| + | | 通信チャネル | ||
| | ::: | ::: | RS-232 | | ::: | ::: | RS-232 | ||
| | メモリ | | メモリ | ||
| | ::: | ::: | SRAM | 4KB | | | ::: | ::: | SRAM | 4KB | | ||
| | ::: | ::: | EEPROM | | ::: | ::: | EEPROM | ||
| + | |||
| + | **Markdownファイル: | ||
| ===== デジタル入力 ===== | ===== デジタル入力 ===== | ||
| + | [[: | ||
| ^ 端子 ^ Arduinoピン ^ 入力構成 ^ 端子台と配線例 ^ | ^ 端子 ^ Arduinoピン ^ 入力構成 ^ 端子台と配線例 ^ | ||
| - | | P0~P3 | D0~D3 | デジタル入力4点、COM0共用 | + | | P0~P3 | D0~D3 | デジタル入力4点 |
| - | | P4~P7 | D4~D7 | デジタル入力4点、COM1共用 | + | | P4~P7 | D4~D7 | デジタル入力4点 |
| - | デジタル入力はフォトカプラで絶縁されており、DC 5~24VのNPNまたはPNP信号を接続できます。入力方式はCOM端子の配線で選択します。 | + | デジタル入力はフォトカプラで絶縁されています。仕様表のDC 0~40Vは入力回路の動作入力電圧を示し、以下の配線はDC 5~24Vのセンサ電源を使う例です。入力端子とCOMの間の電圧がDC 5V以上になるとHIGHとして認識します。COM0とCOM1は内部で接続されていません。各グループのNPN・PNP入力方式は、それぞれのCOMの配線で選択します。図はCOM0グループをPNP、COM1グループをNPNで接続した例です。 |
| ==== プログラム例・デジタル入力 ==== | ==== プログラム例・デジタル入力 ==== | ||
| - | digitalRead()でD0~D7の入力状態を200msごとに表示します。 HIGHは1、LOWは0です。 | + | digitalRead()でD0~D7の入力状態を200msごとに表示します。HIGHは1、LOWは0です。 |
| <code cpp> | <code cpp> | ||
| 行 150: | 行 160: | ||
| </ | </ | ||
| + | |||
| + | ===== STATUS LED ===== | ||
| + | |||
| + | MPINO-8A4R-SのSTATUS LEDは、ボードに実装された状態表示灯です。ユーザープログラムの動作状態を表示するために使用できます。 | ||
| + | |||
| + | STATUS LEDはデジタルピンD20に接続されています。スケッチではD20の代わりに'' | ||
| + | |||
| + | **注意事項: | ||
| + | |||
| + | ==== 例・STATUS LEDの点滅 ==== | ||
| + | |||
| + | 次の例では、STATUS LEDを0.5秒間隔で点灯・消灯します。 | ||
| + | |||
| + | <code cpp> | ||
| + | void setup() { | ||
| + | pinMode(LED_BUILTIN, | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | digitalWrite(LED_BUILTIN, | ||
| + | delay(500); | ||
| + | digitalWrite(LED_BUILTIN, | ||
| + | delay(500); | ||
| + | } | ||
| + | </ | ||
| ===== リレー出力 ===== | ===== リレー出力 ===== | ||
| + | [[: | ||
| ^ 端子 ^ Arduinoピン ^ 接点定格 ^ COM構成 ^ 端子台と配線例 ^ | ^ 端子 ^ Arduinoピン ^ 接点定格 ^ COM構成 ^ 端子台と配線例 ^ | ||
| | P32 | D32 | AC 250VまたはDC 30V, 最大5A | COM2独立 | {{: | | P32 | D32 | AC 250VまたはDC 30V, 最大5A | COM2独立 | {{: | ||
| 行 159: | 行 195: | ||
| | P35 | D35 | AC 250VまたはDC 30V, 最大5A | COM5独立 | ::: | | | P35 | D35 | AC 250VまたはDC 30V, 最大5A | COM5独立 | ::: | | ||
| - | 各リレーは1点ごとに独立したCOM端子を使用します。 リレー接点は電源を出力しない無電圧接点のため、負荷電源を別途接続する必要があります。 | + | 各リレーは1点ごとに独立したCOM端子を使用します。リレー接点は電源を出力しない無電圧接点のため、負荷電源を別途接続する必要があります。 |
| ==== プログラム例・リレー出力 ==== | ==== プログラム例・リレー出力 ==== | ||
| - | 入力D0~D3を出力D32~D35に順番に対応させます。 入力がHIGHの場合、対応する出力がONになります。 | + | 入力D0~D3を出力D32~D35に順番に対応させます。入力がHIGHの場合、対応する出力がONになります。 |
| <code cpp> | <code cpp> | ||
| 行 188: | 行 224: | ||
| ==== プログラム例・アナログ入力 ==== | ==== プログラム例・アナログ入力 ==== | ||
| - | analogRead()でA0~A5のADC生値(0~1023)を表示します。 各チャンネルの電圧・電流モードは、実際の製品設定に従います。 | + | analogRead()でA0~A5のADC生値(0~1023)を表示します。各チャンネルの電圧・電流モードは、実際の製品設定に従います。 |
| <code cpp> | <code cpp> | ||
| 行 241: | 行 277: | ||
| </ | </ | ||
| - | === 関数例・4~20mA範囲換算:IanalogRead2(), | + | === 関数例・4~20mA範囲換算:IanalogRead2(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 308: | 行 344: | ||
| ==== プログラム例・温度センサ入力 ==== | ==== プログラム例・温度センサ入力 ==== | ||
| - | analogRead()でA6、A7の温度センサADC生値(0~1023)を表示します。 摂氏への換算は、以下の内蔵関数で説明します。 | + | analogRead()でA6、A7の温度センサADC生値(0~1023)を表示します。摂氏への換算は、以下の内蔵関数で説明します。 |
| <code cpp> | <code cpp> | ||
| 行 335: | 行 371: | ||
| </ | </ | ||
| - | NTC入力A6に接続したNTC 10kΩ(25℃)、B=3950Kセンサの温度を読み取ります。 ntcRead()は摂氏温度の10倍の整数(25.3℃ → 253)、ntcReadf()は摂氏温度の浮動小数点数(25.3)を返します。 分解能はどちらも0.1℃です。 変換範囲外の値は-40℃または120℃に制限されるため、断線・短絡の判定値として使用しないでください。 | + | NTC入力A6に接続したNTC 10kΩ(25℃)、B=3950Kセンサの温度を読み取ります。ntcRead()は摂氏温度の10倍の整数(25.3℃ → 253)、ntcReadf()は摂氏温度の浮動小数点数(25.3)を返します。分解能はどちらも0.1℃です。変換範囲外の値は-40℃または120℃に制限されるため、断線・短絡の判定値として使用しないでください。 |
| <code cpp> | <code cpp> | ||
| 行 358: | 行 394: | ||
| ^ 機能 ^ Arduinoピン ^ 点数 ^ コネクタのピン配列 ^ | ^ 機能 ^ Arduinoピン ^ 点数 ^ コネクタのピン配列 ^ | ||
| - | | PWM出力 | D21, D22, D23 | 3点 | {{: | + | | PWM出力 | PWM0(D21), PWM1(D22), PWM2(D23) | 3点 | {{: |
| - | | 高速入力・割り込み | D18, D19, D24, D25 | 4点 | ::: | | + | | 外部割り込み入力 |
| | エンコーダ入力 | D24, D25 | 2点 | ::: | | | エンコーダ入力 | D24, D25 | 2点 | ::: | | ||
| - | D18とD19はI²CのSCL・SDA機能を兼用します。I²C通信の使用中は、同じピンを高速入力として同時に使用できません。 | + | PWM0・PWM1・PWM2は、DC 0V(LOW)とDC 5V(HIGH)を切り替えるパルス信号を出力します。プログラムでデューティ比を調整してON時間を制御します。平滑化されたアナログ電圧出力ではありません。 |
| + | |||
| + | D18とD19はI²CのSCL・SDAと外部割り込みINT0・INT1を共用します。I²Cセンサや表示器との通信中は、同じ2つのピンを割り込み入力として同時に使用できません。 | ||
| ==== プログラム例・PWM出力 ==== | ==== プログラム例・PWM出力 ==== | ||
| 行 389: | 行 427: | ||
| </ | </ | ||
| - | PWM(pin, val, onDutybit16)はデューティ値を指定します。 8ビットの範囲は0~255、第3引数をtrueにした16ビットの範囲は0~65535です。 D21に16ビットの中間値32768を出力します。 D21~D23はTimer3を共有するため、同じタイマでは同じ分解能を使用します。 PWM_RESET()を呼び出した後に開始します。 | + | PWM(pin, val, onDutybit16)はデューティ値を指定します。8ビットの範囲は0~255、第3引数をtrueにした16ビットの範囲は0~65535です。D21に16ビットの中間値32768を出力します。D21~D23はTimer3を共有するため、同じタイマでは同じ分解能を使用します。PWM_RESET()を呼び出した後に開始します。 |
| <code cpp> | <code cpp> | ||
| 行 409: | 行 447: | ||
| </ | </ | ||
| - | FDPWM(pin, intHz, Duty)は周波数(Hz)とデューティ比(%)を指定します。 D21に1kHz、50%のデューティ比で出力します。 D21~D23はTimer3を共有するため、同じタイマの出力には同じ周波数を指定します。 独立したFPWM()関数はありません。50%出力はFDPWM(pin, | + | FDPWM(pin, intHz, Duty)は周波数(Hz)とデューティ比(%)を指定します。D21に1kHz、50%のデューティ比で出力します。D21~D23はTimer3を共有するため、同じタイマの出力には同じ周波数を指定します。独立したFPWM()関数はありません。50%出力はFDPWM(pin, |
| <code cpp> | <code cpp> | ||
| 行 430: | 行 468: | ||
| </ | </ | ||
| - | NPWM_BEGIN()でD21に1kHz・50%のパルス100個を準備し、loop()ごとにNPWM()を実行して出力と完了処理を行います。 delay()は入れないでください。 D21~D23はTimer3を共有します。同じタイマの他の出力と併用しないでください。 | + | NPWM_BEGIN()でD21に1kHz・50%のパルス100個を準備し、loop()ごとにNPWM()を実行して出力と完了処理を行います。delay()は入れないでください。D21~D23はTimer3を共有します。同じタイマの他の出力と併用しないでください。 |
| <code cpp> | <code cpp> | ||
| 行 451: | 行 489: | ||
| </ | </ | ||
| - | PWMOFF(pin, true)はチャンネル停止フラグを設定し、falseは解除します。 設定直後にFDPWM()を呼び出し、出力接続に反映します。 D21を2秒間ON、2秒間OFFにし、停止後はdigitalWrite()でLOWを維持します。 この停止フラグはNPWM()には適用されません。 | + | PWMOFF(pin, true)はチャンネル停止フラグを設定し、falseは解除します。設定直後にFDPWM()を呼び出し、出力接続に反映します。D21を2秒間ON、2秒間OFFにし、停止後はdigitalWrite()でLOWを維持します。この停止フラグはNPWM()には適用されません。 |
| <code cpp> | <code cpp> | ||
| 行 478: | 行 516: | ||
| </ | </ | ||
| - | PWM_RESET()はTimer1・Timer3の制御レジスタとカウンタを初期化します。 D21に1kHzを2秒間出力した後、全タイマを停止します。 同じタイマのPWM・カウンタにも影響します。 PWMOFF()の停止フラグまでは解除しません。 | + | PWM_RESET()はTimer1・Timer3の制御レジスタとカウンタを初期化します。D21に1kHzを2秒間出力した後、全タイマを停止します。同じタイマのPWM・カウンタにも影響します。PWMOFF()の停止フラグまでは解除しません。 |
| <code cpp> | <code cpp> | ||
| 行 496: | 行 534: | ||
| ==== プログラム例・パルスカウント ==== | ==== プログラム例・パルスカウント ==== | ||
| - | CLK(D24)のFALLINGエッジをカウントします。 入力には10kΩのプルアップがあります。 32ビット値をATOMIC_BLOCKで読み取り、500msごとに表示するソフトウェア割り込みの例です。 最大入力周波数でカウントの取りこぼしがないことを保証するものではありません。 | + | CLK(D24)のFALLINGエッジをカウントします。入力には10kΩのプルアップがあります。32ビット値をATOMIC_BLOCKで読み取り、500msごとに表示するソフトウェア割り込みの例です。最大入力周波数でカウントの取りこぼしがないことを保証するものではありません。 |
| <code cpp> | <code cpp> | ||
| 行 529: | 行 567: | ||
| ==== プログラム例・エンコーダ入力 ==== | ==== プログラム例・エンコーダ入力 ==== | ||
| - | A相はCLK(D24)、B相はDIO(D25)に接続します。 10kΩのプルアップを使用し、FALLINGエッジでB相がLOWなら増加する1逓倍カウントの例です。 実際の回転方向はA・B相の配線によって変わります。 | + | A相はCLK(D24)、B相はDIO(D25)に接続します。10kΩのプルアップを使用し、FALLINGエッジでB相がLOWなら増加する1逓倍カウントの例です。実際の回転方向はA・B相の配線によって変わります。 |
| <code cpp> | <code cpp> | ||
| 行 575: | 行 613: | ||
| ==== プログラム例・基本通信 ==== | ==== プログラム例・基本通信 ==== | ||
| - | Serial(115200bps)とRS-232 Serial1(9600bps, | + | Serial(115200bps)とRS-232 Serial1(9600bps, |
| <code cpp> | <code cpp> | ||
| 行 597: | 行 635: | ||
| ==== プログラム例・I²C通信 ==== | ==== プログラム例・I²C通信 ==== | ||
| - | Wireでアドレス0x08~0x77を検索し、応答したアドレスを3秒ごとに表示します。 SDA・SCLを使用するエンコーダ・割り込みの例と同時に実行しないでください。 | + | Wireでアドレス0x08~0x77を検索し、応答したアドレスを3秒ごとに表示します。SDA・SCLを使用するエンコーダ・割り込みの例と同時に実行しないでください。 |
| <code cpp> | <code cpp> | ||
| 行 715: | 行 753: | ||
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数例・LS産電Cnet | + | === 関数例・LS産電Cnet |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 759: | 行 797: | ||
| </ | </ | ||
| - | [[:ja-jp_products: | + | [[https:// |
| + | [[: | ||
ja-jp_products/mpino_8a4r_s.1788785593.txt.gz · 最終更新: by 127.0.0.1
