心の旅 blog

心だけでも旅に出れる

Raspberry Piで光センサーのデータを取得してみた

前回はセットアップまでで終わったので、今回はいよいよ光センサーでデータを取得してみよう

とりあえず回路キットを購入

Amazonでキットが売っていたのでそれを購入してみた。
秋葉原いけば、単品で買えるんだろうけど、アマゾンでダイオードだけ買おうと思っても、1個だけ買うとかできないから、
キット買うとちょうどいいかもしれない。余計なものも入っているが、、

とりあえず回路を組んで見る

使用するのは、

  • ブレットボード
  • フォトレジスタ
  • 抵抗10KΩ
  • ジャンパーワイヤ オスメス
  • ジャンパーワイヤ オスオス
  • A/Dコンバーター:MCP3002

  • 見にくいけど以下みたいな感じ f:id:nyokonyoko999:20151109224139j:plain

  • 上記をつなぎ終わったら今度はデータを取得してみる

Node.jsを使ってデータを取得してみよう!

  • まずはapt-getコマンドでnode.jsとnpmをインストールしようー
  • それでnpmで「pi-spi」というモジュールをインストール
  • pi-spiを使用して、データを取得する

  • 以下みたいにやった

$ sudo apt-get install nodejs npm
$ cd ~
$ mkdir -pv workspace/nodejs
$ cd workspace/nodejs
$ npm install pi-spi
$ vim get-data.js
  • センサーからデータ取得するコード
var SPI = require('pi-spi');

var spi = SPI.initialize("/dev/spidev0.0"),
    MCP3002 = Buffer([0x68, 0]);

setInterval(function() {
  spi.transfer(MCP3002, MCP3002.length, function (e,d) {
    if (e) console.error(e);

    else {
      var v = ((d[0]<<8) + d[1]) & 0x03FF
      console.log(v, "Got \""+v.toString()+"\" back.");
    }
  });
}, 5000);