日本LabVIEWユーザーグループ

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEWで学ぶプログラミング

2020年度から小学校プログラミング教育が全面実施されます。小学校プログラミング教育の手引

それに合わせたかのように、National Instrumentsは非商用利用に限り無償となる、

LabVIEW Community Editionを2020年5月にリリースします。LabVIEW Community Edition

プログラミング教育は現状、ScratchLEGO Mindstorms等が有名ですが、

実際の仕事に役立てようとすると、その後に改めてC言語やPythonを学ぶ必要があります。

ではいきなりそれらのテキスト系言語を小中学校から学ぼうとしても、PC内で完結するプログラミングが

多く、これでは子供たちへ強く興味を持たせることは難しいです。

 

LabVIEWであれば、

という様々なメリットがあります。一度LabVIEWを理解してしまえば、

メモリの概念等プログラミングの基本も、LabVIEWベースで考えると理解しやすくなります。

 

このプロジェクトでは、LabVIEW NXGをベースに中高生をターゲットとした

プログラミング勉強の資料を作成します。成果物は無償で公開される予定です。

 

公開目標

5月下旬 (communityの公開と併せて)

 

ターゲット

Target Matrix.png

 

章立て

こちらより現在のドキュメントにアクセスできます。このグループのメンバーは、

自由に編集/コメント/閲覧が可能です。

サンプルコード

  1. TBD
  2. TBD
  3. TBD

 

含めるメッセージ

  • 計測技術のソリューションを通して、純粋にサイエンスを楽しんでほしい

 

このプロジェクトページはディスカッションの結果に基づき更新され、

更新は本グループの管理者であれば、どなたでも行っていただけます。

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 1 of 295
(731 Views)

おおはしです。

 

このプロジェクトでは、LabVIEW NXGをベースに中高生をターゲットとした

プログラミング勉強の資料を作成します。成果物は無償で公開される予定です。

日本語版があるからNXGでというのは了解です。ただ、NXGに関してはまだ馴染めていないのとベータ版をダウンロードできないでいるのでなんとかしないといけない状況です。

ターゲットは「中高生以上をターゲットとした」いところですが、微妙に書き方が変わってくるでしょうか?

 

プロジェクトの成果物の資料はPDF形式で提供するのか、あるいは、ブラウザで見る資料なのか、パワーポイント風の資料なのか、皆さんのご意見はいかがでしょうか。

私はできればPDF形式が望ましいと思っています。

 

手持ちのLabVIEW本を見ていますが、説明が一番コンパクトにまとまっているのは三島さんの「LabVIEWで学ぶ LEGO Mindstorms NXT入門」のような気がします。

 

M2130307 2.JPG

 

CHAPTER 4だけでポイントを押さえています。参考までに目次をコピペしておきます。

 

CHAPTER 4 LabVIEW入門 (39ページから67ページ)
 4-1 LabVIEWの起動
 4-2 フロントパネルとブロックダイアグラム
 4-3 制御器/表示器および関数
 4-4 データタイプ
 4-5 各種パレット
 4-6 配線
 4-7 ヘルプ機能
 4-8 データフローモデル
 4-9 LabVIEW プログラミングの流れ
 4-10 ストラクチャ
 4-11 配列
 4-12 クラスタ
 4-13 サブVIとファイル処理
 4-14 ファイル

 

プログラムの書き方はChapter9,10(115ページから151ページ)で詳しく書いています。

CHAPTER 9 プログラムのテクニック
 9-1 反復データの使用
 9-2 配列の使用
 9-3 サブVIを使ったテクニック
CHAPTER 10 効率的なプログラム
 10-1 単一ループと並列ループ
 10-2 フラグ関数
 10-3 ローカル変数
 10-4 競合・セマフォ

 

ご意見よろしくお願いします。

 

0 Kudos
Message 2 of 295
(710 Views)

何をターゲットとするか、ですかね...

個人的にはプログラミング教室等で使う用に、パワポ資料をPDFにすることを考えていました。
一方で胸の中には、「日本LabVIEWユーザー会」名義で本が出せたらすてきだなと思っていて、
そうなるとWordか何かで作ったドキュメントが良いと思います。

CQやRFワールドみたいに、章を区切って個々人が担当する方法も面白いと思います。
そうなった場合の懸念点としては、内容の統一性でしょうか...

この辺は本を出された経験をお持ちの方が詳しいと推察します。


通常のトレーニングや勉強本では、まずLabVIEWの基礎を学んでからハードを使ったりデモアプリを作りますが、学生を対象にした場合、途中で飽きられない工夫が必要かなと思っています。

最初に何かゴールを決め(例えば「Arduinoで水温を測る」など)、それを作るための要素にLabVIEWの基本(Whileやファイル保存など)をちりばめ、章を進める毎に自分のアプリがパワーアップしていくような構成も、面白いと思っています。

 

この内容はLabVIEWだけではせっかくのハードとの親和性が活きないので、
Arduinoでもなんでも、何がしかハードウェアとセンサは必要だと考えています。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 3 of 295
(702 Views)

ありがとうございます。5月まで時間がありますし、最終目的地は同じなので、関わった皆さんが納得できるものにできれば良いなと思います。

 

何をターゲットとするか、ですかね...

例えば、次のような4象限で分類したとするとどこをターゲットとするか

プレゼン資料なのか本なのか

1) 教える人が知りたい人に向けて理解を助けるために使える資料
2) 知りたい人が独力で読んで理解できる資料

 

プログラム言語としてのLabVIEWの強さは、
A) プログラムの専門家でなくともコンピュータの力を活用出来る言語
B) センサーやアクチュエーターなど現実世界で最も輝きを放つプログラム言語

 

私のイメージなのですが、Community EditionでLabVIEWがやっと万人が使える状態になったので、2Aに向けた資料ができればいいなと思っています。

4象限から1個選ぶというのではなく、重層的な活動もあるかもしれないと思いますのでそれぞれご意見を伺いたいと思います。

 

最初に何かゴールを決め(例えば「Arduinoで水温を測る」など)、それを作るための要素にLabVIEWの基本(Whileやファイル保存など)をちりばめ、章を進める毎に自分のアプリがパワーアップしていくような構成も、面白いと思っています。

資料の構成としてゴールに向かって筋が通って達成感も得られるので賛成です。

 

0 Kudos
Message 4 of 295
(698 Views)

「自発的なユーザーを増やす」ことを目標にすると、2Aのほうが私の目的にも適っているように思います。
2Aをターゲットにすると、自然とフォーマットも本のような体裁になりますね。


資料の構成についても賛成ありがとうございます。ではその構成で章立ても考えていきましょう。

章立ては著者経験者の方のほうが詳しいような気もしますが、おおざっぱにこんな感じで?

章立ては議論になるところかなと思っていますので、是非ご意見お願いします。

 

  1. 導入
    プログラミングとは? 計測とは? なんでLabVIEW?
  2. 準備
    LabVIEWのインストール、購入品の案内(Arduino+センサ?安さ大事)、セットアップ
  3. LabVIEWの操作説明
    基本的な操作説明だけ。でもここがつまらないと、三日坊主になる可能性も...
  4. 作る
    アプリケーションのゴールを決めて作っていく。2,3個ゴールを用意して、それぞれで作っていく?
    a. ループなしでとりあえず動かす
    b. While/Forループで繰り返し測定する
    c. ファイル保存する (テキスト/バイナリ両方?)
  5. 上級
    さらに何かする。ステートマシン?
Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 5 of 295
(688 Views)

「非プログラマが自分で学べる資料」(2A)で進むとして、

 

(1)購入品の案内(Arduino+センサ?安さ大事)に従って購入する人と(2)購入しないでとりあえず読んでみる人と(3)興味のあるセンサではないので読むのをやめる人がいると思います。

(2)、(3)の人をLabVIEWに引きつけるには、LabVIEWのプログラミングを購入品不要のテーマで説明する方が良いのではないかと思います。

提案としては、

3部構成で、第1部はLabVIEWの紹介とインストール、第2部は購入品なしでLabVIEWプログラムの説明、第3部は電子工作のハード面やI2C/SPIなどにも触れつつLINXでのプログラミングの説明

というのはどうでしょうか。

 

第2部は

サンプルプログラム 理科(地震):地震波の観察(をベースに改良)

あるいは

サンプルプログラム 英語(スピーキング):スペクトログラムで発音を可視化(をベースに改良)

などを誌上で作りながらLabVIEWプログラミングを説明するのはどうでしょうか?

 

第3部は、多くの人が魅力を感じて、値段も安くて、LabVIEWのパワーも示せるセンサーを使ったアプリケーションが望ましいと思います。

しかしながら、本棚から関係のありそうな本を取り出してパラパラ見ましたが、あまり良いものは見当たりません。

M2150309 2.JPG

アナログの心拍センサが強いて言えば800円ぐらいと安価で、ハンダ付けもいらないのでハードルが低いかなと思います。

念のために検索すると、I2Cの血流センサが発売されていました。これはハンダ付けが必要なので、少しだけハードルになりますし、Arduino用のライブラリが必要そうなので、LINXで使うときには自力でライブラリを作る必要があります。個人的に少し魅力を感じるので注文したところです。使えるようであれば有力候補かもしれません。

 

ご意見よろしくお願いします。

 

0 Kudos
Message 6 of 295
(670 Views)

少し長くなりますが、補足です。

 

「購入品の案内(Arduino+センサ?安さ大事)

というところを少し掘り下げると、Arduino, LINX, LabVIEWの関係を検討する必要があります。

 

Arduinoが電子工作の入り口として色あせないのは、使いたいセンサーやモジュールを手にした時に、ネットを探せばライブラリを見つけられ、誰かがサンプルになりそうなスケッチを紹介してくれていることにあると思います。

LINXはコマンドレスポンスの効率の悪さを除けばArduinoのIOに対応した関数が用意されているので、LabVIEWからArduinoのIOにアクセスすることができます。しかし、Arduino用のライブラリはそのまま活用することができないので、その部分は自分でLabVIEWで書かないとセンサーやモジュールを使うことができません。センサーやモジュールのレジスタを紐解いて意味のあるデータを手にするのは多くの人にとって高いハードルでしょう。

 

私は以前からArduinoとLabVIEWの間にLINXを入れないほうが、それぞれの特徴を活かしきることができると思っています。

2017年のメイカーフェア東京でLabVIEW 2014Home版の紹介をした時にロードセルアンプモジュールを使った工作をデモしました。その時の説明資料を添付します。

Scale写真.JPG

2014年のLabVIEWユーザー会ではLIFA(LabVIEW Interface For Arduino)からLINXに移行した時期だったのですが、LIFAのコマンドレスポンスのフォームを改造して使うmicroLIFAの方が良いのではないかという話をしました。その時の説明資料も添付します。(この時は安い中国製の互換機に手を出す前なのでArduinoブートローダーが書き込まれたマイコンを直に使っていました。)

 

 

LabVIEW 用のセンサ・ライブラリを作ってまでLINXを使う意味があるのは、システム全体をLabVIEWで固めたいという時ぐらいなのではないかと思います。

LINXのプログラム集の中でも、コラム「Arduinoをセンサ・モジュールのシリアル・インターフェースと考える」という中に私の提案「本章のようにして LabVIEW 用のセンサ・ライブラリを作るのは,ちょっと手間をかけすぎじゃ ないかと考えられる状況もあると思います.そんなときにお勧めする方法は,安価な Arduino 互換 機をシリアル・インターフェースにしてしまうことです(写真 15-A )」を入れています。

 

LINX積極派ではないのですが、Community Editionのお祝いなのでLINXも紹介したいと思います。

アナログ入力の心拍センサはLINXのレスポンスが悪くても波形が取れるのでギリギリ無理のない使い方だろうと思います。I2Cの血流センサはLabVIEW 用のセンサ・ライブラリを比較的簡単に書けるようであれば、そういう例として説明しても良いのではないかと思います。

 

(添付ファイルがうまく添付できていないみたいなので、その場合は後で添付します。)

>> 今日はpdfファイルが添付できなかったし、大した内容ではないので添付はやめます。何れにしても良いセンサを見つけたいですね。

0 Kudos
Message 7 of 295
(663 Views)

頂いたご意見をもとに、章立てを更新しました。あくまで案ですのでご確認いただき、

必要があれば修正やご提案をお願いします。

 

LabVIEW NXGのcommunity betaは問い合わせてみます。

 

ハードは悩ましいですね。。。Arduinoはまだamazon等で購入可能と思いますが、少しニッチなセンサ等になると、

秋月で購入しなくては、みたいなことになるかもしれません。我々は秋月楽勝!ですが、学生には敷居高いかな...

センサセットがあればと思ってスイッチサイエンスを漁ってみました。

みんなのArduino入門:初級キット

こういうのであれば、私個人は買いやすいなと思います。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
Message 8 of 295
(647 Views)

LabVIEW NXGのcommunity betaは問い合わせてみます。

ありがとうございます。

 

センサセットがあればと思ってスイッチサイエンスを漁ってみました。
みんなのArduino入門:初級キット

「みんなのArduino入門」(目次が書いてある)いいですね。私は昔「みんなのArduino入門:基本キット」を購入しました。

手堅くSwitchScienceでArduinoも購入するのならば、「みんなのArduino入門:基本キット」(4400円)の方がUNOもブレッドボードも付いてくるので面倒がない気がします。UNO単体をSwitchScienceで買えば3300円ですから、1100円プラスで電子工作グッズが揃います。

Amazonの中国製の互換機は500円ぐらいで大好きですが、当たり外れがある場合もあるので、”自己責任で”とか書かないと具合が悪いかもしれません。それを考えるとSwitchScienceの「みんなのArduino入門:基本キット」をベースとすると書く方としては書きやすいと思います。

4400円がどのぐらいのハードルなのか年金生活者にはわからないのですが、中高生ならばなんとかなるのでしょうか?

 

「みんなのArduino入門」は180ページかけて説明していますので、我々の場合、無駄な買い物と思われないように7割ぐらいの部品を組み合わせたアプリケーションとして仕立てる工夫が必要かもしれません。

 

頂いたご意見をもとに、章立てを更新しました。あくまで案ですのでご確認いただき、必要があれば修正やご提案をお願いします。

ありがとうございます。

 

提案なのですが、各章で説明するキーワードをあらかじめ書き出しておいて、キーワードをつなげるように話を書いていくと楽なような気がします。

例えば、

 1.2 LabVIEWの紹介

  キーワード:1986、グラフィカルプログラミング、計測制御、JAXA(開発事例)、Community Edition(制約)、LabVIEW、LabVIEW NXG、LINX-Arduino/Raspberry Pi/BeagleBone Black、日本語版と英語版、

 1.3 LabVIEWのインストール

  キーワード:Edition、ユーザープロファイル、インストール先のディレクトリ(外付けドライブへのインストール)、日本語版と英語版、

 

と言ったように、キーワードだけで伝わるとは思いませんが、1986と書いた時にLabVIEWの歴史みたいなものを伝えたいとか、JAXA、何か(はた目には)夢があって良いなとか、お互いに考えていることが分かり合えそうな気がします。

いかがでしょうか?

0 Kudos
Message 9 of 295
(638 Views)

「みんなのArduino入門」、良い本ですね。章立てから既に、よく考えて組まれているなど感心しました。
Arduinoのお手軽セットは良いですね。こういうセット品は、過去の私も大変お世話になりました。

章立てへの提案ありがとうございます。早速そのようにしましょう。
どなたでも編集できますが、自分が書いたキーワードがいつの間にか消えると寂しいので、
基本はとにかく追加する方向でお願いします。

 

かぶったり、不要そうなものは改めてディスカッションできればと思います。
その時は、一度どこかでSkypeかなんかのグループ会議したいですねー。

 

残念ながら、NXG Communityのベータ版はでないようです。

Image.PNG

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 Kudos
Message 10 of 295
(631 Views)