かんたんUSB温度計 ライブラリ関数リファレンス

2011/04/27

1.概要

ASOOVU USBの拡張ボード「かんたんUSB温度計キット」には、この拡張ボードを簡単に使うためのライブラリ関数が用意されています。

この文書はそのライブラリを使うためのリファレンスマニュアルです。

2.ライブラリの使い方

ライブラリは次の二つのファイルで構成されています。

「asv_tmp.c」「asv_tmp.h」

asv_tmp.cにはライブラリの実体が、asv_tmp.hにはプロトタイプ宣言が入っています。

このライブラリ関数を使うときには、この2つのファイルをプロジェクトにいれ、asv_tmp.hをインクルードします。

こちらのサンプルプログラムなどを参考にしてください。

3.ライブラリ関数リファレンス

3.1 void asv_tmp_init(void)

かんたんUSB温度計キットを使うための初期化を行う関数です。

プログラムの最初で、この関数を一回だけ呼び出してください。

具体的には、入出力の初期化、ADコンバータの初期化、内臓プルアップの使用定義を行っています。

3.2 void asv_tmp_set_led(unsigned char)

かんたんUSB温度計キットに実装されているLEDを点灯/消灯する関数です。

引数

unsigned char

0:LEDを消灯する

1:LEDを点灯する

(例)

asv_tmp_set_led(1);

でLED点灯

asv_tmp_set_led(0);

でLED消灯となります。

3.3 void asv_tmp_set_7seg_num(unsigned char)

かんたんUSB温度計キットに実装されている7セグメントLEDに数字を表示する関数です。

引数

unsigned char

0~99:7セグメントLEDに指定された値を表示

100:7セグメントLEDを消灯する

(例)

asv_tmp_set_7seg_num(18);

7セグメントLEDに18を表示。

3.4 unsigned char asv_tmp_get_SW(void)

かんたんUSB温度計キットに実装されているスイッチの状態を読み出します。

返り値

unsigned char

0:スイッチが押されている

1:スイッチは押されていない

 (例)

if(asv_tmp_get_SW() == 0)

        asv_tmp_set_led(1);

else

        asv_tmp_set_led(0);

スイッチが押されたらLEDを点灯させ、押されていなければ消灯する。

3.5 viod asv_tmp_disp7seg(void)

かんたんUSB温度計キットの7セグメントLEDを点灯させるための関数。

かんたんUSB温度計キットの7セグメントLEDはダイナミック点灯により点灯させているため、この関数を一定の周期(1ms)で呼ぶ必要がある。

メインループ内でウェイトを用いて周期を調整し呼び出すか、割り込みを用いて呼び出す。

詳しくはサンプルプログラムを参照ください。

3.5.1 7セグメントLEDのダイナミック点灯とは

7セグメントLEDはドットを含めると8つの表示箇所がある。

かんたんUSB温度計キットは2つの7セグメントLEDを載せているので、そのまま接続すると16本の出力ピンを使うことになってしまう。

これを、ダイナミック点灯といわれる方法を用いることで、7セグメントLEDの表示8本+7セグメントLEDのセレクタ2本の合計10本の出力ピンで表示することが出来るようになる。

具体的には以下の手順を行っている。

と言うことを繰り返し行う。切り替えが瞬時に行われるため、人間の目にはチラツキ無く表示出来ているように見える。

また、5ms点灯、の時間を短くすることで明るさを調整することが出来る。(3msの間点灯、3ms消灯など)

3.6 void asv_tmp_7seg_brightness(unsigned char)

かんたんUSB温度計キットの7セグメントLEDの明るさを変更する。

先に説明した、ダイナミック点灯の表示時間を変更することで明るさを変更している。

引数

unsigned char

0~3:明るさを変更する。

   値が小さいほど明るくなる。

3.7 unsigned char asv_tmp_get_temperature(void)

かんたんUSB温度計キットで計測された温度を摂氏に換算して取得します。

返り値

unsigned char

0~99:計測された温度です。(摂氏)

(例)

if(asv_tmp_get_temperature() > 30)

        asv_tmp_set_led(1);

else

        asv_tmp_set_led(0);

計測された温度が30度を越えたらLEDを点灯させる。

3.8 unsinged int asv_get_analog(unsigned char)

かんたんUSB温度計キットに実装されている、温度センサ/ボリュームのアナログ値をそのまま取り出す。

引数

unsigned char

0:温度センサの値

1:ボリュームの値

返り値

unsigned int

0~1023:指定されたチャンネルのアナログ値