ページ)これまでに準備したボードコンピューターとIoTアプリ開発環境を使って、いよいよ実際にハードウエアを制御してみる。押しボタンスイッチでLEDを点滅させる簡単な仕組みから実践しよう。Core向けの開発環境準備について解説した。BにLED(発光ダイオード。電圧を掛けると光を発するデバイス)とスイッチを接続して、それを制御してみよう。Bには機能拡張用のポートがあり、ここにLEDやスイッチ、各種センサーデバイスなど、さまざまな回路を接続して制御できる。今回は一番簡単な例として、LED(発光ダイオード)とスイッチを接続し、それらをプログラムから制御してみる。簡単な例として、前回作成したサンプルプログラムに合わせて、LEDを3つと、スイッチを2つ接続してみる。実際のボードは次のようになる。Bを販売しているショップなら取り扱っているはずだ。ブレッドボードの基本的な使い方については、以下の記事などを参照していただきたい。Piとはまた別のボードコンピューターの解説記事であるが、ブレッドボードの使い方やLEDの制御方法などは同じである。今回使った部品は次の通りだが、LEDとスイッチ1つずつでもよい。その場合はプログラムを少し書き換えればよいだけだ。ブレッドボードブレッドボード用のジャンパーワイヤー(両端がオスのピンのものの他に、片方がメスになっているワイヤーがあると接続に便利。Pi側の接続用端子はオスのピンになっているため)LED(色やサイズなどは任意。抵抗が内蔵されていないタイプを選んだ。Bの拡張端子にあるGPIOポートへ接続しているだけで、難しいことは何もしていない。BのいずれかのGNDピンに接続しておくこと。回路図描画ツール「Fritzing」で製図。LEDを直接ポートに接続すると電流が流れすぎるので、制限するために330Ωの抵抗(電流制限抵抗)を直列に挿入してある。GND(接地)」となるように配線する。LEDには向きがあり、足の長い方がGPIOポート側となるようにすること。間違っていると点灯しないので、その場合は逆向きに指し直す。スイッチを押したときにGPIOポートとGNDが接続されるように配線すること。Bの内部にはプルアップ抵抗(およびプルダウン抵抗)が内蔵されているため、抵抗を付ける必要はない。ちなみにこのスイッチ回路は負論理になっているため、プログラムから見た場合、スイッチ端子からデータを読み込むと、普段はHighレベルで、スイッチを押した時だけLowレベルになる。実験回路図LEDを3つとスイッチを2つ接続しているだけ。LEDには330オームの電流制限抵抗を入れている。GPIO端子がHighレベルになると電流が流れ出してLEDが点灯する。スイッチ(常時開いていて、押すと閉じる)はそのまま直接GPIOポートとGND間に接続している(内部プルアップを使用)。スイッチを押す前はHighレベルだが、スイッチを押すとGNDとつながり、Lowレベルになる。Bの拡張端子のピン割り当てを次に示しておく。GPIO端子はどれを使ってもよいが、今回は端の方から割り当てている。Bの拡張端子とそのピン配置40pinのピンヘッダからなる拡張端子から、メスのジャンパーワイヤーなどを使ってGPIOや電源/接地(GND)を引き出してブレッドボードへ接続する。灰色で書いてある数字は実際のピン番号だが、これはGPIOのポート番号とは異なるので注意。IoTコアのサンプルページより引用。IoT向けのユニバーサルWindowsアプリ(UWP)を作成してみたが、実際にはLEDなどは何も制御しておらず、単にUWPアプリをビルドして起動してみただけであった。GPIO経由でLEDやスイッチ、センサーなどのデバイスを利用するためには、GPIO用の特別なクラスライブラリなどを利用する必要がある。IoT向けのプログラムを0から作成するのは大変である。IoT向けのプログラムの概要を知るとよいだろう。ZIP」のリンクをクリックすると全アーカイブがダウンロードできるので、ローカルへダウンロード後展開する。Gitの使い方に慣れているなら、ローカルにGitのレポジトリのクローンを作ってもよい。Studioのソリューションファイル(.sln)があるので、ダブルクリックして開いて中を見てみよう。サンプルプログラムの解説は以下のページを参照のこと。Sample」などをベースにしてプログラムを作成している。Sample今回作成したサンプルプログラムは次の通りである。これを開いて、以下の解説を参照していただきたい。IoTのサンプルプログラムのダウンロードプログラムを起動すると、画面には赤・緑・青の円(LED)が表示され、スイッチを押すと、LEDが点灯すると共に、画面上にも濃い色で円が描画される。赤のLEDはスイッチを押している間だけ光り(モーメンタリ動作)、緑のLEDはスイッチを押すたびに点灯と消灯を繰り返し(オルタネート動作)、青のLEDは単に高速点滅を繰り返すだけ、というふうにしている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。