ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

Archive for the ‘Microsoft Visual Studio Express 2013 for Windows Deskto’ Category

100 円均一ショップで買った乾電池チェッカーで Netduino 2 と Arduino UNO の PWM パルス幅変調アナログ出力をチェックする

leave a comment »

100 円均一ショップには電子工作で使えそうなものがたくさんある。電子パーツとして買うとそれなりに値段がするものが手軽に手に入る。100 円均一ショップで売っていたアナログメーター式の乾電池チェッカーを使って Netduino 2 と Arduino UNO の PWM パルス幅変調アナログ出力をチェックする実験をしてみた。

Netduino 2 や Arduino UNO のアナログ出力は PWM パルス幅変調 Pulse Width Modulation であり、実際に出力電圧が変化しているのではない。5V の電圧を出力するにあたってパルスを使い、パルス幅の 5V と 0V の比を変化させることで平均電圧、という表現は正確ではないかもしれないが、疑似的に電圧を変化させるのと同等の効果を得ているのだ。ちなみに Arduino Due には D/A 変換回路が組み込まれており、本物のアナログ出力を行うことができるようだ。

P1110829_clip_640_480

まず本体を分解する。ニッパーとペンチで角から。分解すると内部はアナログメーターと 4 本の抵抗で構成されていることがわかる。はんだごてではんだを溶かしてばらばらにする。

P1110830_mid_640_480

P1110831_clip_640_480

念のため元の回路とテスターで測った抵抗の実測値をメモしておく。

P1110832_mid_640_480

このアナログメーターで、5V の出力値を MAX で表示できるようにすればいい。そこでいくらの抵抗をつなげばよいかをボリュームで調節して決める。ボリュームの値は 800 オームから 1k オームにすればよいことがわかった。

P1110833_mid_640_480

手元に適当な値の抵抗がなかったので、510 オームの抵抗を 2本直列につなぎ、1.02 kオームにして使うことにした。回路はとりあえず空中配線で。

P1110834_mid_640_480

Netduino 2 で PWM によるアナログ出力をするには、C# では次のようなコードになる。パルス幅を連続的に変化し、フェードイン、フェードアウトの効果を得る出力だ。

———————————————————————————

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace Netduino_Analog_Out_Blink
{
    public class Program
    {
        public static void Main()
        {
            PWM myPWM = new PWM(SecretLabs.NETMF.Hardware.Netduino.PWMChannels.PWM_PIN_D9,100,0,false);
            double myAdd = 0.001;

            myPWM.Start();

            while(true)
            {
                myPWM.DutyCycle = myPWM.DutyCycle + myAdd;
                Thread.Sleep(2);

                if(myPWM.DutyCycle > 0.999)
                {
                    myAdd = myAdd * (-1);
                }
                if(myPWM.DutyCycle < 0.001)
                {
                    myAdd = myAdd * (-1);
                }
            }
        }
    }
}

———————————————————————————

これを電池チェッカーのメーターで受け取ると、メーターの針がゆっくりと右へ左へ振れることがわかる。

P1110837_mid_640_480

Arduino UNO で PWM によるアナログ出力をするには、次のようなスケッチになる。

———————————————————————————

int bri = 0;
int myAdd = 5;

void setup()
{
  pinMode(9, OUTPUT);
}

void loop()
{
  analogWrite(9, bri);

  bri = bri + myAdd;

  if (bri == 0 || bri == 255)
  {
    myAdd = myAdd * (-1);
  }
  delay(40);
}

———————————————————————————

P1110835_mid_640_480

アドミンティーチャーズの「ラボワーク LW01 – Netduino で Lチカプログラミング」

leave a comment »

「アドミンティーチャーズ」は教育の情報化や情報教育、校務の情報化に携わる教職員対象の勉強会で、このたびは「ラボワーク」と名付けて、マイコンボードや電子回路を自由に体験するというスタイルで企画された。

「ラボワーク LW01 – Netduino で Lチカプログラミング」の報告

P1110024_mid_640_480

Netduino は内部で .NET Micro Framework が動き、Visual Studio を使って C# のプログラミングができるマイコンボードだ。実際に Visual Studio で開発するためには、SDK などいくつかの追加モジュールをセットアップする必要がある。このラボワークでは、Arduino の典型的なループを使った「L チカ」プログラミングと同じアルゴリズムで C# のコードを書いて比較し、また Netduino で別スレッドで実行する 2 つの「L チカ」プログラミングのデモをした。

P1110012_mid_640_480

Netduino や Arduino は受け取った電圧変化をディジタル変換するアナログ入力の A/D ポートを標準で持っている。このアナログ入力ポートの動作を確かめるために、まずボリュームで電圧変化を与えて A/D 変換をし、次に距離センサーを使って距離の測定ができることを確かめた。

P1110004_mid_640_480

そのほかブレッドボードを使った回路実験や 7 セグメント LED、バー型 LED、マトリックス型 LED などの使い方、Arduino の亜種や類似のマイコンボード、組み込み実装用の Arduino Pro Mini などの紹介もした。

この「ラボワーク」は今後も毎月第一土曜日に兵庫県の神戸市、三ノ宮で行うことを考えている。次回の計画は月半ばにアドミンティーチャーズのサイトで案内することとする。

アドミンティーチャーズ
https://adminteachers.wordpress.com/

興味のある方はぜひご参加ください。

Netduino で Arduino 用の multifunction シールドを使う(4) – オンボードの 4つの LED を点灯させる

with one comment

前回までに「Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは」「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」「Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート」で Visual Studio 2013 で Netduino の開発をする準備を整えた。今回から multifunction シールドを Netduino に接続してプログラミングを始めよう。

P1100621_clip_640_480

Arduino 用 multifuncion シールドにはオンボードに 4つの LED が取り付けられている。基盤には D1、D2、D3、D4 と名前が印刷されているが、これはそれぞれ Netduno の D13、D12、D11、D10 の I/O ピンに接続されている。Arduino では 13、12、11、10 の各ピンだ。

P1100469_clip_640_480

この LED は、I/O ピンから抵抗を介して接続されており、反対側は +5V につながっている。したがってこの LED 光らせるには、各 I/O ピンの出力を 0 に、つまり GND に落とせばよい。

Arduino のスケッチなら、例えば次のようになる。

—————————————————–

digitalWrite(10, LOW);

—————————————————–

ではプログラミングの前に multifunction シールドを Netduino につなごう。両側の各ピンをつなげばいい。つないだら USB ケーブルでパソコンに接続しよう。

P1100622_clip_640_480

P1100624_clip_640_480

P1100619_clip_640_480

multifunction シールドと Netduino の準備ができたら Visual Studio 2013 を起動してプログラムをつくろう。

Netduino_3_001_mid_640

Visual Studio を起動したら、新しいプロジェクトを開始する。

Netduino_3_002_mid_640

テンプレートは言語を Visual C# とし、Micro Framework から Netduino Application (Universal) を選ぶ。Visual Studio のセットアップができていなければテンプレートがないか、または違う名前になっているかもしれない。もしテンプレートが選択できなければ、この blog の前回までの記事を参考にして Visual Studio をセットアップしてほしい。

プロジェクトの名前を適当なものにする。ここでは multifunction_4LEDs_on というプロジェクト名にした。

プロジェクトを開始すると次のような画面になるので、右のソリューションエクスプローラーから、Program.cs をクリックして開こう。

Netduino_3_004_mid_640

Program.cs を開くと、// write your code here の行がある。ここに次のコードを書こう。

——————————————————————

var myLED1 = new OutputPort(Pins.GPIO_PIN_D10, false);

——————————————————————

コード全体は次のようになる。

——————————————————————

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace multifunction_4LEDs_on
{
    public class Program
    {
        public static void Main()
        {
            var myLED1 = new OutputPort(Pins.GPIO_PIN_D10, false);
        }
    }
}

——————————————————————

Netduino_3_006_mid_640

コードが書けたらビルドしよう。ビルドに続いて Visual Studio がプログラムを Netduino に配置してくれる。

Netduino_3_007_mid_640

Netduino_3_008_mid_640

ビルドと配置が完了したら、multifunction シールドの D4 LED 、I/O ポート D10 につながっている LED が光るはずだ。

P1100620_clip_640_480

では次に、4つの LED を全部点灯させよう。コードは次のとおり。

——————————————————————

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace multifunction_4LEDs_on
{
    public class Program
    {
        public static void Main()
        {
            var myLED1 = new OutputPort(Pins.GPIO_PIN_D10, false);
            var myLED2 = new OutputPort(Pins.GPIO_PIN_D11, false);
            var myLED3 = new OutputPort(Pins.GPIO_PIN_D12, false);
            var myLED4 = new OutputPort(Pins.GPIO_PIN_D13, false);        }
    }
}

——————————————————————

Netduino_3_012_mid_640

ビルドして配置すると multifunction シールドのオンボード LED が 4つとも点灯する。

P1100626_clip_640_480

これで multifunction シールドのオンボード LED を点灯することができた。次回はこの LED を点滅させる、いわゆる「L チカ」プログラミングをしよう。

<前の記事>
「Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート」

Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート

with 2 comments

前回「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」でNetduino を開発するための Visual Studio の環境を整えた。だが Netduino のファームウエアのバージョンが古い場合には、作ったプログラムが動かないことがある。試しに Visual Studio 2013 の環境を整えたコンピュータに USB で Netduino を接続し、Visual Studio を起動して簡単なプログラムを作ってみよう。

1.Netduino をコンピュータに接続する

P1100472_mid_640_480

USB ケーブルでコンピュータに Netduino を接続する。

2.Visual Studio 2013 の起動とサンプルプログラムの作成

Netduino_2_074_mid_640

コンピュータに USB で Netduino を接続し、Visual Studio 2013 を起動する。

Netduino_2_076_mid_640

新しいプロジェクトを開始し、言語を Visual C# とし、Micro framework から Netduino Application(Universal) を選択する。テンプレートに Micro framework や Netduino Application (Universal) がないときは、前回の記事を見て Visual Studio のカスタマイズをしてほしい。

Netduino_2_077_mid_640

新しい Netduino Application (Universal) のプロジェクトが開始した。右の「ソリューションエクスプローラー」で Program.cs をクリックしてコードを開く。

Netduino_2_078_mid_640

Project.cs には基本的なコードがあらかじめ作られている。ここで // write your code here とあるところに、次のコードを書く。

————————————————————————————

var myLed = new OutputPort(Pins.ONBOARD_LED, true);

————————————————————————————

Netduino_2_079_mid_640

このコードは、オンボードの LED をアウトプットポートに設定し、出力する、つまり光る状態に定義するコードだ。コードが入力できたらビルドしよう。ビルドすると自動的にコンパイルから Netduino へのプログラムの配置まで Visual Studio がやってくれるはずだ。

3.サンプルプログラムのビルドと配置

Netduino_2_080_mid_640

ビルドを開始する。

Netduino_2_081_mid_640

だがビルドはエラーになる。エラーは「配置エラーが発生しました。続行しますか?」とある。そこでビルドを停止しする。

Netduino_2_082_mid_640

Visual Studio の下部「エラー一覧」を見ると、デプロイできなかったこと、その理由が、デバイスのアセンブリのバージョンが 4.2.0.0 なので、4.3.1.0 にして試すように、といったことが示されている。デバイスのファームウエアのバージョンが低いためだ。

4..NET Micro Framework Deployment Tool で Netduino のファームウエアを確認する

Netduino_2_083_mid_640

ファームウエアのバージョンを確認するには、.NET Micro Framework Deployment Tool を使う。まだコンピュータにインストールされていない場合は、前回までの記事を読んでインストールしてほしい。

Netduino_2_084_mid_640

.NET Micro Framework Deployment Tool を起動すると、起動直後には接続先が Serial になっているので、ドロップダウンリストボックスで接続先を USB に変更する。

Netduino_2_089_mid_640

接続できると Netduino_2_Netduino とモデル名が表示される。そこで「Ping」ボタンをクリックして Netduino との通信をテストする。すると Pinging…TinyCLR という結果が下部に表示される。

Netduino_2_091_mid_640

次に「Target」メニューの「Connect」でターゲットの Netduino デバイスに接続する。

Netduino_2_092_mid_640

Connecting to Netduino2_Netduino…Connected と表示されたら Netduino に接続が完了した。

Netduino_2_094_mid_640

接続が完了したら「Target」メニューの「Device Capabillities」でデバイスの情報を得る。

Netduino_2_095_mid_640

様々な情報が得られるが、この場合、確かに ClrInfo.clrVersion が 4.2.0.0 であることがわかった。Netduino のファームウエアのアップデートについては、もういちど Netduino の公式サイトを見よう。

5.Netduino のファームウエアをダウンロードする

Netduino_2_097_mid_640

公式サイトに firmware updates のアナウンスがある。現時点では netduino firmware v4.3.2.3 となっている。アップデートのリリースの日付は 18-sep-2015、2015年9月18日だ。ダウンロードのリンクをクリックしてファイルをダウンロードする。

Netduino_2_098_mid_640

ダウンロードしたファイルは適当なフォルダに保存しておく。

Netduino_2_099_mid_640

ダウンロードしたファイルを展開する。

Netduino_2_100_mid_640

展開先の選択とファイルの展開をする。

Netduino_2_101_mid_640

展開するとこのようなフォルダとファイルができる。ここで「firmware」のフォルダを試しに開いてみる。

Netduino_2_102_mid_640

フォルダからは、Netduino の各モデルのファームウエアが用意されていることがわかる。

Netduino_2_103_mid_640

6.Netduino のファームウエアをアップデートする

ファームウエアのアップデートは、NetduinoUpdate のプログラムを実行する。Netduino Update のプログラムは、現時点で v1.0.2 だ。

P1100473_mid_640_480

Netduino をコンピュータに USB で接続するが、このとき、Netduino のボード上のボタン BTN を押しながら接続する。もし Netduino を既に接続していたときは、一度取り外して接続しなおす。するとボード上の LED が点灯する。これで Netduino のファームウエアを書き換えることができる bootloader モードとして起動できる。

Netduino_2_105_mid_640

Netduino を bootloader モードとして起動できると、Netduino Update v1.0.2 プログラムに Netduino のモデル名が表示される。

Netduino_2_107_mid_640

そこでモデル名にチェックを入れ、アップデートを実行する。

Netduino_2_109_mid_640

アップデートが実行される。

Netduino_2_111_mid_640

アップデートが終了したら、Netduino Update v1.0.2 プログラムから Netduino のモデル名が消える。

7.Netduino の新しいファームウエアに Visual Studio でビルドしデプロイする

Netduino_2_113_mid_640

Netduino のファームウエアがアップデートされたら、プログラムは動くはずだ。もういちど Visual Studio を起動し、プロジェクトを開いてビルドする。

Netduino_2_115_mid_640

エラーなくビルドでき、プログラムは Netduino に配置された。

P1100475_mid_640_480

Netduino のオンボード LED が点灯した。

これで Netduino の開発環境が整った。次回から実際に multifunction シールドを使ったプログラムをする。

<前の記事>
「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(4) – オンボードの 4つの LED を点灯させる」

Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える

with 3 comments

前の記事「Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは」では、Multifunction シールドの概要と Arduino や Netduino について簡単に紹介した。今回は Visual Studio で Netduino のプログラミングをする準備を整える説明をする。

1.Netduino の公式サイトで最新の情報を得る

Visual Studio で Netduino のプログラミングをするには、Visual Studio をカスタマイズしなければならない。また場合によっては Netduino のファームウエアを書き換える必要がある。Netduino の開発環境のカスタマイズについては、Netduino の公式サイト www.netduino.com から情報を得る。公式サイトの「downloads」では、現時点で次のようなステップが示されている。開発がすすんでいるので、自分でやってみるには、まず、このサイトで最新の情報を入手してほしい。

1.Microsoft Visual Studio Express 2013 のインストール
2..NET Micro Framework SDK v4.3 のインストール
3..NET MF plug-in for VS2013 のインストール
4.Netduino SDK v4.3.2.1 のインストール

Netduino_2_001_mid_640

2.Visual Studio 2013 のインストール

現時点での最新の Visual Studio は 2015 だが、ここでは Netduino 公式サイトの推奨どおり Visual Studio 2013 をインストールしよう。Netduino の公式サイトは Microsoft のダウンロードセンターにリンクされている。

Netduino_2_002_mid_640

現時点の Microsoft Visual Studio Express 2013 for Windows Desktop は Update 5 だ。

Netduino_2_003_mid_640

ダウンロードセンターには2つのプログラムがある。ダウンロード版は vs2013.5_dskexp_JPN.iso だ。もうひとつのサイズの小さいプログラム wdexpress_full.exe はインターネット経由でインストールするインストーラーだ。コンピュータにデータをダウンロードして実行できるディスク容量があれば、通常ダウンロード版の iso ファイルをダウンロードしてインストールする。

Netduino_2_004_mid_640

ダウンロードしたプログラムはコンピュータの適当なフォルダに保存し、インストールを実行する。

Netduino_2_005_mid_640

Netduino_2_006_mid_640

Netduino_2_008_mid_640

ライセンス条項とプライバシーポリシーに同意し、インストールを開始する。

Netduino_2_010_mid_640

Netduino_2_040_mid_640

インストールが完了したら、いちど Visual Studio を起動してみる。

Netduino_2_041_mid_640

Netduino_2_042_mid_640

Netduino_2_046_mid_640

Visual Studio を起動した画面で、新しいプロジェクトを開始する。

Netduino_2_047_mid_640

新しいプロジェクトを開始すると、使用する言語とテンプレートを選択する。しかしここにはまだ Netduino のテンプレートがない。そこで次のステップ、.NET Micro Framework SDK v4.3 のインストールにすすむ。

3..NET Micro Framework SDK v4.3 のインストール

.NET Micro Framework SDK v4.3 をインストールするには、Netduino の公式サイトでダウンロードのリンクをクリックし、ダウンロードファイルをコンピュータの適当なフォルダに保存する。

Netduino_2_054_mid_640

ダウンロードファイルを実行する。

Netduino_2_056_mid_640

ライセンス使用条項に同意する。

Netduino_2_057_mid_640

インストールのタイプを選ぶ。Complete で完全インストールを選択できる。

Netduino_2_058_mid_640

次の画面で Install ボタンをクリックしてインストールがはじまる。

Netduino_2_059_mid_640

Netduino_2_060_mid_640

4..NET MF plug-in for VS2013 のインストール

次に .NET MF plug-in for VS2013 のインストールをする。これも Netduino の公式サイトのリンクをクリックしてプログラムをダウンロードし、コンピュータの適当なフォルダに保存する。

Netduino_2_062_mid_640

ダウンロードしたファイルを実行する。

Netduino_2_063_mid_640

Netduino_2_064_mid_640

ライセンス条項に同意し、インストールを開始する。

Netduino_2_065_mid_640

.NET MF plug-in for VS2013 のインストールが完了した。

5.Netduino SDK v4.3.2.1 のインストール

最後に Netduino SDK v4.3.2.1 のインストールをする。これも Netduino の公式サイトからダウンロードのリンクを使ってダウンロードする。ダウンロードしたファイルはコンピュータの適当なフォルダに保存する。

Netduino_2_067_mid_640

ダウンロードファイルを実行する。

Netduino_2_068_mid_640

ライセンス条項に同意し、インストールを開始する。

Netduino_2_069_mid_640

Netduino_2_070_mid_640

Netduino SDK v4.3.2.1 のインストールが完了した。

6.Visual Studio 2013 の起動とテンプレートの確認

ここで再度 Microsoft Visual Studio Express 2013 for WIndows Desktop を起動してみる。

Netduino_2_071_mid_640 

Netduino_2_072_mid_640

新しいプロジェクトを開始すると、Visual C# の言語に Netduino Application (Universal) のテンプレートがあることがわかる。これで Netduino の開発環境が整った。

<前の記事>
「Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは」

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート」

Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは

with 3 comments

急激に進化しつつあるマイコンボードとIoTの分野において、その先鞭となりかつ現時点で最も普及し豊富なラインナップと周辺製品が充実しているのは Arduino と言っていいだろう。Arduino はそのIOピン配置に適応した拡張ボード、マイコンの世界では「ドーターボード」と呼ばれたりするものだが、これを使うことで機能を拡張したり簡単な実験をすることができる。これを Arduino の用語では「シールド」といい、様々な製品が発売されている。Arduino は回路が公開されているので自分でシールドを設計して作ることもでき、自作用の基盤やピンなどの部品も簡単に手に入れることができる。この Arduino のIOとピン配置に適合したシールドは、近年のマイコンボードの世界であたかもデファクトスタンダードの様相を示しており、豊富なシールドの恩恵を得るように、様々なマイコンボードが Arduino 互換のIOとピン配置を持っている。

P1100471_mid_640_480

Netduino は「ネットデュイーノ」と読み、.NET micro Framework が動くマイコンボードで Visual Studio を使って C# プログラミングによる .NET ライブラリの豊かな資産を使うことができるものだが、Netduino もそのIOとピン配置は Arduino 互換となっており、Arduino 用の様々なシールドが利用できる。下の写真は Netduino 2 で、現時点で入手することができる最もベーシックな Netduino だ。

P1100470_mid_640_480

公式サイトは www.netduino.com で、Netduino の製品群や Visual Studio で開発するための SDK などのダウンロード、活用のノウハウと情報交換のコミュニティなどがある。

Netduino_2_052_mid_640

Netduino は発表以来いくつかのモデルが発売されている。Netduino の公式サイトによると、現時点で最も新しい モデルは Netduino 3 だ。

Netduino_2_053_mid_640

multifunction シールドは、Arduino Uno と Leonardo に対応した実験用のシールドだ。基本的な実験で利用しやすい部品が取り付けられている。値段も安い。現時点で Amazon では送料無料で1,000円で買うことができる。ちなみに Amazon で最も価格が安いショップでは、「Arduino UNO R3 学習向け多機能拡張ボード シールドキット」という名称になっているので、検索するときはキーワードに気を付けてほしい。

Netduino_2_051_mid_640

この multifunction shield には4個のドット付き赤色7セグメントディスプレイモジュール、4個の LED、10K オームの小型ボリューム、3つのプッシュボタンが装填されている。もしこのモジュールを自作するとすれば、よほど低価格の部品をかき集めてこないと、部品代だけで 1,000 以上かかってしまうだろう。

P1100469_mid_640_480

この multifunction シールドを Netduino 2 に装填し、基本的な実験をしてみよう。

※この記事を書くには Microsoft MVP のはつねさんが書かれた Build Insider の記事「.NET対応組み込みデバイス『Netduino』入門」 http://www.buildinsider.net/small/netduino がとても参考になりました。ありがとうございます。

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」

片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(5) – 「検索条件ビルダー」を使ってキーワードによる「部分一致」検索をノンコードで実装する

with one comment

前回の記事で「片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(4) – 「検索条件ビルダー」を使ってキーワードによる「前方一致」、「後方一致」、「部分一致」検索を実装する」を紹介した。今回は「条件検索ビルダー」を使ってノンコードで「部分一致」を実装する手順を紹介する。Visual Studio 2013 で「検索条件ビルダー」を使えば、一行もコードを書く必要はない。

Visual Studio 2013 を起動し、C#の Windows Form アプリケーションの新しいプロジェクトを作成する。データ接続は「データソース構成ウィザード」で SQL Server のテーブルに接続しておく。データソースを構成したら、接続先のテーブルを画面にドラッグしてデータグリッドビューを作成する。ここまでの手順は、前回までの記事を参考にしてほしい。

部分一致_001_mid_640

<Fig.1 : データソース構成ウィザードで SQL Server に接続するデータグリッドビューを作成した>

生徒BindingSource または生徒TableAdapter、あるいはデータグリッドビューを選択して右上に表示される「スマートタグ」の小さな三角アイコン▲をクリックし「クエリの追加」をする。

部分一致_003_mid_640

<Fig.2 : バインディングソースのスマートタグから「クエリの追加」を行う>

「条件検索ビルダー」が起動するので、クエリテキストを次のように変更する。

——————————————————————-
SELECT 学籍番号, 氏名, クラス, 住所, 性別, 性別コード FROM dbo.生徒
WHERE 氏名 LIKE ‘%’ + @SelectNamePartial + ‘%’
——————————————————————-

SQL 文では文字列をシングルクォーテーションで挟む。パラメータクエリのパラメータの前後に、シングルクォーテーションで挟んだ「%」の文字列を加えると、部分一致のクエリになる。

部分一致_004

<Fig.3 : 「条件検索ビルダー」でクエリテキストを編集する>

「検索条件ビルダー」を終了すると、フォームに fillByToolStrip が生成している。これだけで、この検索は、部分一致になっている。

部分一致_005_mid_640

<Fig.4 : 「条件検索ビルダー」を終了すると fillByToolStrip が生成している>

部分一致のクエリを実装するにはこれだけでいい。ビルドして動作を確認する。

部分一致_006_mid_640

<Fig.5 : ビルドして部分一致を確認する>

このように「検索条件ビルダー」のクエリさえ記述すれば、部分一致の検索フォームをノンコードで作ることができる。検索条件ビルダーを活用して、データベース接続アプリケーションを簡単に作ろう。

<前の記事>
片手間プログラマーの復権 – Visual Studio 2013でクライアントサーバー型データベースアプリケーションをあっというまに作る(4) – 「検索条件ビルダー」を使ってキーワードによる「前方一致」、「後方一致」、「部分一致」検索を実装する