memoメモ

最近はGo言語関連で。φ(..)メモメモ

DigisparkとLM61で温度を測る

最近Digisparkで遊ぶのにはまってます。 DigiUSBの使い方の導入として、温度をLM61で計測し、データを読んでみたのでメモ。

用意するもの

Digisparkに書き込む

ArduinoでDigisparkの開発環境をセットアップする方法はこちら

これ↓をDigisparkに書き込む:

Digispark LM61CIZ Temperature Sensor

  • P2を使ってanalogRead
  • DigiUSBを利用してjsonデータを出力

f:id:atotto:20161219121924j:plain

動作確認

作ったDigisparkをUSBで指し、データを読めるか確認してみます。 DigiUSBはrubyのライブラリが配布されていたりするようで、取扱が簡単な様子。

今回はRaspberry-Piでpythonを使って読み込んでみました。

https://github.com/digistump/DigisparkExamplePrograms にサンプルがあるのでそれを使ってみます。

$ sudo pip install pyusb
$ git clone https://github.com/digistump/DigisparkExamplePrograms.git --depth 1
$ cd DigisparkExamplePrograms/Python/DigiUSB/source
$ sudo python receive.py | jq .
{
  "temp": 23.98
}

うごいたー

Raspberry Piはアナログデータを直接読めないので200円で機能拡張できると思うと安いですね!

Tips

もしroot権限なしで使えるようにする場合はudevルールを追加しておきます。

/etc/udev/rules.d/49-micronucleus.rules を書いているのであればそこに追記。

SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", MODE:="0666"
$ sudo udevadm control --reload-rules

で、次回USBを指したときからroot権限は不要。

参考