ja-jp_products:mpino_8a4t_s
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| ja-jp_products:mpino_8a4t_s [2026/09/07 21:01] – 만듦 - 바깥 편집 127.0.0.1 | ja-jp_products:mpino_8a4t_s [2026/09/15 17:45] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 4: | 行 4: | ||
| Arduino IDE(Arduino C/ | Arduino IDE(Arduino C/ | ||
| + | |||
| + | [[: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| {{ : | {{ : | ||
| 行 10: | 行 16: | ||
| ^ 区分 | ^ 区分 | ||
| - | | 電源 | + | | 電源 |
| - | | デジタル入力 | + | | デジタル入力 |
| - | | トランジスタ出力 | + | | トランジスタ出力 |
| - | | アナログ入力 | + | | アナログ入力 |
| - | | アナログ入力 | + | | アナログ入力 |
| - | | アナログ入力 | + | | アナログ入力 |
| - | | 温度センサ入力 | + | | 温度センサ入力 |
| - | | 割り込み \\ 高速カウンタ・エンコーダ | + | | 割り込み \\ 高速カウンタ・エンコーダ |
| - | | パルス出力 | + | | パルス出力 |
| - | | 通信チャネル | + | | 通信チャネル |
| - | | ::: | ::: | RS-232 | + | | ::: | ::: | RS-232 |
| | メモリ | | メモリ | ||
| | ::: | ::: | SRAM | 4KB | | | ::: | ::: | SRAM | 4KB | | ||
| | ::: | ::: | EEPROM | | ::: | ::: | EEPROM | ||
| + | |||
| + | **Markdownファイル: | ||
| ===== デジタル入力 ===== | ===== デジタル入力 ===== | ||
| + | [[: | ||
| ^ 端子 ^ Arduinoピン ^ 入力構成 ^ 端子台と配線例 ^ | ^ 端子 ^ Arduinoピン ^ 入力構成 ^ 端子台と配線例 ^ | ||
| - | | P0~P3 | D0~D3 | デジタル入力 4点, COM0 共有 | {{: | + | | P0~P3 | D0~D3 | デジタル入力4点、COM0共用 | {{: |
| - | | P4~P7 | D4~D7 | デジタル入力 4点, COM1 共有 | ::: | | + | | P4~P7 | D4~D7 | デジタル入力4点、COM1共用 | ::: | |
| デジタル入力はフォトカプラで絶縁されており、DC 5~24VのNPNまたはPNP信号を接続できます。入力方式はCOM端子の配線で選択します。 | デジタル入力はフォトカプラで絶縁されており、DC 5~24VのNPNまたはPNP信号を接続できます。入力方式はCOM端子の配線で選択します。 | ||
| - | ==== プログラム例 | + | ==== プログラム例・デジタル入力 ==== |
| digitalRead()でP0~P7の入力状態を読み取り、200msごとにシリアルモニタへ表示します。HIGHは1、LOWは0で表示されます。 | digitalRead()でP0~P7の入力状態を読み取り、200msごとにシリアルモニタへ表示します。HIGHは1、LOWは0で表示されます。 | ||
| <code cpp> | <code cpp> | ||
| - | // MPINO-8A4T-S: P0~P7の入力状態をシリアルモニタへ表示します。 | + | // MPINO-8A4T-S:P0~P7の入力状態をシリアルモニターに表示します。 |
| void setup() { | void setup() { | ||
| Serial.begin(115200); | Serial.begin(115200); | ||
| 行 59: | 行 68: | ||
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数の使用例 · 連続読み取りフィルタ: IdigitalRead() === | + | === 関数例・連続読み取りフィルタ:IdigitalRead() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 81: | 行 90: | ||
| </ | </ | ||
| - | === 関数の使用例 · チャタリング防止: Ibounce(), IbounceOn(), | + | === 関数例・チャタリング防止:Ibounce(), IbounceOn(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 123: | 行 132: | ||
| </ | </ | ||
| - | === 関数の使用例 · 入力によるトグル: Ialt() === | + | === 関数例・入力トグル:Ialt() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 156: | 行 165: | ||
| ===== トランジスタ出力 ===== | ===== トランジスタ出力 ===== | ||
| + | [[: | ||
| ^ 端子 ^ Arduinoピン ^ 出力方式 ^ 最大定格 ^ 端子台と配線例 ^ | ^ 端子 ^ Arduinoピン ^ 出力方式 ^ 最大定格 ^ 端子台と配線例 ^ | ||
| | P32 | D32 | SINK出力 | DC 100V, 1A/1点 | {{: | | P32 | D32 | SINK出力 | DC 100V, 1A/1点 | {{: | ||
| 行 164: | 行 174: | ||
| トランジスタ出力は、ON時に出力端子がV-へ接続されるSINK方式です。V+とV-には、制御する負荷用の外部DC電源を接続します。 | トランジスタ出力は、ON時に出力端子がV-へ接続されるSINK方式です。V+とV-には、制御する負荷用の外部DC電源を接続します。 | ||
| - | ==== プログラム例 | + | ==== プログラム例・トランジスタ出力 ==== |
| digitalRead()で読み取ったP0~P3の状態を、digitalWrite()でP32~P35へ出力します。P0→P32、P1→P33、P2→P34、P3→P35の順に対応し、入力がHIGHのときに対応する出力がONになります。 | digitalRead()で読み取ったP0~P3の状態を、digitalWrite()でP32~P35へ出力します。P0→P32、P1→P33、P2→P34、P3→P35の順に対応し、入力がHIGHのときに対応する出力がONになります。 | ||
| <code cpp> | <code cpp> | ||
| - | // MPINO-8A4T-S: P0~P3入力でP32~P35のSINK出力を制御します。 | + | // MPINO-8A4T-S:P0~P3入力でP32~P35 SINK出力を制御します。 |
| void setup() { | void setup() { | ||
| for (uint8_t channel = 0; channel < 4; channel++) { | for (uint8_t channel = 0; channel < 4; channel++) { | ||
| 行 187: | 行 197: | ||
| ^ チャネル ^ 入力種類 ^ 入力範囲 ^ コネクタのピン配列 ^ | ^ チャネル ^ 入力種類 ^ 入力範囲 ^ コネクタのピン配列 ^ | ||
| - | | A0, A1 | 電圧入力 | DC 0~5V | {{: | + | | A0, A1 | 電圧入力 | DC 0~5V | {{: |
| - | | A2, A3 | 電流入力 | 0~20mA または 4~20mA | ::: | | + | | A2, A3 | 電流入力 | 0~20mAまたは4~20mA | ::: | |
| | A4, A5 | 電圧入力 | DC 0~10V | ::: | | | A4, A5 | 電圧入力 | DC 0~10V | ::: | | ||
| - | | A6, A7 | NTC 温度センサ入力 | NTC 10kΩ, 3950K | ::: | | + | | A6, A7 | NTC温度センサ入力 | NTC 10kΩ, 3950K | ::: | |
| - | ==== プログラム例 | + | ==== プログラム例・アナログ入力 ==== |
| analogRead()でA0~A5のADC生値(0~1023)を読み取り、シリアルモニタへ表示します。電圧・電流への換算と平均処理は、下の内蔵関数の例で説明します。 | analogRead()でA0~A5のADC生値(0~1023)を読み取り、シリアルモニタへ表示します。電圧・電流への換算と平均処理は、下の内蔵関数の例で説明します。 | ||
| 行 216: | 行 226: | ||
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数の使用例 · 入力範囲の換算: IanalogRead(), | + | === 関数例・入力範囲換算:IanalogRead(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 247: | 行 257: | ||
| </ | </ | ||
| - | === 関数の使用例 · 4~20mA範囲の換算: IanalogRead2(), | + | === 関数例・4~20mA範囲換算:IanalogRead2(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 280: | 行 290: | ||
| </ | </ | ||
| - | === 関数の使用例 · 移動平均: analogReadAvg(), | + | === 関数例・移動平均:analogReadAvg(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 312: | 行 322: | ||
| - | ==== プログラム例 | + | ==== プログラム例・温度センサ入力 ==== |
| analogRead()でNTC0(A6)・NTC1(A7)のADC生値(0~1023)を表示します。摂氏温度への変換は、下のntcRead()・ntcReadf()の例を参照してください。 | analogRead()でNTC0(A6)・NTC1(A7)のADC生値(0~1023)を表示します。摂氏温度への変換は、下のntcRead()・ntcReadf()の例を参照してください。 | ||
| 行 332: | 行 342: | ||
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数の使用例 · NTC温度の読み取り: ntcRead(), ntcReadf() === | + | === 関数例・NTC温度読み取り:ntcRead(), ntcReadf() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 364: | 行 374: | ||
| ^ 機能 ^ Arduinoピン ^ 点数 ^ コネクタのピン配列 ^ | ^ 機能 ^ Arduinoピン ^ 点数 ^ コネクタのピン配列 ^ | ||
| - | | PWM出力 | D21, D22, D23 | 3点 | {{: | + | | PWM出力 | D21, D22, D23 | 3点 | {{: |
| | 高速入力・割り込み | D18, D19, D24, D25 | 4点 | ::: | | | 高速入力・割り込み | D18, D19, D24, D25 | 4点 | ::: | | ||
| | エンコーダ入力 | D24, D25 | 2点 | ::: | | | エンコーダ入力 | D24, D25 | 2点 | ::: | | ||
| 行 370: | 行 380: | ||
| D18とD19はI²CのSCL・SDA機能を兼用します。I²C通信の使用中は、同じピンを高速入力として同時に使用できません。 | D18とD19はI²CのSCL・SDA機能を兼用します。I²C通信の使用中は、同じピンを高速入力として同時に使用できません。 | ||
| - | ==== プログラム例 | + | ==== プログラム例・PWM出力 ==== |
| analogWrite()の0~255の値でPWMデューティ比を指定します。PWM0(D21)・PWM1(D22)・PWM2(D23)にそれぞれ64・128・191を書き込むと、約25%・50%・75%のデューティ比で出力します。周波数とデューティ比を直接指定する方法は、下のFDPWM()の例を参照してください。 | analogWrite()の0~255の値でPWMデューティ比を指定します。PWM0(D21)・PWM1(D22)・PWM2(D23)にそれぞれ64・128・191を書き込むと、約25%・50%・75%のデューティ比で出力します。周波数とデューティ比を直接指定する方法は、下のFDPWM()の例を参照してください。 | ||
| 行 388: | 行 398: | ||
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数の使用例 · デューティ値の指定: PWM() === | + | === 関数例・デューティ値指定:PWM() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 408: | 行 418: | ||
| </ | </ | ||
| - | === 関数の使用例 · 周波数・デューティ比の設定: FDPWM() === | + | === 関数例・周波数・デューティ設定:FDPWM() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 428: | 行 438: | ||
| </ | </ | ||
| - | === 関数の使用例 · 指定数のパルス出力: NPWM_BEGIN(), | + | === 関数例・指定個数パルス出力:NPWM_BEGIN(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 450: | 行 460: | ||
| </ | </ | ||
| - | === 関数の使用例 · チャネル出力の停止・再開: PWMOFF() === | + | === 関数例・チャンネル出力停止・再開:PWMOFF() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 477: | 行 487: | ||
| </ | </ | ||
| - | === 関数の使用例 · PWMタイマの停止・初期化: PWM_RESET() === | + | === 関数例・PWMタイマ停止・初期化:PWM_RESET() === |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 501: | 行 511: | ||
| - | ==== プログラム例 | + | ==== プログラム例・パルスカウント |
| CLK(D24)はプルアップされており、入力がないときはHIGHです。外部信号でGNDへ引き下げられるHIGH→LOWの瞬間をFALLINGでカウントし、500msごとに表示します。32ビット値はATOMIC_BLOCKで読み取ります。ソフトウェア割り込み方式の例であり、最大入力周波数での取りこぼしなしの計数を保証するものではありません。 | CLK(D24)はプルアップされており、入力がないときはHIGHです。外部信号でGNDへ引き下げられるHIGH→LOWの瞬間をFALLINGでカウントし、500msごとに表示します。32ビット値はATOMIC_BLOCKで読み取ります。ソフトウェア割り込み方式の例であり、最大入力周波数での取りこぼしなしの計数を保証するものではありません。 | ||
| 行 532: | 行 542: | ||
| - | ==== プログラム例 | + | ==== プログラム例・エンコーダ入力 ==== |
| プルアップされたCLK(D24)にA相、DIO(D25)にB相を接続します。CLKの立ち下がりエッジ(FALLING)でDIOがLOWなら加算、HIGHなら減算する1逓倍の計数例です。実際の回転方向はA・B相の配線によって変わります。 | プルアップされたCLK(D24)にA相、DIO(D25)にB相を接続します。CLKの立ち下がりエッジ(FALLING)でDIOがLOWなら加算、HIGHなら減算する1逓倍の計数例です。実際の回転方向はA・B相の配線によって変わります。 | ||
| 行 572: | 行 582: | ||
| ^ 機能 ^ Arduinoピン ^ 使用オブジェクト ^ 相手機器の配線 ^ | ^ 機能 ^ Arduinoピン ^ 使用オブジェクト ^ 相手機器の配線 ^ | ||
| - | | USB書き込み・モニタリング | D16(RX0), D17(TX0) | '' | + | | USB書き込み・モニタリング | D16(RX0), D17(TX0) | '' |
| | RS-232 | D28(RX1), D29(TX1) | '' | | RS-232 | D28(RX1), D29(TX1) | '' | ||
| | I²C | D18(SCL), D19(SDA) | '' | | I²C | D18(SCL), D19(SDA) | '' | ||
| - | ==== プログラム例 | + | ==== プログラム例・基本通信 ==== |
| Serial(115200bps)で受信した文字をSerial1(9600bps、8-N-1)へ送り、Serial1で受信した文字をSerialへ戻します。availableForWrite()で送信バッファの空きを確認します。相手機器の処理速度を超える連続送信では、受信バッファがあふれる場合があります。 | Serial(115200bps)で受信した文字をSerial1(9600bps、8-N-1)へ送り、Serial1で受信した文字をSerialへ戻します。availableForWrite()で送信バッファの空きを確認します。相手機器の処理速度を超える連続送信では、受信バッファがあふれる場合があります。 | ||
| 行 598: | 行 608: | ||
| - | ==== プログラム例 | + | ==== プログラム例・I²C通信 ==== |
| Wireで0x08~0x77のI²Cアドレスを検索し、応答したアドレスを3秒ごとにシリアルモニタへ表示します。endTransmission()の戻り値が0なら、そのアドレスから応答があったことを示します。 | Wireで0x08~0x77のI²Cアドレスを検索し、応答したアドレスを3秒ごとにシリアルモニタへ表示します。endTransmission()の戻り値が0なら、そのアドレスから応答があったことを示します。 | ||
| 行 630: | 行 640: | ||
| - | ==== プログラム例 | + | ==== プログラム例・Modbus RTU通信 ==== |
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数の使用例 · Modbus RTU Slave: ImodbusRTUMem(), | + | === 関数例・Modbus RTU Slave:ImodbusRTUMem(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 678: | 行 688: | ||
| </ | </ | ||
| - | === 関数の使用例 · Modbus RTU Master: ImodbusRTUmasterInit(), | + | === 関数例・Modbus RTU Master:ImodbusRTUmasterInit(), |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 714: | 行 724: | ||
| - | ==== プログラム例 | + | ==== プログラム例・LS産電Cnet通信 ==== |
| **関連する内蔵関数** | **関連する内蔵関数** | ||
| - | === 関数の使用例 · LS産電 Cnet Slave: | + | === 関数例・LS産電Cnet |
| **関数プロトタイプ** | **関数プロトタイプ** | ||
| 行 762: | 行 772: | ||
| </ | </ | ||
| - | [[https:// | + | [[:ja-jp_products: |
ja-jp_products/mpino_8a4t_s.1788782470.txt.gz · 最終更新: by 127.0.0.1
