Nigel AIの活用(エルチカ)

Nigel™ AI(ナイジェルAI)は、NI(National Instruments)が提供する、テスト・計測分野に特化したAIアドバイザです。
LabVIEWやTestStandなどのNIソフトウェアに統合されており、開発・テスト・データ分析の各工程で、エンジニアの業務をリアルタイムに支援します。
今回は、Nigel AIを活用したエルチカ「LEDをチカチカ点滅させる」動作のプログラム開発を紹介します。
Nigel AI 使用例:ソフトウェア
Nigelに質問
チャット欄に自然な言葉で質問を入力します。
Nigelの回答

LabVIEWでLEDを500msごとに点滅させるには、Whileループと**Wait (ms)**関数、Boolean型のシフトレジスタを使うのが一般的です。以下の手順で実装できます。
実装手順
- フロントパネルにBoolean型のインジケータ(例:LED)を配置します。
- ブロックダイアグラムでWhileループを配置します。
- Whileループの中に**Wait (ms)**関数を配置し、500を入力します(500ms待機)。
- シフトレジスタを使って、LEDの状態(True/False)をループごとに反転させます。
- シフトレジスタの値をLEDインジケータに接続します。
代表的なブロックダイアグラム構成
| 要素 | 説明 |
|---|---|
| Whileループ | ループ処理でLEDの点滅を繰り返す |
| Wait (ms) | 500msごとにループを1回実行 |
| シフトレジスタ | 前回のLED状態を保持し、毎回反転 |
| NOT関数 | Boolean値を反転(True⇔False) |
| Booleanインジケータ | LEDとしてフロントパネルに表示 |
注意点
- ループを止めるために停止ボタンを用意するのが一般的です。
- Wait (ms)関数を使わないとCPU使用率が高くなります。
参考LabVIEW例
LabVIEWのサンプルやテンプレートも活用できます。
「Search with Nigel」バーで「LED 点滅」や「Boolean Toggle」などで検索すると、関連するサンプルVIが見つかります。
よくあるミス
- Wait (ms)を入れ忘れると、LEDが高速で点滅し、CPU負荷が高くなります。
- シフトレジスタを使わずにLED状態を反転できない場合があります。
もし具体的なVI例や、サンプルコードが必要であればお知らせください。
また、LabVIEWのバージョンや、使いたいLEDの種類(物理LED制御 or フロントパネル上のLED)も教えていただけると、より詳細にご案内できます。
LED(ブール)の点滅プログラム作成
Nigelの回答を参考にLabVIEWプログラムの作成を行います。
回答の「実装手順」「代表的なブロックダイアグラム構成」に沿って、LabVIEWプログラムを作成します。


プログラム実行
LabVIEWプログラムを実行します。
LED消灯


LED点灯


フロントパネルのLEDが500ミリ秒間隔で点灯と消灯を繰り返します。
Nigel AI 使用例:ハードウェア
次はハードウェアを指定します。
Nigelに質問
Nigelの回答

DAQ USB-6008で外部LEDを500msごとに点滅させるには、デジタル出力を制御するVIを作成します。以下の手順で実装できます。
必要なもの
- NI-DAQmxドライバ(インストール済みであること)
- USB-6008本体
- LED(適切な抵抗を直列に接続)
- 配線:USB-6008のDIOポート(例:P0.0)とGND
実装手順(LabVIEWブロックダイアグラム)
- DAQmx Create Channel(Digital Output)
- 例:Dev1/port0/line0(P0.0)を指定
- Whileループ
- ループ内でLEDのON/OFFを切り替える
- シフトレジスタ
- 前回のLED状態を保持し、毎回反転
- DAQmx Write(Digital Bool 1Line 1Point)
- シフトレジスタの値を出力
- Wait (ms)
- 500msを指定
- 停止ボタン
- ループを終了するために配置
ブロックダイアグラム構成例
| ステップ | 関数・部品 | 役割 |
|---|---|---|
| 1 | DAQmx Create Channel | 出力ラインを指定 |
| 2 | Whileループ | 点滅処理を繰り返す |
| 3 | シフトレジスタ+NOT関数 | ON/OFFを交互に切り替える |
| 4 | DAQmx Write | LEDに出力 |
| 5 | Wait (ms) | 500msごとにループ |
| 6 | 停止ボタン | ループ終了 |
| 7 | DAQmx Clear Task | タスク終了 |
配線例
- P0.0(デジタル出力)→ LEDのアノード(+側)
- GND → LEDのカソード(-側)
- LEDと直列に330~1kΩ程度の抵抗を必ず入れてください(LED保護のため)
注意点
- デジタル出力は5V/8.5mAまで。LEDの消費電流に注意してください。
- 複数LEDを点灯させる場合は、各ラインごとに抵抗を入れてください。
参考LabVIEWサンプル
LabVIEWの「Search with Nigel」バーで
「DAQmx Digital Output」や「LED 点滅」などで検索すると、サンプルVIが見つかります。
よくあるミス
- DAQmx Writeのサンプルモードやライン指定を間違えると出力されません。
- 抵抗なしでLEDを直接接続すると、USB-6008やLEDが破損します。
さらに詳しいサンプルや、VIの具体的な構成図が必要な場合はご連絡ください。
また、LEDの接続方法や配線図もご案内できます。どのDIOラインを使うかも教えていただけると、より具体的にサポートできます。
ハードウェア配線
Nigelの回答を参考にハードウェアを設置します。
回答の「配線例」に沿って、DAQとLEDを配線します。
回路例:USB-6008 DIO0─LED(+)─LED(-)─抵抗─USB-6008 GND

DAQを使用したLEDの点滅プログラム作成
Nigelの回答を参考にLabVIEWプログラムの作成を行います。
回答の「実装手順」「代表的なブロックダイアグラム構成」に沿って、LabVIEWプログラムを作成します。


プログラム実行
実行してみます。
LED消灯



LED点灯



LEDが500ミリ秒間隔で点灯と消灯を繰り返します。
まとめ
Nigel AIは単にコード生成するだけでなく、「なぜそのVIが必要なのか」を質問できるため、学習ツールとしても有効です。
エルチカ程度の基本的なプログラムであれば、Nigel AIは十分実用的な提案を行えました。
特に新人教育やLabVIEW学習においては、
- 教科書
- サンプルコード
- AIアシスタント
を組み合わせることで学習効率が大幅に向上します。
