&ref(temp1.jpg,zoom,250x200);
&ref(temp2.jpg,zoom,250x200);

*概要 [#m164d184]
キーボードとして認識される、ちょっと変わった USB 温度計です。
PC の USB 端子に接続して、別のキーボードの COLOR(RED){ScrollLock キーを4連打}すると、現在の温度が文字として入力されます。疑似的にキーボードを押すことで文字を出力していますので、メモ帳や検索欄など、どこにでも入力できます。Digispark 上のマイコン Tiny85 に内蔵された温度センサーを使っています(精度は高くありません)。他に追加部品は不要で、Digispark にファームウェアを書き込むだけで完成します。

*使い方 [#kb2f1c2a]
-Digispark を USB 端子に挿しこみ、文字が入力できるところにカーソルを合わせて、キーボードの COLOR(RED){ScrollLock キーを,1秒以内に4回}押してください。現在の温度が表示されます。
-Digispark 上の LED は ScrollLock の状態に連動して点滅します。
-ScrollLock ランプがついたままの状態にすると、1分間に1回温度が表示され続けます。

*作り方 [#q75a266f]
**書き込みツールの準備 [#o06091de]
Digispark にファームウェア(HEXファイル)を書き込むツールを準備してください。

-RaspberryPi, Linux, FreeBSD の場合: [[Digispark+gcc Lチカチュートリアル(RaspberryPi, Linux, FreeBSD 版):http://milkandlait.blogspot.jp/2017/08/digisparkgcc-lfreebsd.html]] を参考に、書き込みツール micronucleus を作成して下さい。
 # micronucleus --run ファイル名.hex
で書き込めます。

-Windows の場合: [[DigiSpark に対応した Arduino の統合開発環境:https://sourceforge.net/projects/digistump/files/DigisparkArduino-Win32-1.0.4-May19.zip/download]] に含まれる micronucleus.exe を使えば、上と同じ手順で Windows PC からも書き込めます。

**温度センサーの校正 [#f605d7d5]
今回使った Tiny85 に内蔵された温度センサーは、チップごとのばらつきが非常に大きいため、はじめに校正する必要があります。COLOR(RED){別途、現在の室温がわかる温度計を用意してください}。
+校正用ファームウェアの書き込み~
ZIP ファイル中の temp-cal.hex を Digispark に書き込みます。
 # micronucleus --run temp-cal.hex
+温度センサー値の確認~
Digispark を USB コネクタに挿しこむと、キーボードとして認識されて、5秒ごとに温度センサーの値が出力されます。メモ帳などに入力して値を確認します。
+COLOR(RED){3分以上待機する(重要)}~
センサーの値が安定するまで 3分~5分間程度かかります。必ず安定してから読み取ってください。
+使うファームウェアの決定~
COLOR(RED){センサーの値から現在の室温 を引き算します}。その値のラベルの付いたファームウェアを使うと、自動的に校正されます。~
(例) センサーの値が 310 で現在の室温が26℃の場合は、310-26=284 なので、temp-284.hex を使います。小数になった場合は四捨五入してください。

**ファームウェアの書き込み [#kb4c588b]
上記の手順で選んだファームウェアを書き込めば完成です。
 # micronucleus --run temp-284.hex

*ダウンロード [#n3dd64cc]
&ref(Digispark-temp-1.0.zip);
-校正用ツール、構成済みファームウェアのソースとバイナリを含みます。
-Digispark に書き込むファームウェアです。
-校正用ツール/構成済みファームウェアのソースとバイナリを含みます。
-Digispark をキーボードとして認識させるファームウェアと、ScrollLock 状態の読み取りには [[Code and Life-USB HID keyboard with V-USB:http://codeandlife.com/2012/06/18/usb-hid-keyboard-with-v-usb/]] のコードを使わせていただいています。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS