PinKitセンサーボードの加速度センサーをラズパイにつなぐ

あ、そういえば、PinKitのセンサーボードにADXL345が載ってるね…ってこで、Windows 10 IoT Core For Raspberry PI2で、PinKitセンサーボードの加速度センサーを使う方法を紹介します。 ADXL345のピンは、PinKitセンサーボードのピンに D15 → SCL D14 → SDA VDD → VDD GND → VDD の様に対応しているので、Raspberry PI2のピンに図の様につなげばよい。 ちょっと余計なものが写っているのだが、ブレッドボードを使って、 こんな風につなげばよい。 後は、http://ms-iot.github.io/content/en-US/win10/samples/I2CAccelerometer.htm のサンプルのACCEL_I2C_ADDRの値を、0x1dにセットすれば、加速度読み取れます。 PinKitとRaspberry PI2の両方を持っている人は試してみてくださいね。以上、ひつまぶし、あ、暑さのために間違いました、ひまつぶしのTips投稿でした。

0

Node.jsでWindows 10 IoT Coreのセンサーを使う

いやぁ…私がこのブログでJavaScriptとかNode.jsの事を書く時代が来るとはね… Raspberry PI2で動く、Windows 10 IoT Coreでは、C#、VB、VC++に加えて、Node.js、PythonでUniversal Windows Applicationの開発が可能です。 Node.jsを使うには、http://ms-iot.github.io/content/en-US/win10/samples/NodejsWU.htm で紹介されているように、Visual Studio 2015 RC に IoT Core用のMSIツールをインストール後、追加で、NTVS(Node.js Tools for Visual Studio)Bundle VS2015を更にインストール。このツールを使うと、Node.js用のプロジェクトテンプレートが出現します。 プロジェクトの作成は、 と、プロジェクトテンプレートで、カテゴリを”JavaScript”→”Node.js”を選択して表示されたテンプレートの”(Windows Universal)”と名前の後ろについているテンプレートを使います。 npmを使うには、ソリューションエクスプローラーで、プロジェクト直下のnpmアイコンを右クリックして、”Install New npm Packages… を選択すれば、所望のパッケージをインストール可能です。 更に、実機(例えば、Raspberry PI2)で動かすには、ソリューションエクスプローラーでプロジェクトを右クリックし、”プロパティ”を選択し、表示されたページの、”Remote Machine”の項目にWindows IoT CoreデバイスのIPアドレスを入力すればOK。 では、センサーのデータを取得するJavaScriptコードをお見せしましょう。センサーは、加速度センサーのADXL345を使います。http://ms-iot.github.io/content/en-US/win10/samples/I2CAccelerometer.htm や、私の以前のポストを参照して、配線してください。 おっと、元々私は、JavaScriptやNode.jsはまるっきり素人なので、どれぐらい素人かというと、Node.jsがサーバーサイド向けのライブラリだと知ったのがこれを書いているつい最近(でもNode.jsと知らないうちから使ってはいましたが)知ったというぐらい、素人です。だから、「普通JavaScriptだったら、そんな風に書かねぇよ」とかいう方がいたら、「この方が楽よ」と、コメント頂ければ幸い。 現状のサンプルには、Node.jsでI2Cセンサーを使うサンプルは公開されていないのと、ま、私がジャバスク素人で普段はC#使いでもあるので、ロゼッタストーン的にC#と並べて、紹介することにします。早速ロゼッタストーンです。 C# JavaScript Node.js string aqs = I2cDevice.GetDeviceSelector(“I2C1”); var dis = await DeviceInformation.FindAllAsync(aqs); var settings = new I2cConnectionSettings(0x53);I2CAccel…

0

Windows IoT Coreで複数のI2Cセンサーを使う

以前のポストで幾つか、I2CセンサーをWindows 10 IoT Coreで制御する方法を紹介しました。I2Cに詳しい方はご存知のはずですが、I2Cでは、一つのバスに複数のセンサーデバイスの接続が可能です。詳しくは、http://www.i2c-bus.org/ を見ていただくことにして、同一のI2Cにバスに接続されたセンサーデバイスは、1バイトのアドレスをそれぞれ持っているので、一つのアプリから複数のセンサーデータ取得が可能です。 各センサーのアドレスの値は、メーカーが公開しているデータシートに記載されています。例えば、WindowsOnDevices.comのサンプルとして紹介されている、ADXL345(加速度)は0x53、BoschのBME280(温度・湿度・大気圧)は0x76といった具合です。 このADXL345とBME280を同時にRaspberry PI2に接続する方法は、図の通り。 Raspberry PI2にあるGND、VDDはどれを使っても構いません。後は、 string aqs = I2cDevice.GetDeviceSelector(“I2C1”);var dis = await DeviceInformation.FindAllAsync(aqs);var settings = new I2cConnectionSettings(I2C_ADDR);settings.BusSpeed = I2cBusSpeed.FastMode;var sensor = await I2cDevice.FromIdAsync(dis[0].Id, settings);  の3行目の、I2C_ADDRに使いたいセンサーのアドレスをセットすれば、センサー計測値を取得するための、I2cDeviceを取り出せます。データの読み取り方法は、メーカーから公開されている、データシートを参考にしてくださいね。

0