文書の過去の版を表示しています。
目次
Arduino IDEで始める
このガイドでは、製品を初めて接続した後にデジタル入力と出力を1チャネルずつ確認する手順を説明します。
1. 製品名を確認
製品ラベルで次の項目を確認してください。
- MPINOまたはMPAINO製品群
- 正式なモデル名とR/T出力形式
- 入出力点数
- 電源入力仕様
2. 電源を入れる前に
- 製品マニュアルと端子名を照合します。
- 電源の極性とCOM配線を確認します。
- 出力負荷を外した状態で初回の書き込みを準備します。
- アナログモジュールのDIPスイッチは電源を切って設定します。
- 非常停止と過電流保護回路はプログラムとは独立して構成します。
3. Arduino IDEとILOGICSボードのインストール
- Arduino公式ダウンロードページからWindows用Arduino IDEのインストーラーをダウンロードしてインストールします。ZIP版ではなくインストーラーを使用します。
- ILOGICS Arduino SDKダウンロードページから
ARDUINO SDK INSTALLをダウンロードして実行します。MPINO・MPAINOのボード定義がArduino IDEに追加されます。 - Arduino IDEを起動します。すでに開いている場合は終了してから再起動します。
- ツール → ボード → ILOGICS (in Sketchbook)で、製品ラベルに対応するボードを選択します。MPINO-8A4R-SとMPINO-8A4T-Sは
MPINO-8A4R(T)-Sを選択します。 - 製品をPCに接続し、ツール → ポートで接続されたCOMポートを選択します。
一部のモデルではArduino Mega/Mega 2560のボード定義も使用できます。モデルごとのインストール要否はArduino SDKダウンロードページで確認してください。このガイドのMPAINO論理チャネルの例はILOGICSボード定義を前提にしています。Arduino Mega/Mega 2560を選択した場合は、製品マニュアルに記載されたArduinoピン番号にコードを変更してください。ILOGICSの内蔵命令を使用する場合はILOGICSのボード定義を選択します。
4. 最初の出力プログラム
下の例のOUTPUT_CHANNELを、使用する製品の最初の出力番号に変更します。
- MPINO:製品のピンマップに記載された最初のリレーまたはトランジスタ出力
- MPAINO:最初の出力は
64
const uint8_t OUTPUT_CHANNEL = 64; // MPAINOの例 void setup() { pinMode(OUTPUT_CHANNEL, OUTPUT); } void loop() { digitalWrite(OUTPUT_CHANNEL, HIGH); delay(500); digitalWrite(OUTPUT_CHANNEL, LOW); delay(500); }
- Arduino IDEの新しいスケッチにコードを入力し、
OUTPUT_CHANNELを製品のピンマップに記載された出力番号に変更します。 - 上部の検証(✓)をクリックし、コンパイルエラーがないことを確認します。
- 上部の書き込み(→)をクリックし、Arduino IDEに書き込み完了が表示されるまで待ちます。
- 該当する出力表示が0.5秒ごとに点灯・消灯することを確認します。
検証に失敗した場合は、選択したボードと出力番号を確認してください。書き込みに失敗した場合は、ツール → ポートのCOMポート、PCとの接続、製品の電源を確認してから再試行してください。
負荷を接続する前に、出力表示と端子の状態を確認してください。リレーは接点音を確認できますが、トランジスタ出力は外部電源と負荷配線がないと電圧出力のようには測定できません。
5. 入力と出力を連動
以下のアドレス0と64はMPAINO-8A8R(T)の例です。MPINOでは、両方のアドレスを製品のピンマップに記載された入出力番号に変更します。
const uint8_t INPUT_CHANNEL = 0; // MPAINO-8A8R(T)の例 const uint8_t OUTPUT_CHANNEL = 64; // MPAINO-8A8R(T)の例 void setup() { pinMode(INPUT_CHANNEL, INPUT); pinMode(OUTPUT_CHANNEL, OUTPUT); } void loop() { bool inputState = digitalRead(INPUT_CHANNEL); digitalWrite(OUTPUT_CHANNEL, inputState); }
このスケッチも検証(✓)してから書き込み(→)を行います。入力の状態を変え、該当する出力も連動して変わることを確認します。
MPAINOのデジタル入力はプルダウンを内蔵しているため、INPUTを使用します。MPINOも製品ごとの入力回路とマニュアルに従って設定してください。
6. 内蔵関数で機能を追加
入力ノイズにはIbounce()またはIdigitalRead()、遅延動作にはIton()、値の範囲変換にはIscale()を使用できます。
この例もMPAINO-8A8R(T)の入力0と出力64を使用します。MPINOでは両方のアドレスを製品のピンマップに合わせて変更します。
const uint8_t INPUT_CHANNEL = 0; // MPAINO-8A8R(T)の例 const uint8_t OUTPUT_CHANNEL = 64; // MPAINO-8A8R(T)の例 void setup() { pinMode(INPUT_CHANNEL, INPUT); pinMode(OUTPUT_CHANNEL, OUTPUT); } void loop() { bool stableInput = Ibounce(INPUT_CHANNEL, 30); // 入力状態が30ms変わらなければ値を反映します。 bool delayedOutput = Iton(0, stableInput, 1000); // 入力が1秒間ONのままならtrueを返します。 digitalWrite(OUTPUT_CHANNEL, delayedOutput); }
