最近Digisparkで遊ぶのにはまってます。 DigiUSBの使い方の導入として、温度をLM61で計測し、データを読んでみたのでメモ。
用意するもの
- Digispark
- LM61CIZ
- Raspberry-Piとか
Digisparkに書き込む
ArduinoでDigisparkの開発環境をセットアップする方法はこちら
これ↓をDigisparkに書き込む:
Digispark LM61CIZ Temperature Sensor
- P2を使ってanalogRead
- DigiUSBを利用してjsonデータを出力
動作確認
作った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権限は不要。